From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 760CA45004 for ; Sat, 18 Nov 2023 02:06:57 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8B54468CD16; Sat, 18 Nov 2023 04:06:53 +0200 (EET) Received: from smtp-my3-01p11.yunyou.top (unknown [60.247.169.11]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2294568C96C for ; Sat, 18 Nov 2023 04:06:44 +0200 (EET) Received: from [192.168.15.105] (unknown [122.233.146.151]) by smtp-my-01.yunyou.top (WestCloudMail) with ESMTPA id 2FCF1141F27; Sat, 18 Nov 2023 10:06:38 +0800 (CST) Content-Type: multipart/mixed; boundary="------------urMId0wnmWC3ndeI00yfwEqk" Message-ID: <01e3c77f-56a3-4191-9637-df9999df694c@myais.com.cn> Date: Sat, 18 Nov 2023 10:06:37 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: "Logan.Lyu" To: ffmpeg-devel@ffmpeg.org Organization: myais Subject: [FFmpeg-devel] [PATCH 1/6] lavc/aarch64: new optimization for 8-bit hevc_pel_bi_pixels X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: jdek@itanimul.li Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: This is a multi-part message in MIME format. --------------urMId0wnmWC3ndeI00yfwEqk Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit put_hevc_pel_bi_pixels4_8_c: 54.7 put_hevc_pel_bi_pixels4_8_neon: 43.0 put_hevc_pel_bi_pixels6_8_c: 94.7 put_hevc_pel_bi_pixels6_8_neon: 37.0 put_hevc_pel_bi_pixels8_8_c: 171.0 put_hevc_pel_bi_pixels8_8_neon: 24.0 put_hevc_pel_bi_pixels12_8_c: 354.0 put_hevc_pel_bi_pixels12_8_neon: 68.7 put_hevc_pel_bi_pixels16_8_c: 588.2 put_hevc_pel_bi_pixels16_8_neon: 77.5 put_hevc_pel_bi_pixels24_8_c: 1670.7 put_hevc_pel_bi_pixels24_8_neon: 173.0 put_hevc_pel_bi_pixels32_8_c: 2267.7 put_hevc_pel_bi_pixels32_8_neon: 281.2 put_hevc_pel_bi_pixels48_8_c: 5787.5 put_hevc_pel_bi_pixels48_8_neon: 673.5 put_hevc_pel_bi_pixels64_8_c: 9897.0 put_hevc_pel_bi_pixels64_8_neon: 1159.5 Co-Authored-By: J. Dekker Signed-off-by: Logan Lyu --- libavcodec/aarch64/hevcdsp_epel_neon.S | 179 ++++++++++++++++++++++ libavcodec/aarch64/hevcdsp_init_aarch64.c | 10 +- 2 files changed, 187 insertions(+), 2 deletions(-) diff --git a/libavcodec/aarch64/hevcdsp_epel_neon.S b/libavcodec/aarch64/hevcdsp_epel_neon.S index 708b903b00..74165273d7 100644 --- a/libavcodec/aarch64/hevcdsp_epel_neon.S +++ b/libavcodec/aarch64/hevcdsp_epel_neon.S @@ -244,6 +244,185 @@ function ff_hevc_put_hevc_pel_pixels64_8_neon, export=1 endfunc +function ff_hevc_put_hevc_pel_bi_pixels4_8_neon, export=1 + mov x10, #(MAX_PB_SIZE * 2) +1: ld1 {v0.s}[0], [x2], x3 // src + ushll v16.8h, v0.8b, #6 + ld1 {v20.4h}, [x4], x10 // src2 + sqadd v16.8h, v16.8h, v20.8h + sqrshrun v0.8b, v16.8h, #7 + st1 {v0.s}[0], [x0], x1 + subs w5, w5, #1 + b.ne 1b + ret +endfunc + +function ff_hevc_put_hevc_pel_bi_pixels6_8_neon, export=1 + mov x10, #(MAX_PB_SIZE * 2) + sub x1, x1, #4 +1: ld1 {v0.8b}, [x2], x3 + ushll v16.8h, v0.8b, #6 + ld1 {v20.8h}, [x4], x10 + sqadd v16.8h, v16.8h, v20.8h + sqrshrun v0.8b, v16.8h, #7 + st1 {v0.s}[0], [x0], #4 + st1 {v0.h}[2], [x0], x1 + subs w5, w5, #1 + b.ne 1b + ret +endfunc + +function ff_hevc_put_hevc_pel_bi_pixels8_8_neon, export=1 + mov x10, #(MAX_PB_SIZE * 2) +1: ld1 {v0.8b}, [x2], x3 // src + ushll v16.8h, v0.8b, #6 + ld1 {v20.8h}, [x4], x10 // src2 + sqadd v16.8h, v16.8h, v20.8h + sqrshrun v0.8b, v16.8h, #7 + subs w5, w5, #1 + st1 {v0.8b}, [x0], x1 + b.ne 1b + ret +endfunc + +function ff_hevc_put_hevc_pel_bi_pixels12_8_neon, export=1 + mov x10, #(MAX_PB_SIZE * 2) + sub x1, x1, #8 +1: ld1 {v0.16b}, [x2], x3 + ushll v16.8h, v0.8b, #6 + ushll2 v17.8h, v0.16b, #6 + ld1 {v20.8h, v21.8h}, [x4], x10 + sqadd v16.8h, v16.8h, v20.8h + sqadd v17.8h, v17.8h, v21.8h + sqrshrun v0.8b, v16.8h, #7 + sqrshrun2 v0.16b, v17.8h, #7 + st1 {v0.8b}, [x0], #8 + subs w5, w5, #1 + st1 {v0.s}[2], [x0], x1 + b.ne 1b + ret +endfunc + +function ff_hevc_put_hevc_pel_bi_pixels16_8_neon, export=1 + mov x10, #(MAX_PB_SIZE * 2) +1: ld1 {v0.16b}, [x2], x3 // src + ushll v16.8h, v0.8b, #6 + ushll2 v17.8h, v0.16b, #6 + ld1 {v20.8h, v21.8h}, [x4], x10 // src2 + sqadd v16.8h, v16.8h, v20.8h + sqadd v17.8h, v17.8h, v21.8h + sqrshrun v0.8b, v16.8h, #7 + sqrshrun2 v0.16b, v17.8h, #7 + subs w5, w5, #1 + st1 {v0.16b}, [x0], x1 + b.ne 1b + ret +endfunc + +function ff_hevc_put_hevc_pel_bi_pixels24_8_neon, export=1 + mov x10, #(MAX_PB_SIZE * 2) +1: ld1 {v0.8b-v2.8b}, [x2], x3 // src + ushll v16.8h, v0.8b, #6 + ushll v17.8h, v1.8b, #6 + ushll v18.8h, v2.8b, #6 + ld1 {v20.8h-v22.8h}, [x4], x10 // src2 + sqadd v16.8h, v16.8h, v20.8h + sqadd v17.8h, v17.8h, v21.8h + sqadd v18.8h, v18.8h, v22.8h + sqrshrun v0.8b, v16.8h, #7 + sqrshrun v1.8b, v17.8h, #7 + sqrshrun v2.8b, v18.8h, #7 + subs w5, w5, #1 + st1 {v0.8b-v2.8b}, [x0], x1 + b.ne 1b + ret +endfunc + +function ff_hevc_put_hevc_pel_bi_pixels32_8_neon, export=1 + mov x10, #(MAX_PB_SIZE * 2) +1: ld1 {v0.16b-v1.16b}, [x2], x3 // src + ushll v16.8h, v0.8b, #6 + ushll2 v17.8h, v0.16b, #6 + ushll v18.8h, v1.8b, #6 + ushll2 v19.8h, v1.16b, #6 + ld1 {v20.8h-v23.8h}, [x4], x10 // src2 + sqadd v16.8h, v16.8h, v20.8h + sqadd v17.8h, v17.8h, v21.8h + sqadd v18.8h, v18.8h, v22.8h + sqadd v19.8h, v19.8h, v23.8h + sqrshrun v0.8b, v16.8h, #7 + sqrshrun2 v0.16b, v17.8h, #7 + sqrshrun v1.8b, v18.8h, #7 + sqrshrun2 v1.16b, v19.8h, #7 + st1 {v0.16b-v1.16b}, [x0], x1 + subs w5, w5, #1 + b.ne 1b + ret +endfunc + +function ff_hevc_put_hevc_pel_bi_pixels48_8_neon, export=1 + mov x10, #(MAX_PB_SIZE) +1: ld1 {v0.16b-v2.16b}, [x2], x3 // src + ushll v16.8h, v0.8b, #6 + ushll2 v17.8h, v0.16b, #6 + ushll v18.8h, v1.8b, #6 + ushll2 v19.8h, v1.16b, #6 + ushll v20.8h, v2.8b, #6 + ushll2 v21.8h, v2.16b, #6 + ld1 {v24.8h-v27.8h}, [x4], #(MAX_PB_SIZE) // src2 + sqadd v16.8h, v16.8h, v24.8h + sqadd v17.8h, v17.8h, v25.8h + sqadd v18.8h, v18.8h, v26.8h + sqadd v19.8h, v19.8h, v27.8h + ld1 {v24.8h-v25.8h}, [x4], x10 + sqadd v20.8h, v20.8h, v24.8h + sqadd v21.8h, v21.8h, v25.8h + sqrshrun v0.8b, v16.8h, #7 + sqrshrun2 v0.16b, v17.8h, #7 + sqrshrun v1.8b, v18.8h, #7 + sqrshrun2 v1.16b, v19.8h, #7 + sqrshrun v2.8b, v20.8h, #7 + sqrshrun2 v2.16b, v21.8h, #7 + subs w5, w5, #1 + st1 {v0.16b-v2.16b}, [x0], x1 + b.ne 1b + ret +endfunc + +function ff_hevc_put_hevc_pel_bi_pixels64_8_neon, export=1 +1: ld1 {v0.16b, v1.16b, v2.16b, v3.16b}, [x2], x3 // src + ushll v16.8h, v0.8b, #6 + ushll2 v17.8h, v0.16b, #6 + ushll v18.8h, v1.8b, #6 + ushll2 v19.8h, v1.16b, #6 + ushll v20.8h, v2.8b, #6 + ushll2 v21.8h, v2.16b, #6 + ushll v22.8h, v3.8b, #6 + ushll2 v23.8h, v3.16b, #6 + ld1 {v24.8h, v25.8h, v26.8h, v27.8h}, [x4], #(MAX_PB_SIZE) // src2 + sqadd v16.8h, v16.8h, v24.8h + sqadd v17.8h, v17.8h, v25.8h + sqadd v18.8h, v18.8h, v26.8h + sqadd v19.8h, v19.8h, v27.8h + ld1 {v24.8h, v25.8h, v26.8h, v27.8h}, [x4], #(MAX_PB_SIZE) + sqadd v20.8h, v20.8h, v24.8h + sqadd v21.8h, v21.8h, v25.8h + sqadd v22.8h, v22.8h, v26.8h + sqadd v23.8h, v23.8h, v27.8h + sqrshrun v0.8b, v16.8h, #7 + sqrshrun2 v0.16b, v17.8h, #7 + sqrshrun v1.8b, v18.8h, #7 + sqrshrun2 v1.16b, v19.8h, #7 + sqrshrun v2.8b, v20.8h, #7 + sqrshrun2 v2.16b, v21.8h, #7 + sqrshrun v3.8b, v22.8h, #7 + sqrshrun2 v3.16b, v23.8h, #7 + st1 {v0.16b, v1.16b, v2.16b, v3.16b}, [x0], x1 + subs w5, w5, #1 + b.ne 1b + ret +endfunc + function ff_hevc_put_hevc_epel_v4_8_neon, export=1 load_epel_filterb x5, x4 sub x1, x1, x2 diff --git a/libavcodec/aarch64/hevcdsp_init_aarch64.c b/libavcodec/aarch64/hevcdsp_init_aarch64.c index c51488275c..cf171023e7 100644 --- a/libavcodec/aarch64/hevcdsp_init_aarch64.c +++ b/libavcodec/aarch64/hevcdsp_init_aarch64.c @@ -156,8 +156,12 @@ NEON8_FNPROTO(pel_pixels, (int16_t *dst, const uint8_t *src, ptrdiff_t srcstride, int height, intptr_t mx, intptr_t my, int width),); -NEON8_FNPROTO(epel_v, (int16_t *dst, - const uint8_t *src, ptrdiff_t srcstride, +NEON8_FNPROTO(pel_bi_pixels, (uint8_t *dst, ptrdiff_t dststride, + const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, + int height, intptr_t mx, intptr_t my, int width),); + +NEON8_FNPROTO(epel_v, (uint8_t *dst, ptrdiff_t dststride, + const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t mx, intptr_t my, int width),); NEON8_FNPROTO(pel_uni_pixels, (uint8_t *_dst, ptrdiff_t _dststride, @@ -324,6 +328,8 @@ av_cold void ff_hevc_dsp_init_aarch64(HEVCDSPContext *c, const int bit_depth) NEON8_FNASSIGN(c->put_hevc_epel, 1, 0, epel_v,); NEON8_FNASSIGN(c->put_hevc_qpel, 0, 0, pel_pixels,); NEON8_FNASSIGN(c->put_hevc_qpel, 1, 0, qpel_v,); + NEON8_FNASSIGN(c->put_hevc_epel_bi, 0, 0, pel_bi_pixels,); + NEON8_FNASSIGN(c->put_hevc_qpel_bi, 0, 0, pel_bi_pixels,); NEON8_FNASSIGN(c->put_hevc_epel_uni, 0, 0, pel_uni_pixels,); NEON8_FNASSIGN(c->put_hevc_epel_uni, 1, 0, epel_uni_v,); NEON8_FNASSIGN(c->put_hevc_qpel_uni, 0, 0, pel_uni_pixels,); -- 2.38.0.windows.1 --------------urMId0wnmWC3ndeI00yfwEqk Content-Type: text/plain; charset=UTF-8; name="0001-lavc-aarch64-new-optimization-for-8-bit-hevc_pel_bi_pixels.patch" Content-Disposition: attachment; filename*0="0001-lavc-aarch64-new-optimization-for-8-bit-hevc_pel_bi_pix"; filename*1="els.patch" Content-Transfer-Encoding: base64 RnJvbSBmOTE0MDliMWUzNWQ5NTViNjM5MTYwOTQyNzY1NDU1Y2Q2YzQ5YWIzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBMb2dhbiBMeXUgPExvZ2FuLkx5dUBteWFpcy5jb20u Y24+CkRhdGU6IFN1biwgNSBOb3YgMjAyMyAxNjozMzoxNyArMDgwMApTdWJqZWN0OiBbUEFU Q0ggMS82XSBsYXZjL2FhcmNoNjQ6IG5ldyBvcHRpbWl6YXRpb24gZm9yIDgtYml0CiBoZXZj X3BlbF9iaV9waXhlbHMKCnB1dF9oZXZjX3BlbF9iaV9waXhlbHM0XzhfYzogNTQuNwpwdXRf aGV2Y19wZWxfYmlfcGl4ZWxzNF84X25lb246IDQzLjAKcHV0X2hldmNfcGVsX2JpX3BpeGVs czZfOF9jOiA5NC43CnB1dF9oZXZjX3BlbF9iaV9waXhlbHM2XzhfbmVvbjogMzcuMApwdXRf aGV2Y19wZWxfYmlfcGl4ZWxzOF84X2M6IDE3MS4wCnB1dF9oZXZjX3BlbF9iaV9waXhlbHM4 XzhfbmVvbjogMjQuMApwdXRfaGV2Y19wZWxfYmlfcGl4ZWxzMTJfOF9jOiAzNTQuMApwdXRf aGV2Y19wZWxfYmlfcGl4ZWxzMTJfOF9uZW9uOiA2OC43CnB1dF9oZXZjX3BlbF9iaV9waXhl bHMxNl84X2M6IDU4OC4yCnB1dF9oZXZjX3BlbF9iaV9waXhlbHMxNl84X25lb246IDc3LjUK cHV0X2hldmNfcGVsX2JpX3BpeGVsczI0XzhfYzogMTY3MC43CnB1dF9oZXZjX3BlbF9iaV9w aXhlbHMyNF84X25lb246IDE3My4wCnB1dF9oZXZjX3BlbF9iaV9waXhlbHMzMl84X2M6IDIy NjcuNwpwdXRfaGV2Y19wZWxfYmlfcGl4ZWxzMzJfOF9uZW9uOiAyODEuMgpwdXRfaGV2Y19w ZWxfYmlfcGl4ZWxzNDhfOF9jOiA1Nzg3LjUKcHV0X2hldmNfcGVsX2JpX3BpeGVsczQ4Xzhf bmVvbjogNjczLjUKcHV0X2hldmNfcGVsX2JpX3BpeGVsczY0XzhfYzogOTg5Ny4wCnB1dF9o ZXZjX3BlbF9iaV9waXhlbHM2NF84X25lb246IDExNTkuNQoKQ28tQXV0aG9yZWQtQnk6IEou IERla2tlciA8amRla0BpdGFuaW11bC5saT4KLS0tCiBsaWJhdmNvZGVjL2FhcmNoNjQvaGV2 Y2RzcF9lcGVsX25lb24uUyAgICB8IDE3OSArKysrKysrKysrKysrKysrKysrKysrCiBsaWJh dmNvZGVjL2FhcmNoNjQvaGV2Y2RzcF9pbml0X2FhcmNoNjQuYyB8ICAxMCArLQogMiBmaWxl cyBjaGFuZ2VkLCAxODcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9saWJhdmNvZGVjL2FhcmNoNjQvaGV2Y2RzcF9lcGVsX25lb24uUyBiL2xpYmF2Y29k ZWMvYWFyY2g2NC9oZXZjZHNwX2VwZWxfbmVvbi5TCmluZGV4IDcwOGI5MDNiMDAuLjc0MTY1 MjczZDcgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvYWFyY2g2NC9oZXZjZHNwX2VwZWxfbmVv bi5TCisrKyBiL2xpYmF2Y29kZWMvYWFyY2g2NC9oZXZjZHNwX2VwZWxfbmVvbi5TCkBAIC0y NDQsNiArMjQ0LDE4NSBAQCBmdW5jdGlvbiBmZl9oZXZjX3B1dF9oZXZjX3BlbF9waXhlbHM2 NF84X25lb24sIGV4cG9ydD0xCiBlbmRmdW5jCiAKIAorZnVuY3Rpb24gZmZfaGV2Y19wdXRf aGV2Y19wZWxfYmlfcGl4ZWxzNF84X25lb24sIGV4cG9ydD0xCisgICAgICAgIG1vdiAgICAg ICAgICAgICB4MTAsICMoTUFYX1BCX1NJWkUgKiAyKQorMTogICAgICBsZDEgICAgICAgICAg ICAge3YwLnN9WzBdLCBbeDJdLCB4MyAvLyBzcmMKKyAgICAgICAgdXNobGwgICAgICAgICAg IHYxNi44aCwgdjAuOGIsICM2CisgICAgICAgIGxkMSAgICAgICAgICAgICB7djIwLjRofSwg W3g0XSwgeDEwIC8vIHNyYzIKKyAgICAgICAgc3FhZGQgICAgICAgICAgIHYxNi44aCwgdjE2 LjhoLCB2MjAuOGgKKyAgICAgICAgc3Fyc2hydW4gICAgICAgIHYwLjhiLCAgdjE2LjhoLCAj NworICAgICAgICBzdDEgICAgICAgICAgICAge3YwLnN9WzBdLCBbeDBdLCB4MQorICAgICAg ICBzdWJzICAgICAgICAgICAgdzUsIHc1LCAjMQorICAgICAgICBiLm5lICAgICAgICAgICAg MWIKKyAgICAgICAgcmV0CitlbmRmdW5jCisKK2Z1bmN0aW9uIGZmX2hldmNfcHV0X2hldmNf cGVsX2JpX3BpeGVsczZfOF9uZW9uLCBleHBvcnQ9MQorICAgICAgICBtb3YgICAgICAgICAg ICAgeDEwLCAjKE1BWF9QQl9TSVpFICogMikKKyAgICAgICAgc3ViICAgICAgICAgICAgIHgx LCB4MSwgIzQKKzE6ICAgICAgbGQxICAgICAgICAgICAgIHt2MC44Yn0sIFt4Ml0sIHgzCisg ICAgICAgIHVzaGxsICAgICAgICAgICB2MTYuOGgsIHYwLjhiLCAjNgorICAgICAgICBsZDEg ICAgICAgICAgICAge3YyMC44aH0sIFt4NF0sIHgxMAorICAgICAgICBzcWFkZCAgICAgICAg ICAgdjE2LjhoLCB2MTYuOGgsIHYyMC44aAorICAgICAgICBzcXJzaHJ1biAgICAgICAgdjAu OGIsICB2MTYuOGgsICM3CisgICAgICAgIHN0MSAgICAgICAgICAgICB7djAuc31bMF0sIFt4 MF0sICM0CisgICAgICAgIHN0MSAgICAgICAgICAgICB7djAuaH1bMl0sIFt4MF0sIHgxCisg ICAgICAgIHN1YnMgICAgICAgICAgICB3NSwgdzUsICMxCisgICAgICAgIGIubmUgICAgICAg ICAgICAxYgorICAgICAgICByZXQKK2VuZGZ1bmMKKworZnVuY3Rpb24gZmZfaGV2Y19wdXRf aGV2Y19wZWxfYmlfcGl4ZWxzOF84X25lb24sIGV4cG9ydD0xCisgICAgICAgIG1vdiAgICAg ICAgICAgICB4MTAsICMoTUFYX1BCX1NJWkUgKiAyKQorMTogICAgICBsZDEgICAgICAgICAg ICAge3YwLjhifSwgW3gyXSwgeDMgICAgLy8gc3JjCisgICAgICAgIHVzaGxsICAgICAgICAg ICB2MTYuOGgsIHYwLjhiLCAjNgorICAgICAgICBsZDEgICAgICAgICAgICAge3YyMC44aH0s IFt4NF0sIHgxMCAgLy8gc3JjMgorICAgICAgICBzcWFkZCAgICAgICAgICAgdjE2LjhoLCB2 MTYuOGgsIHYyMC44aAorICAgICAgICBzcXJzaHJ1biAgICAgICAgdjAuOGIsICB2MTYuOGgs ICM3CisgICAgICAgIHN1YnMgICAgICAgICAgICB3NSwgdzUsICMxCisgICAgICAgIHN0MSAg ICAgICAgICAgICB7djAuOGJ9LCBbeDBdLCB4MQorICAgICAgICBiLm5lICAgICAgICAgICAg MWIKKyAgICAgICAgcmV0CitlbmRmdW5jCisKK2Z1bmN0aW9uIGZmX2hldmNfcHV0X2hldmNf cGVsX2JpX3BpeGVsczEyXzhfbmVvbiwgZXhwb3J0PTEKKyAgICAgICAgbW92ICAgICAgICAg ICAgIHgxMCwgIyhNQVhfUEJfU0laRSAqIDIpCisgICAgICAgIHN1YiAgICAgICAgICAgICB4 MSwgeDEsICM4CisxOiAgICAgIGxkMSAgICAgICAgICAgICB7djAuMTZifSwgW3gyXSwgeDMK KyAgICAgICAgdXNobGwgICAgICAgICAgIHYxNi44aCwgdjAuOGIsICM2CisgICAgICAgIHVz aGxsMiAgICAgICAgICB2MTcuOGgsIHYwLjE2YiwgIzYKKyAgICAgICAgbGQxICAgICAgICAg ICAgIHt2MjAuOGgsIHYyMS44aH0sIFt4NF0sIHgxMAorICAgICAgICBzcWFkZCAgICAgICAg ICAgdjE2LjhoLCB2MTYuOGgsIHYyMC44aAorICAgICAgICBzcWFkZCAgICAgICAgICAgdjE3 LjhoLCB2MTcuOGgsIHYyMS44aAorICAgICAgICBzcXJzaHJ1biAgICAgICAgdjAuOGIsICB2 MTYuOGgsICM3CisgICAgICAgIHNxcnNocnVuMiAgICAgICB2MC4xNmIsIHYxNy44aCwgIzcK KyAgICAgICAgc3QxICAgICAgICAgICAgIHt2MC44Yn0sIFt4MF0sICM4CisgICAgICAgIHN1 YnMgICAgICAgICAgICB3NSwgdzUsICMxCisgICAgICAgIHN0MSAgICAgICAgICAgICB7djAu c31bMl0sIFt4MF0sIHgxCisgICAgICAgIGIubmUgICAgICAgICAgICAxYgorICAgICAgICBy ZXQKK2VuZGZ1bmMKKworZnVuY3Rpb24gZmZfaGV2Y19wdXRfaGV2Y19wZWxfYmlfcGl4ZWxz MTZfOF9uZW9uLCBleHBvcnQ9MQorICAgICAgICBtb3YgICAgICAgICAgICAgeDEwLCAjKE1B WF9QQl9TSVpFICogMikKKzE6ICAgICAgbGQxICAgICAgICAgICAgIHt2MC4xNmJ9LCBbeDJd LCB4MyAvLyBzcmMKKyAgICAgICAgdXNobGwgICAgICAgICAgIHYxNi44aCwgdjAuOGIsICM2 CisgICAgICAgIHVzaGxsMiAgICAgICAgICB2MTcuOGgsIHYwLjE2YiwgIzYKKyAgICAgICAg bGQxICAgICAgICAgICAgIHt2MjAuOGgsIHYyMS44aH0sIFt4NF0sIHgxMCAgLy8gc3JjMgor ICAgICAgICBzcWFkZCAgICAgICAgICAgdjE2LjhoLCB2MTYuOGgsIHYyMC44aAorICAgICAg ICBzcWFkZCAgICAgICAgICAgdjE3LjhoLCB2MTcuOGgsIHYyMS44aAorICAgICAgICBzcXJz aHJ1biAgICAgICAgdjAuOGIsICB2MTYuOGgsICM3CisgICAgICAgIHNxcnNocnVuMiAgICAg ICB2MC4xNmIsIHYxNy44aCwgIzcKKyAgICAgICAgc3VicyAgICAgICAgICAgIHc1LCB3NSwg IzEKKyAgICAgICAgc3QxICAgICAgICAgICAgIHt2MC4xNmJ9LCBbeDBdLCB4MQorICAgICAg ICBiLm5lICAgICAgICAgICAgMWIKKyAgICAgICAgcmV0CitlbmRmdW5jCisKK2Z1bmN0aW9u IGZmX2hldmNfcHV0X2hldmNfcGVsX2JpX3BpeGVsczI0XzhfbmVvbiwgZXhwb3J0PTEKKyAg ICAgICAgbW92ICAgICAgICAgICAgIHgxMCwgIyhNQVhfUEJfU0laRSAqIDIpCisxOiAgICAg IGxkMSAgICAgICAgICAgICB7djAuOGItdjIuOGJ9LCBbeDJdLCB4MyAvLyBzcmMKKyAgICAg ICAgdXNobGwgICAgICAgICAgIHYxNi44aCwgdjAuOGIsICM2CisgICAgICAgIHVzaGxsICAg ICAgICAgICB2MTcuOGgsIHYxLjhiLCAjNgorICAgICAgICB1c2hsbCAgICAgICAgICAgdjE4 LjhoLCB2Mi44YiwgIzYKKyAgICAgICAgbGQxICAgICAgICAgICAgIHt2MjAuOGgtdjIyLjho fSwgW3g0XSwgeDEwICAvLyBzcmMyCisgICAgICAgIHNxYWRkICAgICAgICAgICB2MTYuOGgs IHYxNi44aCwgdjIwLjhoCisgICAgICAgIHNxYWRkICAgICAgICAgICB2MTcuOGgsIHYxNy44 aCwgdjIxLjhoCisgICAgICAgIHNxYWRkICAgICAgICAgICB2MTguOGgsIHYxOC44aCwgdjIy LjhoCisgICAgICAgIHNxcnNocnVuICAgICAgICB2MC44YiwgdjE2LjhoLCAjNworICAgICAg ICBzcXJzaHJ1biAgICAgICAgdjEuOGIsIHYxNy44aCwgIzcKKyAgICAgICAgc3Fyc2hydW4g ICAgICAgIHYyLjhiLCB2MTguOGgsICM3CisgICAgICAgIHN1YnMgICAgICAgICAgICB3NSwg dzUsICMxCisgICAgICAgIHN0MSAgICAgICAgICAgICB7djAuOGItdjIuOGJ9LCBbeDBdLCB4 MQorICAgICAgICBiLm5lICAgICAgICAgICAgMWIKKyAgICAgICAgcmV0CitlbmRmdW5jCisK K2Z1bmN0aW9uIGZmX2hldmNfcHV0X2hldmNfcGVsX2JpX3BpeGVsczMyXzhfbmVvbiwgZXhw b3J0PTEKKyAgICAgICAgbW92ICAgICAgICAgICAgIHgxMCwgIyhNQVhfUEJfU0laRSAqIDIp CisxOiAgICAgIGxkMSAgICAgICAgICAgICB7djAuMTZiLXYxLjE2Yn0sIFt4Ml0sIHgzIC8v IHNyYworICAgICAgICB1c2hsbCAgICAgICAgICAgdjE2LjhoLCB2MC44YiwgIzYKKyAgICAg ICAgdXNobGwyICAgICAgICAgIHYxNy44aCwgdjAuMTZiLCAjNgorICAgICAgICB1c2hsbCAg ICAgICAgICAgdjE4LjhoLCB2MS44YiwgIzYKKyAgICAgICAgdXNobGwyICAgICAgICAgIHYx OS44aCwgdjEuMTZiLCAjNgorICAgICAgICBsZDEgICAgICAgICAgICAge3YyMC44aC12MjMu OGh9LCBbeDRdLCB4MTAgIC8vIHNyYzIKKyAgICAgICAgc3FhZGQgICAgICAgICAgIHYxNi44 aCwgdjE2LjhoLCB2MjAuOGgKKyAgICAgICAgc3FhZGQgICAgICAgICAgIHYxNy44aCwgdjE3 LjhoLCB2MjEuOGgKKyAgICAgICAgc3FhZGQgICAgICAgICAgIHYxOC44aCwgdjE4LjhoLCB2 MjIuOGgKKyAgICAgICAgc3FhZGQgICAgICAgICAgIHYxOS44aCwgdjE5LjhoLCB2MjMuOGgK KyAgICAgICAgc3Fyc2hydW4gICAgICAgIHYwLjhiLCAgdjE2LjhoLCAjNworICAgICAgICBz cXJzaHJ1bjIgICAgICAgdjAuMTZiLCB2MTcuOGgsICM3CisgICAgICAgIHNxcnNocnVuICAg ICAgICB2MS44YiwgIHYxOC44aCwgIzcKKyAgICAgICAgc3Fyc2hydW4yICAgICAgIHYxLjE2 YiwgdjE5LjhoLCAjNworICAgICAgICBzdDEgICAgICAgICAgICAge3YwLjE2Yi12MS4xNmJ9 LCBbeDBdLCB4MQorICAgICAgICBzdWJzICAgICAgICAgICAgdzUsIHc1LCAjMQorICAgICAg ICBiLm5lICAgICAgICAgICAgMWIKKyAgICAgICAgcmV0CitlbmRmdW5jCisKK2Z1bmN0aW9u IGZmX2hldmNfcHV0X2hldmNfcGVsX2JpX3BpeGVsczQ4XzhfbmVvbiwgZXhwb3J0PTEKKyAg ICAgICAgbW92ICAgICAgICAgICAgIHgxMCwgIyhNQVhfUEJfU0laRSkKKzE6ICAgICAgbGQx ICAgICAgICAgICAgIHt2MC4xNmItdjIuMTZifSwgW3gyXSwgeDMgLy8gc3JjCisgICAgICAg IHVzaGxsICAgICAgICAgICB2MTYuOGgsIHYwLjhiLCAjNgorICAgICAgICB1c2hsbDIgICAg ICAgICAgdjE3LjhoLCB2MC4xNmIsICM2CisgICAgICAgIHVzaGxsICAgICAgICAgICB2MTgu OGgsIHYxLjhiLCAjNgorICAgICAgICB1c2hsbDIgICAgICAgICAgdjE5LjhoLCB2MS4xNmIs ICM2CisgICAgICAgIHVzaGxsICAgICAgICAgICB2MjAuOGgsIHYyLjhiLCAjNgorICAgICAg ICB1c2hsbDIgICAgICAgICAgdjIxLjhoLCB2Mi4xNmIsICM2CisgICAgICAgIGxkMSAgICAg ICAgICAgICB7djI0LjhoLXYyNy44aH0sIFt4NF0sICMoTUFYX1BCX1NJWkUpIC8vIHNyYzIK KyAgICAgICAgc3FhZGQgICAgICAgICAgIHYxNi44aCwgdjE2LjhoLCB2MjQuOGgKKyAgICAg ICAgc3FhZGQgICAgICAgICAgIHYxNy44aCwgdjE3LjhoLCB2MjUuOGgKKyAgICAgICAgc3Fh ZGQgICAgICAgICAgIHYxOC44aCwgdjE4LjhoLCB2MjYuOGgKKyAgICAgICAgc3FhZGQgICAg ICAgICAgIHYxOS44aCwgdjE5LjhoLCB2MjcuOGgKKyAgICAgICAgbGQxICAgICAgICAgICAg IHt2MjQuOGgtdjI1LjhofSwgW3g0XSwgeDEwCisgICAgICAgIHNxYWRkICAgICAgICAgICB2 MjAuOGgsIHYyMC44aCwgdjI0LjhoCisgICAgICAgIHNxYWRkICAgICAgICAgICB2MjEuOGgs IHYyMS44aCwgdjI1LjhoCisgICAgICAgIHNxcnNocnVuICAgICAgICB2MC44YiwgdjE2Ljho LCAjNworICAgICAgICBzcXJzaHJ1bjIgICAgICAgdjAuMTZiLCB2MTcuOGgsICM3CisgICAg ICAgIHNxcnNocnVuICAgICAgICB2MS44YiwgdjE4LjhoLCAjNworICAgICAgICBzcXJzaHJ1 bjIgICAgICAgdjEuMTZiLCB2MTkuOGgsICM3CisgICAgICAgIHNxcnNocnVuICAgICAgICB2 Mi44YiwgdjIwLjhoLCAjNworICAgICAgICBzcXJzaHJ1bjIgICAgICAgdjIuMTZiLCB2MjEu OGgsICM3CisgICAgICAgIHN1YnMgICAgICAgICAgICB3NSwgdzUsICMxCisgICAgICAgIHN0 MSAgICAgICAgICAgICB7djAuMTZiLXYyLjE2Yn0sIFt4MF0sIHgxCisgICAgICAgIGIubmUg ICAgICAgICAgICAxYgorICAgICAgICByZXQKK2VuZGZ1bmMKKworZnVuY3Rpb24gZmZfaGV2 Y19wdXRfaGV2Y19wZWxfYmlfcGl4ZWxzNjRfOF9uZW9uLCBleHBvcnQ9MQorMTogICAgICBs ZDEgICAgICAgICAgICAge3YwLjE2YiwgdjEuMTZiLCB2Mi4xNmIsIHYzLjE2Yn0sIFt4Ml0s IHgzIC8vIHNyYworICAgICAgICB1c2hsbCAgICAgICAgICAgdjE2LjhoLCB2MC44YiwgIzYK KyAgICAgICAgdXNobGwyICAgICAgICAgIHYxNy44aCwgdjAuMTZiLCAjNgorICAgICAgICB1 c2hsbCAgICAgICAgICAgdjE4LjhoLCB2MS44YiwgIzYKKyAgICAgICAgdXNobGwyICAgICAg ICAgIHYxOS44aCwgdjEuMTZiLCAjNgorICAgICAgICB1c2hsbCAgICAgICAgICAgdjIwLjho LCB2Mi44YiwgIzYKKyAgICAgICAgdXNobGwyICAgICAgICAgIHYyMS44aCwgdjIuMTZiLCAj NgorICAgICAgICB1c2hsbCAgICAgICAgICAgdjIyLjhoLCB2My44YiwgIzYKKyAgICAgICAg dXNobGwyICAgICAgICAgIHYyMy44aCwgdjMuMTZiLCAjNgorICAgICAgICBsZDEgICAgICAg ICAgICAge3YyNC44aCwgdjI1LjhoLCB2MjYuOGgsIHYyNy44aH0sIFt4NF0sICMoTUFYX1BC X1NJWkUpIC8vIHNyYzIKKyAgICAgICAgc3FhZGQgICAgICAgICAgIHYxNi44aCwgdjE2Ljho LCB2MjQuOGgKKyAgICAgICAgc3FhZGQgICAgICAgICAgIHYxNy44aCwgdjE3LjhoLCB2MjUu OGgKKyAgICAgICAgc3FhZGQgICAgICAgICAgIHYxOC44aCwgdjE4LjhoLCB2MjYuOGgKKyAg ICAgICAgc3FhZGQgICAgICAgICAgIHYxOS44aCwgdjE5LjhoLCB2MjcuOGgKKyAgICAgICAg bGQxICAgICAgICAgICAgIHt2MjQuOGgsIHYyNS44aCwgdjI2LjhoLCB2MjcuOGh9LCBbeDRd LCAjKE1BWF9QQl9TSVpFKQorICAgICAgICBzcWFkZCAgICAgICAgICAgdjIwLjhoLCB2MjAu OGgsIHYyNC44aAorICAgICAgICBzcWFkZCAgICAgICAgICAgdjIxLjhoLCB2MjEuOGgsIHYy NS44aAorICAgICAgICBzcWFkZCAgICAgICAgICAgdjIyLjhoLCB2MjIuOGgsIHYyNi44aAor ICAgICAgICBzcWFkZCAgICAgICAgICAgdjIzLjhoLCB2MjMuOGgsIHYyNy44aAorICAgICAg ICBzcXJzaHJ1biAgICAgICAgdjAuOGIsIHYxNi44aCwgIzcKKyAgICAgICAgc3Fyc2hydW4y ICAgICAgIHYwLjE2YiwgdjE3LjhoLCAjNworICAgICAgICBzcXJzaHJ1biAgICAgICAgdjEu OGIsIHYxOC44aCwgIzcKKyAgICAgICAgc3Fyc2hydW4yICAgICAgIHYxLjE2YiwgdjE5Ljho LCAjNworICAgICAgICBzcXJzaHJ1biAgICAgICAgdjIuOGIsIHYyMC44aCwgIzcKKyAgICAg ICAgc3Fyc2hydW4yICAgICAgIHYyLjE2YiwgdjIxLjhoLCAjNworICAgICAgICBzcXJzaHJ1 biAgICAgICAgdjMuOGIsIHYyMi44aCwgIzcKKyAgICAgICAgc3Fyc2hydW4yICAgICAgIHYz LjE2YiwgdjIzLjhoLCAjNworICAgICAgICBzdDEgICAgICAgICAgICAge3YwLjE2YiwgdjEu MTZiLCB2Mi4xNmIsIHYzLjE2Yn0sIFt4MF0sIHgxCisgICAgICAgIHN1YnMgICAgICAgICAg ICB3NSwgdzUsICMxCisgICAgICAgIGIubmUgICAgICAgICAgICAxYgorICAgICAgICByZXQK K2VuZGZ1bmMKKwogZnVuY3Rpb24gZmZfaGV2Y19wdXRfaGV2Y19lcGVsX3Y0XzhfbmVvbiwg ZXhwb3J0PTEKICAgICAgICAgbG9hZF9lcGVsX2ZpbHRlcmIgeDUsIHg0CiAgICAgICAgIHN1 YiAgICAgICAgICAgICB4MSwgeDEsIHgyCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2FhcmNo NjQvaGV2Y2RzcF9pbml0X2FhcmNoNjQuYyBiL2xpYmF2Y29kZWMvYWFyY2g2NC9oZXZjZHNw X2luaXRfYWFyY2g2NC5jCmluZGV4IGM1MTQ4ODI3NWMuLmNmMTcxMDIzZTcgMTAwNjQ0Ci0t LSBhL2xpYmF2Y29kZWMvYWFyY2g2NC9oZXZjZHNwX2luaXRfYWFyY2g2NC5jCisrKyBiL2xp YmF2Y29kZWMvYWFyY2g2NC9oZXZjZHNwX2luaXRfYWFyY2g2NC5jCkBAIC0xNTYsOCArMTU2 LDEyIEBAIE5FT044X0ZOUFJPVE8ocGVsX3BpeGVscywgKGludDE2X3QgKmRzdCwKICAgICAg ICAgY29uc3QgdWludDhfdCAqc3JjLCBwdHJkaWZmX3Qgc3Jjc3RyaWRlLAogICAgICAgICBp bnQgaGVpZ2h0LCBpbnRwdHJfdCBteCwgaW50cHRyX3QgbXksIGludCB3aWR0aCksKTsKIAot TkVPTjhfRk5QUk9UTyhlcGVsX3YsIChpbnQxNl90ICpkc3QsCi0gICAgICAgIGNvbnN0IHVp bnQ4X3QgKnNyYywgcHRyZGlmZl90IHNyY3N0cmlkZSwKK05FT044X0ZOUFJPVE8ocGVsX2Jp X3BpeGVscywgKHVpbnQ4X3QgKmRzdCwgcHRyZGlmZl90IGRzdHN0cmlkZSwKKyAgICAgICAg Y29uc3QgdWludDhfdCAqX3NyYywgcHRyZGlmZl90IF9zcmNzdHJpZGUsIGNvbnN0IGludDE2 X3QgKnNyYzIsCisgICAgICAgIGludCBoZWlnaHQsIGludHB0cl90IG14LCBpbnRwdHJfdCBt eSwgaW50IHdpZHRoKSwpOworCitORU9OOF9GTlBST1RPKGVwZWxfdiwgKHVpbnQ4X3QgKmRz dCwgcHRyZGlmZl90IGRzdHN0cmlkZSwKKyAgICAgICAgY29uc3QgdWludDhfdCAqX3NyYywg cHRyZGlmZl90IF9zcmNzdHJpZGUsIGNvbnN0IGludDE2X3QgKnNyYzIsCiAgICAgICAgIGlu dCBoZWlnaHQsIGludHB0cl90IG14LCBpbnRwdHJfdCBteSwgaW50IHdpZHRoKSwpOwogCiBO RU9OOF9GTlBST1RPKHBlbF91bmlfcGl4ZWxzLCAodWludDhfdCAqX2RzdCwgcHRyZGlmZl90 IF9kc3RzdHJpZGUsCkBAIC0zMjQsNiArMzI4LDggQEAgYXZfY29sZCB2b2lkIGZmX2hldmNf ZHNwX2luaXRfYWFyY2g2NChIRVZDRFNQQ29udGV4dCAqYywgY29uc3QgaW50IGJpdF9kZXB0 aCkKICAgICAgICAgTkVPTjhfRk5BU1NJR04oYy0+cHV0X2hldmNfZXBlbCwgMSwgMCwgZXBl bF92LCk7CiAgICAgICAgIE5FT044X0ZOQVNTSUdOKGMtPnB1dF9oZXZjX3FwZWwsIDAsIDAs IHBlbF9waXhlbHMsKTsKICAgICAgICAgTkVPTjhfRk5BU1NJR04oYy0+cHV0X2hldmNfcXBl bCwgMSwgMCwgcXBlbF92LCk7CisgICAgICAgIE5FT044X0ZOQVNTSUdOKGMtPnB1dF9oZXZj X2VwZWxfYmksIDAsIDAsIHBlbF9iaV9waXhlbHMsKTsKKyAgICAgICAgTkVPTjhfRk5BU1NJ R04oYy0+cHV0X2hldmNfcXBlbF9iaSwgMCwgMCwgcGVsX2JpX3BpeGVscywpOwogICAgICAg ICBORU9OOF9GTkFTU0lHTihjLT5wdXRfaGV2Y19lcGVsX3VuaSwgMCwgMCwgcGVsX3VuaV9w aXhlbHMsKTsKICAgICAgICAgTkVPTjhfRk5BU1NJR04oYy0+cHV0X2hldmNfZXBlbF91bmks IDEsIDAsIGVwZWxfdW5pX3YsKTsKICAgICAgICAgTkVPTjhfRk5BU1NJR04oYy0+cHV0X2hl dmNfcXBlbF91bmksIDAsIDAsIHBlbF91bmlfcGl4ZWxzLCk7Ci0tIAoyLjM4LjAud2luZG93 cy4xCgo= --------------urMId0wnmWC3ndeI00yfwEqk Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". --------------urMId0wnmWC3ndeI00yfwEqk--