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 3D5C445F6B for ; Sat, 18 Nov 2023 02:07:30 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3227B68CD7F; Sat, 18 Nov 2023 04:07:10 +0200 (EET) Received: from smtp-my3-01p3.yunyou.top (smtp-my3-01p3.yunyou.top [60.247.169.3]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9C58368C96C for ; Sat, 18 Nov 2023 04:07:03 +0200 (EET) Received: from [192.168.15.105] (unknown [122.233.146.151]) by smtp-my-01.yunyou.top (WestCloudMail) with ESMTPA id C699A141F24; Sat, 18 Nov 2023 10:06:58 +0800 (CST) Content-Type: multipart/mixed; boundary="------------dfqSV08m6UfdAh4DFnyOCY1E" Message-ID: <27f6bf27-e39c-41d4-a30e-45d170ac5e46@myais.com.cn> Date: Sat, 18 Nov 2023 10:06:58 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: "Logan.Lyu" To: ffmpeg-devel@ffmpeg.org Organization: myais Subject: [FFmpeg-devel] [PATCH 4/6] lavc/aarch64: new optimization for 8-bit hevc_epel_bi_hv 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. --------------dfqSV08m6UfdAh4DFnyOCY1E Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit put_hevc_epel_bi_hv4_8_c: 242.9 put_hevc_epel_bi_hv4_8_i8mm: 68.6 put_hevc_epel_bi_hv6_8_c: 402.4 put_hevc_epel_bi_hv6_8_i8mm: 135.9 put_hevc_epel_bi_hv8_8_c: 636.4 put_hevc_epel_bi_hv8_8_i8mm: 145.6 put_hevc_epel_bi_hv12_8_c: 1363.1 put_hevc_epel_bi_hv12_8_i8mm: 324.1 put_hevc_epel_bi_hv16_8_c: 2222.1 put_hevc_epel_bi_hv16_8_i8mm: 509.1 put_hevc_epel_bi_hv24_8_c: 4793.4 put_hevc_epel_bi_hv24_8_i8mm: 1091.9 put_hevc_epel_bi_hv32_8_c: 8393.9 put_hevc_epel_bi_hv32_8_i8mm: 1720.6 put_hevc_epel_bi_hv48_8_c: 19526.6 put_hevc_epel_bi_hv48_8_i8mm: 4285.9 put_hevc_epel_bi_hv64_8_c: 33915.4 put_hevc_epel_bi_hv64_8_i8mm: 6783.6 Co-Authored-By: J. Dekker Signed-off-by: Logan Lyu --- libavcodec/aarch64/hevcdsp_epel_neon.S | 331 ++++++++++++++++++++++ libavcodec/aarch64/hevcdsp_init_aarch64.c | 5 + 2 files changed, 336 insertions(+) diff --git a/libavcodec/aarch64/hevcdsp_epel_neon.S b/libavcodec/aarch64/hevcdsp_epel_neon.S index 54e55cd508..b60091bf23 100644 --- a/libavcodec/aarch64/hevcdsp_epel_neon.S +++ b/libavcodec/aarch64/hevcdsp_epel_neon.S @@ -3212,6 +3212,337 @@ function ff_hevc_put_hevc_epel_uni_w_hv64_8_neon_i8mm, export=1 ret endfunc + +function ff_hevc_put_hevc_epel_bi_hv4_8_neon_i8mm, export=1 + add w10, w5, #3 + lsl x10, x10, #7 + sub sp, sp, x10 // tmp_array + stp x7, x30, [sp, #-48]! + stp x4, x5, [sp, #16] + stp x0, x1, [sp, #32] + add x0, sp, #48 + sub x1, x2, x3 + mov x2, x3 + add w3, w5, #3 + mov x4, x6 + mov x5, x7 + bl X(ff_hevc_put_hevc_epel_h4_8_neon_i8mm) + ldp x4, x5, [sp, #16] + ldp x0, x1, [sp, #32] + ldp x7, x30, [sp], #48 + load_epel_filterh x7, x6 + mov x10, #(MAX_PB_SIZE * 2) + ld1 {v16.4h}, [sp], x10 + ld1 {v17.4h}, [sp], x10 + ld1 {v18.4h}, [sp], x10 +.macro calc src0, src1, src2, src3 + ld1 {\src3\().4h}, [sp], x10 + calc_epelh v4, \src0, \src1, \src2, \src3 + ld1 {v6.4h}, [x4], x10 + sqadd v4.4h, v4.4h, v6.4h + sqrshrun v4.8b, v4.8h, #7 + subs w5, w5, #1 + st1 {v4.s}[0], [x0], x1 +.endm +1: calc_all4 +.purgem calc +2: ret +endfunc + +function ff_hevc_put_hevc_epel_bi_hv6_8_neon_i8mm, export=1 + add w10, w5, #3 + lsl x10, x10, #7 + sub sp, sp, x10 // tmp_array + stp x7, x30, [sp, #-48]! + stp x4, x5, [sp, #16] + stp x0, x1, [sp, #32] + add x0, sp, #48 + sub x1, x2, x3 + mov x2, x3 + add w3, w5, #3 + mov x4, x6 + mov x5, x7 + bl X(ff_hevc_put_hevc_epel_h6_8_neon_i8mm) + ldp x4, x5, [sp, #16] + ldp x0, x1, [sp, #32] + ldp x7, x30, [sp], #48 + load_epel_filterh x7, x6 + sub x1, x1, #4 + mov x10, #(MAX_PB_SIZE * 2) + ld1 {v16.8h}, [sp], x10 + ld1 {v17.8h}, [sp], x10 + ld1 {v18.8h}, [sp], x10 +.macro calc src0, src1, src2, src3 + ld1 {\src3\().8h}, [sp], x10 + calc_epelh v4, \src0, \src1, \src2, \src3 + calc_epelh2 v4, v5, \src0, \src1, \src2, \src3 + ld1 {v6.8h}, [x4], x10 + sqadd v4.8h, v4.8h, v6.8h + sqrshrun v4.8b, v4.8h, #7 + st1 {v4.s}[0], [x0], #4 + subs w5, w5, #1 + st1 {v4.h}[2], [x0], x1 +.endm +1: calc_all4 +.purgem calc +2: ret +endfunc + +function ff_hevc_put_hevc_epel_bi_hv8_8_neon_i8mm, export=1 + add w10, w5, #3 + lsl x10, x10, #7 + sub sp, sp, x10 // tmp_array + stp x7, x30, [sp, #-48]! + stp x4, x5, [sp, #16] + stp x0, x1, [sp, #32] + add x0, sp, #48 + sub x1, x2, x3 + mov x2, x3 + add w3, w5, #3 + mov x4, x6 + mov x5, x7 + bl X(ff_hevc_put_hevc_epel_h8_8_neon_i8mm) + ldp x4, x5, [sp, #16] + ldp x0, x1, [sp, #32] + ldp x7, x30, [sp], #48 + load_epel_filterh x7, x6 + mov x10, #(MAX_PB_SIZE * 2) + ld1 {v16.8h}, [sp], x10 + ld1 {v17.8h}, [sp], x10 + ld1 {v18.8h}, [sp], x10 +.macro calc src0, src1, src2, src3 + ld1 {\src3\().8h}, [sp], x10 + calc_epelh v4, \src0, \src1, \src2, \src3 + calc_epelh2 v4, v5, \src0, \src1, \src2, \src3 + ld1 {v6.8h}, [x4], x10 + sqadd v4.8h, v4.8h, v6.8h + sqrshrun v4.8b, v4.8h, #7 + subs w5, w5, #1 + st1 {v4.8b}, [x0], x1 +.endm +1: calc_all4 +.purgem calc +2: ret +endfunc + +function ff_hevc_put_hevc_epel_bi_hv12_8_neon_i8mm, export=1 + add w10, w5, #3 + lsl x10, x10, #7 + sub sp, sp, x10 // tmp_array + stp x7, x30, [sp, #-48]! + stp x4, x5, [sp, #16] + stp x0, x1, [sp, #32] + add x0, sp, #48 + sub x1, x2, x3 + mov x2, x3 + add w3, w5, #3 + mov x4, x6 + mov x5, x7 + bl X(ff_hevc_put_hevc_epel_h12_8_neon_i8mm) + ldp x4, x5, [sp, #16] + ldp x0, x1, [sp, #32] + ldp x7, x30, [sp], #48 + load_epel_filterh x7, x6 + sub x1, x1, #8 + mov x10, #(MAX_PB_SIZE * 2) + ld1 {v16.8h, v17.8h}, [sp], x10 + ld1 {v18.8h, v19.8h}, [sp], x10 + ld1 {v20.8h, v21.8h}, [sp], x10 +.macro calc src0, src1, src2, src3, src4, src5, src6, src7 + ld1 {\src6\().8h, \src7\().8h}, [sp], x10 + calc_epelh v4, \src0, \src2, \src4, \src6 + calc_epelh2 v4, v5, \src0, \src2, \src4, \src6 + calc_epelh v5, \src1, \src3, \src5, \src7 + ld1 {v6.8h, v7.8h}, [x4], x10 + sqadd v4.8h, v4.8h, v6.8h + sqadd v5.8h, v5.8h, v7.8h + sqrshrun v4.8b, v4.8h, #7 + sqrshrun2 v4.16b, v5.8h, #7 + st1 {v4.8b}, [x0], #8 + subs w5, w5, #1 + st1 {v4.s}[2], [x0], x1 +.endm +1: calc_all8 +.purgem calc +2: ret +endfunc + +function ff_hevc_put_hevc_epel_bi_hv16_8_neon_i8mm, export=1 + add w10, w5, #3 + lsl x10, x10, #7 + sub sp, sp, x10 // tmp_array + stp x7, x30, [sp, #-48]! + stp x4, x5, [sp, #16] + stp x0, x1, [sp, #32] + add x0, sp, #48 + sub x1, x2, x3 + mov x2, x3 + add w3, w5, #3 + mov x4, x6 + mov x5, x7 + bl X(ff_hevc_put_hevc_epel_h16_8_neon_i8mm) + ldp x4, x5, [sp, #16] + ldp x0, x1, [sp, #32] + ldp x7, x30, [sp], #48 + load_epel_filterh x7, x6 + mov x10, #(MAX_PB_SIZE * 2) + ld1 {v16.8h, v17.8h}, [sp], x10 + ld1 {v18.8h, v19.8h}, [sp], x10 + ld1 {v20.8h, v21.8h}, [sp], x10 +.macro calc src0, src1, src2, src3, src4, src5, src6, src7 + ld1 {\src6\().8h, \src7\().8h}, [sp], x10 + calc_epelh v4, \src0, \src2, \src4, \src6 + calc_epelh2 v4, v5, \src0, \src2, \src4, \src6 + calc_epelh v5, \src1, \src3, \src5, \src7 + calc_epelh2 v5, v6, \src1, \src3, \src5, \src7 + ld1 {v6.8h, v7.8h}, [x4], x10 + sqadd v4.8h, v4.8h, v6.8h + sqadd v5.8h, v5.8h, v7.8h + sqrshrun v4.8b, v4.8h, #7 + sqrshrun2 v4.16b, v5.8h, #7 + st1 {v4.16b}, [x0], x1 + subs w5, w5, #1 +.endm +1: calc_all8 +.purgem calc +2: ret +endfunc + +function ff_hevc_put_hevc_epel_bi_hv24_8_neon_i8mm, export=1 + add w10, w5, #3 + lsl x10, x10, #7 + sub sp, sp, x10 // tmp_array + stp x7, x30, [sp, #-48]! + stp x4, x5, [sp, #16] + stp x0, x1, [sp, #32] + add x0, sp, #48 + sub x1, x2, x3 + mov x2, x3 + add w3, w5, #3 + mov x4, x6 + mov x5, x7 + bl X(ff_hevc_put_hevc_epel_h24_8_neon_i8mm) + ldp x4, x5, [sp, #16] + ldp x0, x1, [sp, #32] + ldp x7, x30, [sp], #48 + load_epel_filterh x7, x6 + mov x10, #(MAX_PB_SIZE * 2) + ld1 {v16.8h, v17.8h, v18.8h}, [sp], x10 + ld1 {v19.8h, v20.8h, v21.8h}, [sp], x10 + ld1 {v22.8h, v23.8h, v24.8h}, [sp], x10 +.macro calc src0, src1, src2, src3, src4, src5, src6, src7, src8, src9, src10, src11 + ld1 {\src9\().8h, \src10\().8h, \src11\().8h}, [sp], x10 + calc_epelh v1, \src0, \src3, \src6, \src9 + calc_epelh2 v1, v2, \src0, \src3, \src6, \src9 + calc_epelh v2, \src1, \src4, \src7, \src10 + calc_epelh2 v2, v3, \src1, \src4, \src7, \src10 + calc_epelh v3, \src2, \src5, \src8, \src11 + calc_epelh2 v3, v4, \src2, \src5, \src8, \src11 + ld1 {v4.8h, v5.8h, v6.8h}, [x4], x10 + sqadd v1.8h, v1.8h, v4.8h + sqadd v2.8h, v2.8h, v5.8h + sqadd v3.8h, v3.8h, v6.8h + sqrshrun v1.8b, v1.8h, #7 + sqrshrun v2.8b, v2.8h, #7 + sqrshrun v3.8b, v3.8h, #7 + subs w5, w5, #1 + st1 {v1.8b, v2.8b, v3.8b}, [x0], x1 +.endm +1: calc_all12 +.purgem calc +2: ret +endfunc + +function ff_hevc_put_hevc_epel_bi_hv32_8_neon_i8mm, export=1 + sub sp, sp, #16 + str d8, [sp] + add w10, w5, #3 + lsl x10, x10, #7 + sub sp, sp, x10 // tmp_array + stp x7, x30, [sp, #-48]! + stp x4, x5, [sp, #16] + stp x0, x1, [sp, #32] + add x0, sp, #48 + sub x1, x2, x3 + mov x2, x3 + add w3, w5, #3 + mov x4, x6 + mov x5, x7 + bl X(ff_hevc_put_hevc_epel_h32_8_neon_i8mm) + ldp x4, x5, [sp, #16] + ldp x0, x1, [sp, #32] + ldp x7, x30, [sp], #48 + load_epel_filterh x7, x6 + mov x10, #(MAX_PB_SIZE * 2) + ld1 {v16.8h, v17.8h, v18.8h, v19.8h}, [sp], x10 + ld1 {v20.8h, v21.8h, v22.8h, v23.8h}, [sp], x10 + ld1 {v24.8h, v25.8h, v26.8h, v27.8h}, [sp], x10 +.macro calc src0, src1, src2, src3, src4, src5, src6, src7, src8, src9, src10, src11, src12, src13, src14, src15 + ld1 {\src12\().8h, \src13\().8h, \src14\().8h, \src15\().8h}, [sp], x10 + calc_epelh v1, \src0, \src4, \src8, \src12 + calc_epelh2 v1, v2, \src0, \src4, \src8, \src12 + calc_epelh v2, \src1, \src5, \src9, \src13 + calc_epelh2 v2, v3, \src1, \src5, \src9, \src13 + calc_epelh v3, \src2, \src6, \src10, \src14 + calc_epelh2 v3, v4, \src2, \src6, \src10, \src14 + calc_epelh v4, \src3, \src7, \src11, \src15 + calc_epelh2 v4, v5, \src3, \src7, \src11, \src15 + ld1 {v5.8h, v6.8h, v7.8h, v8.8h}, [x4], x10 + sqadd v1.8h, v1.8h, v5.8h + sqadd v2.8h, v2.8h, v6.8h + sqadd v3.8h, v3.8h, v7.8h + sqadd v4.8h, v4.8h, v8.8h + sqrshrun v1.8b, v1.8h, #7 + sqrshrun v2.8b, v2.8h, #7 + sqrshrun v3.8b, v3.8h, #7 + sqrshrun v4.8b, v4.8h, #7 + st1 {v1.8b, v2.8b, v3.8b, v4.8b}, [x0], x1 + subs w5, w5, #1 +.endm +1: calc_all16 +.purgem calc +2: ldr d8, [sp], #16 + ret +endfunc + +function ff_hevc_put_hevc_epel_bi_hv48_8_neon_i8mm, export=1 + stp x6, x7, [sp, #-80]! + stp x4, x5, [sp, #16] + stp x2, x3, [sp, #32] + stp x0, x1, [sp, #48] + str x30, [sp, #64] + bl X(ff_hevc_put_hevc_epel_bi_hv24_8_neon_i8mm) + ldp x4, x5, [sp, #16] + ldp x2, x3, [sp, #32] + ldp x0, x1, [sp, #48] + ldp x6, x7, [sp], #64 + add x0, x0, #24 + add x2, x2, #24 + add x4, x4, #48 + bl X(ff_hevc_put_hevc_epel_bi_hv24_8_neon_i8mm) + ldr x30, [sp], #16 + ret +endfunc + +function ff_hevc_put_hevc_epel_bi_hv64_8_neon_i8mm, export=1 + stp x6, x7, [sp, #-80]! + stp x4, x5, [sp, #16] + stp x2, x3, [sp, #32] + stp x0, x1, [sp, #48] + str x30, [sp, #64] + bl X(ff_hevc_put_hevc_epel_bi_hv32_8_neon_i8mm) + ldp x4, x5, [sp, #16] + ldp x2, x3, [sp, #32] + ldp x0, x1, [sp, #48] + ldp x6, x7, [sp], #64 + add x0, x0, #32 + add x2, x2, #32 + add x4, x4, #64 + bl X(ff_hevc_put_hevc_epel_bi_hv32_8_neon_i8mm) + ldr x30, [sp], #16 + ret +endfunc + DISABLE_I8MM #endif diff --git a/libavcodec/aarch64/hevcdsp_init_aarch64.c b/libavcodec/aarch64/hevcdsp_init_aarch64.c index a0f0f072f8..da5e23575d 100644 --- a/libavcodec/aarch64/hevcdsp_init_aarch64.c +++ b/libavcodec/aarch64/hevcdsp_init_aarch64.c @@ -168,6 +168,10 @@ NEON8_FNPROTO(epel_bi_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(epel_bi_hv, (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), _i8mm); + 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),); @@ -354,6 +358,7 @@ av_cold void ff_hevc_dsp_init_aarch64(HEVCDSPContext *c, const int bit_depth) NEON8_FNASSIGN(c->put_hevc_epel, 1, 1, epel_hv, _i8mm); NEON8_FNASSIGN(c->put_hevc_epel_uni, 1, 1, epel_uni_hv, _i8mm); NEON8_FNASSIGN(c->put_hevc_epel_uni_w, 0, 1, epel_uni_w_h ,_i8mm); + NEON8_FNASSIGN(c->put_hevc_epel_bi, 1, 1, epel_bi_hv, _i8mm); NEON8_FNASSIGN(c->put_hevc_qpel, 0, 1, qpel_h, _i8mm); NEON8_FNASSIGN(c->put_hevc_qpel, 1, 1, qpel_hv, _i8mm); NEON8_FNASSIGN(c->put_hevc_qpel_uni, 1, 1, qpel_uni_hv, _i8mm); -- 2.38.0.windows.1 --------------dfqSV08m6UfdAh4DFnyOCY1E Content-Type: text/plain; charset=UTF-8; name="0004-lavc-aarch64-new-optimization-for-8-bit-hevc_epel_bi_hv.patch" Content-Disposition: attachment; filename*0="0004-lavc-aarch64-new-optimization-for-8-bit-hevc_epel_bi_hv"; filename*1=".patch" Content-Transfer-Encoding: base64 RnJvbSBlZTA4ZWNkYmE5MDkyMzUyMzNjYjU0NTE1M2Q1MzgwMDlhZjkxODRmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBMb2dhbiBMeXUgPExvZ2FuLkx5dUBteWFpcy5jb20u Y24+CkRhdGU6IFNhdCwgMTEgTm92IDIwMjMgMTk6NTc6NDAgKzA4MDAKU3ViamVjdDogW1BB VENIIDQvNl0gbGF2Yy9hYXJjaDY0OiBuZXcgb3B0aW1pemF0aW9uIGZvciA4LWJpdCBoZXZj X2VwZWxfYmlfaHYKCnB1dF9oZXZjX2VwZWxfYmlfaHY0XzhfYzogMjQyLjkKcHV0X2hldmNf ZXBlbF9iaV9odjRfOF9pOG1tOiA2OC42CnB1dF9oZXZjX2VwZWxfYmlfaHY2XzhfYzogNDAy LjQKcHV0X2hldmNfZXBlbF9iaV9odjZfOF9pOG1tOiAxMzUuOQpwdXRfaGV2Y19lcGVsX2Jp X2h2OF84X2M6IDYzNi40CnB1dF9oZXZjX2VwZWxfYmlfaHY4XzhfaThtbTogMTQ1LjYKcHV0 X2hldmNfZXBlbF9iaV9odjEyXzhfYzogMTM2My4xCnB1dF9oZXZjX2VwZWxfYmlfaHYxMl84 X2k4bW06IDMyNC4xCnB1dF9oZXZjX2VwZWxfYmlfaHYxNl84X2M6IDIyMjIuMQpwdXRfaGV2 Y19lcGVsX2JpX2h2MTZfOF9pOG1tOiA1MDkuMQpwdXRfaGV2Y19lcGVsX2JpX2h2MjRfOF9j OiA0NzkzLjQKcHV0X2hldmNfZXBlbF9iaV9odjI0XzhfaThtbTogMTA5MS45CnB1dF9oZXZj X2VwZWxfYmlfaHYzMl84X2M6IDgzOTMuOQpwdXRfaGV2Y19lcGVsX2JpX2h2MzJfOF9pOG1t OiAxNzIwLjYKcHV0X2hldmNfZXBlbF9iaV9odjQ4XzhfYzogMTk1MjYuNgpwdXRfaGV2Y19l cGVsX2JpX2h2NDhfOF9pOG1tOiA0Mjg1LjkKcHV0X2hldmNfZXBlbF9iaV9odjY0XzhfYzog MzM5MTUuNApwdXRfaGV2Y19lcGVsX2JpX2h2NjRfOF9pOG1tOiA2NzgzLjYKCkNvLUF1dGhv cmVkLUJ5OiBKLiBEZWtrZXIgPGpkZWtAaXRhbmltdWwubGk+Ci0tLQogbGliYXZjb2RlYy9h YXJjaDY0L2hldmNkc3BfZXBlbF9uZW9uLlMgICAgfCAzMzEgKysrKysrKysrKysrKysrKysr KysrKwogbGliYXZjb2RlYy9hYXJjaDY0L2hldmNkc3BfaW5pdF9hYXJjaDY0LmMgfCAgIDUg KwogMiBmaWxlcyBjaGFuZ2VkLCAzMzYgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2xp YmF2Y29kZWMvYWFyY2g2NC9oZXZjZHNwX2VwZWxfbmVvbi5TIGIvbGliYXZjb2RlYy9hYXJj aDY0L2hldmNkc3BfZXBlbF9uZW9uLlMKaW5kZXggNTRlNTVjZDUwOC4uYjYwMDkxYmYyMyAx MDA2NDQKLS0tIGEvbGliYXZjb2RlYy9hYXJjaDY0L2hldmNkc3BfZXBlbF9uZW9uLlMKKysr IGIvbGliYXZjb2RlYy9hYXJjaDY0L2hldmNkc3BfZXBlbF9uZW9uLlMKQEAgLTMyMTIsNiAr MzIxMiwzMzcgQEAgZnVuY3Rpb24gZmZfaGV2Y19wdXRfaGV2Y19lcGVsX3VuaV93X2h2NjRf OF9uZW9uX2k4bW0sIGV4cG9ydD0xCiAgICAgICAgIHJldAogZW5kZnVuYwogCisKK2Z1bmN0 aW9uIGZmX2hldmNfcHV0X2hldmNfZXBlbF9iaV9odjRfOF9uZW9uX2k4bW0sIGV4cG9ydD0x CisgICAgICAgIGFkZCAgICAgICAgICAgICB3MTAsIHc1LCAjMworICAgICAgICBsc2wgICAg ICAgICAgICAgeDEwLCB4MTAsICM3CisgICAgICAgIHN1YiAgICAgICAgICAgICBzcCwgc3As IHgxMCAvLyB0bXBfYXJyYXkKKyAgICAgICAgc3RwICAgICAgICAgICAgIHg3LCB4MzAsIFtz cCwgIy00OF0hCisgICAgICAgIHN0cCAgICAgICAgICAgICB4NCwgeDUsIFtzcCwgIzE2XQor ICAgICAgICBzdHAgICAgICAgICAgICAgeDAsIHgxLCBbc3AsICMzMl0KKyAgICAgICAgYWRk ICAgICAgICAgICAgIHgwLCBzcCwgIzQ4CisgICAgICAgIHN1YiAgICAgICAgICAgICB4MSwg eDIsIHgzCisgICAgICAgIG1vdiAgICAgICAgICAgICB4MiwgeDMKKyAgICAgICAgYWRkICAg ICAgICAgICAgIHczLCB3NSwgIzMKKyAgICAgICAgbW92ICAgICAgICAgICAgIHg0LCB4Ngor ICAgICAgICBtb3YgICAgICAgICAgICAgeDUsIHg3CisgICAgICAgIGJsICAgICAgICAgICAg ICBYKGZmX2hldmNfcHV0X2hldmNfZXBlbF9oNF84X25lb25faThtbSkKKyAgICAgICAgbGRw ICAgICAgICAgICAgIHg0LCB4NSwgW3NwLCAjMTZdCisgICAgICAgIGxkcCAgICAgICAgICAg ICB4MCwgeDEsIFtzcCwgIzMyXQorICAgICAgICBsZHAgICAgICAgICAgICAgeDcsIHgzMCwg W3NwXSwgIzQ4CisgICAgICAgIGxvYWRfZXBlbF9maWx0ZXJoIHg3LCB4NgorICAgICAgICBt b3YgICAgICAgICAgICAgeDEwLCAjKE1BWF9QQl9TSVpFICogMikKKyAgICAgICAgbGQxICAg ICAgICAgICAgIHt2MTYuNGh9LCBbc3BdLCB4MTAKKyAgICAgICAgbGQxICAgICAgICAgICAg IHt2MTcuNGh9LCBbc3BdLCB4MTAKKyAgICAgICAgbGQxICAgICAgICAgICAgIHt2MTguNGh9 LCBbc3BdLCB4MTAKKy5tYWNybyBjYWxjIHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMKKyAgICAg ICAgbGQxICAgICAgICAgICAgIHtcc3JjM1woKS40aH0sIFtzcF0sIHgxMAorICAgICAgICBj YWxjX2VwZWxoICAgICAgdjQsIFxzcmMwLCBcc3JjMSwgXHNyYzIsIFxzcmMzCisgICAgICAg IGxkMSAgICAgICAgICAgICB7djYuNGh9LCBbeDRdLCB4MTAKKyAgICAgICAgc3FhZGQgICAg ICAgICAgIHY0LjRoLCB2NC40aCwgdjYuNGgKKyAgICAgICAgc3Fyc2hydW4gICAgICAgIHY0 LjhiLCB2NC44aCwgIzcKKyAgICAgICAgc3VicyAgICAgICAgICAgIHc1LCB3NSwgIzEKKyAg ICAgICAgc3QxICAgICAgICAgICAgIHt2NC5zfVswXSwgW3gwXSwgeDEKKy5lbmRtCisxOiAg ICAgIGNhbGNfYWxsNAorLnB1cmdlbSBjYWxjCisyOiAgICAgIHJldAorZW5kZnVuYworCitm dW5jdGlvbiBmZl9oZXZjX3B1dF9oZXZjX2VwZWxfYmlfaHY2XzhfbmVvbl9pOG1tLCBleHBv cnQ9MQorICAgICAgICBhZGQgICAgICAgICAgICAgdzEwLCB3NSwgIzMKKyAgICAgICAgbHNs ICAgICAgICAgICAgIHgxMCwgeDEwLCAjNworICAgICAgICBzdWIgICAgICAgICAgICAgc3As IHNwLCB4MTAgLy8gdG1wX2FycmF5CisgICAgICAgIHN0cCAgICAgICAgICAgICB4NywgeDMw LCBbc3AsICMtNDhdIQorICAgICAgICBzdHAgICAgICAgICAgICAgeDQsIHg1LCBbc3AsICMx Nl0KKyAgICAgICAgc3RwICAgICAgICAgICAgIHgwLCB4MSwgW3NwLCAjMzJdCisgICAgICAg IGFkZCAgICAgICAgICAgICB4MCwgc3AsICM0OAorICAgICAgICBzdWIgICAgICAgICAgICAg eDEsIHgyLCB4MworICAgICAgICBtb3YgICAgICAgICAgICAgeDIsIHgzCisgICAgICAgIGFk ZCAgICAgICAgICAgICB3MywgdzUsICMzCisgICAgICAgIG1vdiAgICAgICAgICAgICB4NCwg eDYKKyAgICAgICAgbW92ICAgICAgICAgICAgIHg1LCB4NworICAgICAgICBibCAgICAgICAg ICAgICAgWChmZl9oZXZjX3B1dF9oZXZjX2VwZWxfaDZfOF9uZW9uX2k4bW0pCisgICAgICAg IGxkcCAgICAgICAgICAgICB4NCwgeDUsIFtzcCwgIzE2XQorICAgICAgICBsZHAgICAgICAg ICAgICAgeDAsIHgxLCBbc3AsICMzMl0KKyAgICAgICAgbGRwICAgICAgICAgICAgIHg3LCB4 MzAsIFtzcF0sICM0OAorICAgICAgICBsb2FkX2VwZWxfZmlsdGVyaCB4NywgeDYKKyAgICAg ICAgc3ViICAgICAgICAgICAgIHgxLCB4MSwgIzQKKyAgICAgICAgbW92ICAgICAgICAgICAg IHgxMCwgIyhNQVhfUEJfU0laRSAqIDIpCisgICAgICAgIGxkMSAgICAgICAgICAgICB7djE2 LjhofSwgW3NwXSwgeDEwCisgICAgICAgIGxkMSAgICAgICAgICAgICB7djE3LjhofSwgW3Nw XSwgeDEwCisgICAgICAgIGxkMSAgICAgICAgICAgICB7djE4LjhofSwgW3NwXSwgeDEwCisu bWFjcm8gY2FsYyBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzCisgICAgICAgIGxkMSAgICAgICAg ICAgICB7XHNyYzNcKCkuOGh9LCBbc3BdLCB4MTAKKyAgICAgICAgY2FsY19lcGVsaCAgICAg IHY0LCAgICAgXHNyYzAsIFxzcmMxLCBcc3JjMiwgXHNyYzMKKyAgICAgICAgY2FsY19lcGVs aDIgICAgIHY0LCB2NSwgXHNyYzAsIFxzcmMxLCBcc3JjMiwgXHNyYzMKKyAgICAgICAgbGQx ICAgICAgICAgICAgIHt2Ni44aH0sIFt4NF0sIHgxMAorICAgICAgICBzcWFkZCAgICAgICAg ICAgdjQuOGgsIHY0LjhoLCB2Ni44aAorICAgICAgICBzcXJzaHJ1biAgICAgICAgdjQuOGIs IHY0LjhoLCAjNworICAgICAgICBzdDEgICAgICAgICAgICAge3Y0LnN9WzBdLCBbeDBdLCAj NAorICAgICAgICBzdWJzICAgICAgICAgICAgdzUsIHc1LCAjMQorICAgICAgICBzdDEgICAg ICAgICAgICAge3Y0Lmh9WzJdLCBbeDBdLCB4MQorLmVuZG0KKzE6ICAgICAgY2FsY19hbGw0 CisucHVyZ2VtIGNhbGMKKzI6ICAgICAgcmV0CitlbmRmdW5jCisKK2Z1bmN0aW9uIGZmX2hl dmNfcHV0X2hldmNfZXBlbF9iaV9odjhfOF9uZW9uX2k4bW0sIGV4cG9ydD0xCisgICAgICAg IGFkZCAgICAgICAgICAgICB3MTAsIHc1LCAjMworICAgICAgICBsc2wgICAgICAgICAgICAg eDEwLCB4MTAsICM3CisgICAgICAgIHN1YiAgICAgICAgICAgICBzcCwgc3AsIHgxMCAvLyB0 bXBfYXJyYXkKKyAgICAgICAgc3RwICAgICAgICAgICAgIHg3LCB4MzAsIFtzcCwgIy00OF0h CisgICAgICAgIHN0cCAgICAgICAgICAgICB4NCwgeDUsIFtzcCwgIzE2XQorICAgICAgICBz dHAgICAgICAgICAgICAgeDAsIHgxLCBbc3AsICMzMl0KKyAgICAgICAgYWRkICAgICAgICAg ICAgIHgwLCBzcCwgIzQ4CisgICAgICAgIHN1YiAgICAgICAgICAgICB4MSwgeDIsIHgzCisg ICAgICAgIG1vdiAgICAgICAgICAgICB4MiwgeDMKKyAgICAgICAgYWRkICAgICAgICAgICAg IHczLCB3NSwgIzMKKyAgICAgICAgbW92ICAgICAgICAgICAgIHg0LCB4NgorICAgICAgICBt b3YgICAgICAgICAgICAgeDUsIHg3CisgICAgICAgIGJsICAgICAgICAgICAgICBYKGZmX2hl dmNfcHV0X2hldmNfZXBlbF9oOF84X25lb25faThtbSkKKyAgICAgICAgbGRwICAgICAgICAg ICAgIHg0LCB4NSwgW3NwLCAjMTZdCisgICAgICAgIGxkcCAgICAgICAgICAgICB4MCwgeDEs IFtzcCwgIzMyXQorICAgICAgICBsZHAgICAgICAgICAgICAgeDcsIHgzMCwgW3NwXSwgIzQ4 CisgICAgICAgIGxvYWRfZXBlbF9maWx0ZXJoIHg3LCB4NgorICAgICAgICBtb3YgICAgICAg ICAgICAgeDEwLCAjKE1BWF9QQl9TSVpFICogMikKKyAgICAgICAgbGQxICAgICAgICAgICAg IHt2MTYuOGh9LCBbc3BdLCB4MTAKKyAgICAgICAgbGQxICAgICAgICAgICAgIHt2MTcuOGh9 LCBbc3BdLCB4MTAKKyAgICAgICAgbGQxICAgICAgICAgICAgIHt2MTguOGh9LCBbc3BdLCB4 MTAKKy5tYWNybyBjYWxjIHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMKKyAgICAgICAgbGQxICAg ICAgICAgICAgIHtcc3JjM1woKS44aH0sIFtzcF0sIHgxMAorICAgICAgICBjYWxjX2VwZWxo ICAgICAgdjQsICAgICBcc3JjMCwgXHNyYzEsIFxzcmMyLCBcc3JjMworICAgICAgICBjYWxj X2VwZWxoMiAgICAgdjQsIHY1LCBcc3JjMCwgXHNyYzEsIFxzcmMyLCBcc3JjMworICAgICAg ICBsZDEgICAgICAgICAgICAge3Y2LjhofSwgW3g0XSwgeDEwCisgICAgICAgIHNxYWRkICAg ICAgICAgICB2NC44aCwgdjQuOGgsIHY2LjhoCisgICAgICAgIHNxcnNocnVuICAgICAgICB2 NC44YiwgdjQuOGgsICM3CisgICAgICAgIHN1YnMgICAgICAgICAgICB3NSwgdzUsICMxCisg ICAgICAgIHN0MSAgICAgICAgICAgICB7djQuOGJ9LCBbeDBdLCB4MQorLmVuZG0KKzE6ICAg ICAgY2FsY19hbGw0CisucHVyZ2VtIGNhbGMKKzI6ICAgICAgcmV0CitlbmRmdW5jCisKK2Z1 bmN0aW9uIGZmX2hldmNfcHV0X2hldmNfZXBlbF9iaV9odjEyXzhfbmVvbl9pOG1tLCBleHBv cnQ9MQorICAgICAgICBhZGQgICAgICAgICAgICAgdzEwLCB3NSwgIzMKKyAgICAgICAgbHNs ICAgICAgICAgICAgIHgxMCwgeDEwLCAjNworICAgICAgICBzdWIgICAgICAgICAgICAgc3As IHNwLCB4MTAgLy8gdG1wX2FycmF5CisgICAgICAgIHN0cCAgICAgICAgICAgICB4NywgeDMw LCBbc3AsICMtNDhdIQorICAgICAgICBzdHAgICAgICAgICAgICAgeDQsIHg1LCBbc3AsICMx Nl0KKyAgICAgICAgc3RwICAgICAgICAgICAgIHgwLCB4MSwgW3NwLCAjMzJdCisgICAgICAg IGFkZCAgICAgICAgICAgICB4MCwgc3AsICM0OAorICAgICAgICBzdWIgICAgICAgICAgICAg eDEsIHgyLCB4MworICAgICAgICBtb3YgICAgICAgICAgICAgeDIsIHgzCisgICAgICAgIGFk ZCAgICAgICAgICAgICB3MywgdzUsICMzCisgICAgICAgIG1vdiAgICAgICAgICAgICB4NCwg eDYKKyAgICAgICAgbW92ICAgICAgICAgICAgIHg1LCB4NworICAgICAgICBibCAgICAgICAg ICAgICAgWChmZl9oZXZjX3B1dF9oZXZjX2VwZWxfaDEyXzhfbmVvbl9pOG1tKQorICAgICAg ICBsZHAgICAgICAgICAgICAgeDQsIHg1LCBbc3AsICMxNl0KKyAgICAgICAgbGRwICAgICAg ICAgICAgIHgwLCB4MSwgW3NwLCAjMzJdCisgICAgICAgIGxkcCAgICAgICAgICAgICB4Nywg eDMwLCBbc3BdLCAjNDgKKyAgICAgICAgbG9hZF9lcGVsX2ZpbHRlcmggeDcsIHg2CisgICAg ICAgIHN1YiAgICAgICAgICAgICB4MSwgeDEsICM4CisgICAgICAgIG1vdiAgICAgICAgICAg ICB4MTAsICMoTUFYX1BCX1NJWkUgKiAyKQorICAgICAgICBsZDEgICAgICAgICAgICAge3Yx Ni44aCwgdjE3LjhofSwgW3NwXSwgeDEwCisgICAgICAgIGxkMSAgICAgICAgICAgICB7djE4 LjhoLCB2MTkuOGh9LCBbc3BdLCB4MTAKKyAgICAgICAgbGQxICAgICAgICAgICAgIHt2MjAu OGgsIHYyMS44aH0sIFtzcF0sIHgxMAorLm1hY3JvIGNhbGMgc3JjMCwgc3JjMSwgc3JjMiwg c3JjMywgc3JjNCwgc3JjNSwgc3JjNiwgc3JjNworICAgICAgICBsZDEgICAgICAgICAgICAg e1xzcmM2XCgpLjhoLCBcc3JjN1woKS44aH0sIFtzcF0sIHgxMAorICAgICAgICBjYWxjX2Vw ZWxoICAgICAgdjQsICAgICBcc3JjMCwgXHNyYzIsIFxzcmM0LCBcc3JjNgorICAgICAgICBj YWxjX2VwZWxoMiAgICAgdjQsIHY1LCBcc3JjMCwgXHNyYzIsIFxzcmM0LCBcc3JjNgorICAg ICAgICBjYWxjX2VwZWxoICAgICAgdjUsICAgICBcc3JjMSwgXHNyYzMsIFxzcmM1LCBcc3Jj NworICAgICAgICBsZDEgICAgICAgICAgICAge3Y2LjhoLCB2Ny44aH0sIFt4NF0sIHgxMAor ICAgICAgICBzcWFkZCAgICAgICAgICAgdjQuOGgsIHY0LjhoLCB2Ni44aAorICAgICAgICBz cWFkZCAgICAgICAgICAgdjUuOGgsIHY1LjhoLCB2Ny44aAorICAgICAgICBzcXJzaHJ1biAg ICAgICAgdjQuOGIsIHY0LjhoLCAjNworICAgICAgICBzcXJzaHJ1bjIgICAgICAgdjQuMTZi LCB2NS44aCwgIzcKKyAgICAgICAgc3QxICAgICAgICAgICAgIHt2NC44Yn0sIFt4MF0sICM4 CisgICAgICAgIHN1YnMgICAgICAgICAgICB3NSwgdzUsICMxCisgICAgICAgIHN0MSAgICAg ICAgICAgICB7djQuc31bMl0sIFt4MF0sIHgxCisuZW5kbQorMTogICAgICBjYWxjX2FsbDgK Ky5wdXJnZW0gY2FsYworMjogICAgICByZXQKK2VuZGZ1bmMKKworZnVuY3Rpb24gZmZfaGV2 Y19wdXRfaGV2Y19lcGVsX2JpX2h2MTZfOF9uZW9uX2k4bW0sIGV4cG9ydD0xCisgICAgICAg IGFkZCAgICAgICAgICAgICB3MTAsIHc1LCAjMworICAgICAgICBsc2wgICAgICAgICAgICAg eDEwLCB4MTAsICM3CisgICAgICAgIHN1YiAgICAgICAgICAgICBzcCwgc3AsIHgxMCAvLyB0 bXBfYXJyYXkKKyAgICAgICAgc3RwICAgICAgICAgICAgIHg3LCB4MzAsIFtzcCwgIy00OF0h CisgICAgICAgIHN0cCAgICAgICAgICAgICB4NCwgeDUsIFtzcCwgIzE2XQorICAgICAgICBz dHAgICAgICAgICAgICAgeDAsIHgxLCBbc3AsICMzMl0KKyAgICAgICAgYWRkICAgICAgICAg ICAgIHgwLCBzcCwgIzQ4CisgICAgICAgIHN1YiAgICAgICAgICAgICB4MSwgeDIsIHgzCisg ICAgICAgIG1vdiAgICAgICAgICAgICB4MiwgeDMKKyAgICAgICAgYWRkICAgICAgICAgICAg IHczLCB3NSwgIzMKKyAgICAgICAgbW92ICAgICAgICAgICAgIHg0LCB4NgorICAgICAgICBt b3YgICAgICAgICAgICAgeDUsIHg3CisgICAgICAgIGJsICAgICAgICAgICAgICBYKGZmX2hl dmNfcHV0X2hldmNfZXBlbF9oMTZfOF9uZW9uX2k4bW0pCisgICAgICAgIGxkcCAgICAgICAg ICAgICB4NCwgeDUsIFtzcCwgIzE2XQorICAgICAgICBsZHAgICAgICAgICAgICAgeDAsIHgx LCBbc3AsICMzMl0KKyAgICAgICAgbGRwICAgICAgICAgICAgIHg3LCB4MzAsIFtzcF0sICM0 OAorICAgICAgICBsb2FkX2VwZWxfZmlsdGVyaCB4NywgeDYKKyAgICAgICAgbW92ICAgICAg ICAgICAgIHgxMCwgIyhNQVhfUEJfU0laRSAqIDIpCisgICAgICAgIGxkMSAgICAgICAgICAg ICB7djE2LjhoLCB2MTcuOGh9LCBbc3BdLCB4MTAKKyAgICAgICAgbGQxICAgICAgICAgICAg IHt2MTguOGgsIHYxOS44aH0sIFtzcF0sIHgxMAorICAgICAgICBsZDEgICAgICAgICAgICAg e3YyMC44aCwgdjIxLjhofSwgW3NwXSwgeDEwCisubWFjcm8gY2FsYyBzcmMwLCBzcmMxLCBz cmMyLCBzcmMzLCBzcmM0LCBzcmM1LCBzcmM2LCBzcmM3CisgICAgICAgIGxkMSAgICAgICAg ICAgICB7XHNyYzZcKCkuOGgsIFxzcmM3XCgpLjhofSwgW3NwXSwgeDEwCisgICAgICAgIGNh bGNfZXBlbGggICAgICB2NCwgICAgIFxzcmMwLCBcc3JjMiwgXHNyYzQsIFxzcmM2CisgICAg ICAgIGNhbGNfZXBlbGgyICAgICB2NCwgdjUsIFxzcmMwLCBcc3JjMiwgXHNyYzQsIFxzcmM2 CisgICAgICAgIGNhbGNfZXBlbGggICAgICB2NSwgICAgIFxzcmMxLCBcc3JjMywgXHNyYzUs IFxzcmM3CisgICAgICAgIGNhbGNfZXBlbGgyICAgICB2NSwgdjYsIFxzcmMxLCBcc3JjMywg XHNyYzUsIFxzcmM3CisgICAgICAgIGxkMSAgICAgICAgICAgICB7djYuOGgsIHY3LjhofSwg W3g0XSwgeDEwCisgICAgICAgIHNxYWRkICAgICAgICAgICB2NC44aCwgdjQuOGgsIHY2Ljho CisgICAgICAgIHNxYWRkICAgICAgICAgICB2NS44aCwgdjUuOGgsIHY3LjhoCisgICAgICAg IHNxcnNocnVuICAgICAgICB2NC44YiwgdjQuOGgsICM3CisgICAgICAgIHNxcnNocnVuMiAg ICAgICB2NC4xNmIsIHY1LjhoLCAjNworICAgICAgICBzdDEgICAgICAgICAgICAge3Y0LjE2 Yn0sIFt4MF0sIHgxCisgICAgICAgIHN1YnMgICAgICAgICAgICB3NSwgdzUsICMxCisuZW5k bQorMTogICAgICBjYWxjX2FsbDgKKy5wdXJnZW0gY2FsYworMjogICAgICByZXQKK2VuZGZ1 bmMKKworZnVuY3Rpb24gZmZfaGV2Y19wdXRfaGV2Y19lcGVsX2JpX2h2MjRfOF9uZW9uX2k4 bW0sIGV4cG9ydD0xCisgICAgICAgIGFkZCAgICAgICAgICAgICB3MTAsIHc1LCAjMworICAg ICAgICBsc2wgICAgICAgICAgICAgeDEwLCB4MTAsICM3CisgICAgICAgIHN1YiAgICAgICAg ICAgICBzcCwgc3AsIHgxMCAvLyB0bXBfYXJyYXkKKyAgICAgICAgc3RwICAgICAgICAgICAg IHg3LCB4MzAsIFtzcCwgIy00OF0hCisgICAgICAgIHN0cCAgICAgICAgICAgICB4NCwgeDUs IFtzcCwgIzE2XQorICAgICAgICBzdHAgICAgICAgICAgICAgeDAsIHgxLCBbc3AsICMzMl0K KyAgICAgICAgYWRkICAgICAgICAgICAgIHgwLCBzcCwgIzQ4CisgICAgICAgIHN1YiAgICAg ICAgICAgICB4MSwgeDIsIHgzCisgICAgICAgIG1vdiAgICAgICAgICAgICB4MiwgeDMKKyAg ICAgICAgYWRkICAgICAgICAgICAgIHczLCB3NSwgIzMKKyAgICAgICAgbW92ICAgICAgICAg ICAgIHg0LCB4NgorICAgICAgICBtb3YgICAgICAgICAgICAgeDUsIHg3CisgICAgICAgIGJs ICAgICAgICAgICAgICBYKGZmX2hldmNfcHV0X2hldmNfZXBlbF9oMjRfOF9uZW9uX2k4bW0p CisgICAgICAgIGxkcCAgICAgICAgICAgICB4NCwgeDUsIFtzcCwgIzE2XQorICAgICAgICBs ZHAgICAgICAgICAgICAgeDAsIHgxLCBbc3AsICMzMl0KKyAgICAgICAgbGRwICAgICAgICAg ICAgIHg3LCB4MzAsIFtzcF0sICM0OAorICAgICAgICBsb2FkX2VwZWxfZmlsdGVyaCB4Nywg eDYKKyAgICAgICAgbW92ICAgICAgICAgICAgIHgxMCwgIyhNQVhfUEJfU0laRSAqIDIpCisg ICAgICAgIGxkMSAgICAgICAgICAgIHt2MTYuOGgsIHYxNy44aCwgdjE4LjhofSwgW3NwXSwg eDEwCisgICAgICAgIGxkMSAgICAgICAgICAgIHt2MTkuOGgsIHYyMC44aCwgdjIxLjhofSwg W3NwXSwgeDEwCisgICAgICAgIGxkMSAgICAgICAgICAgIHt2MjIuOGgsIHYyMy44aCwgdjI0 LjhofSwgW3NwXSwgeDEwCisubWFjcm8gY2FsYyBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBz cmM0LCBzcmM1LCBzcmM2LCBzcmM3LCBzcmM4LCBzcmM5LCBzcmMxMCwgc3JjMTEKKyAgICAg ICAgbGQxICAgICAgICAgICAge1xzcmM5XCgpLjhoLCBcc3JjMTBcKCkuOGgsIFxzcmMxMVwo KS44aH0sIFtzcF0sIHgxMAorICAgICAgICBjYWxjX2VwZWxoICAgICAgdjEsICAgICBcc3Jj MCwgXHNyYzMsIFxzcmM2LCBcc3JjOQorICAgICAgICBjYWxjX2VwZWxoMiAgICAgdjEsIHYy LCBcc3JjMCwgXHNyYzMsIFxzcmM2LCBcc3JjOQorICAgICAgICBjYWxjX2VwZWxoICAgICAg djIsICAgICBcc3JjMSwgXHNyYzQsIFxzcmM3LCBcc3JjMTAKKyAgICAgICAgY2FsY19lcGVs aDIgICAgIHYyLCB2MywgXHNyYzEsIFxzcmM0LCBcc3JjNywgXHNyYzEwCisgICAgICAgIGNh bGNfZXBlbGggICAgICB2MywgICAgIFxzcmMyLCBcc3JjNSwgXHNyYzgsIFxzcmMxMQorICAg ICAgICBjYWxjX2VwZWxoMiAgICAgdjMsIHY0LCBcc3JjMiwgXHNyYzUsIFxzcmM4LCBcc3Jj MTEKKyAgICAgICAgbGQxICAgICAgICAgICAge3Y0LjhoLCB2NS44aCwgdjYuOGh9LCBbeDRd LCB4MTAKKyAgICAgICAgc3FhZGQgICAgICAgICAgIHYxLjhoLCB2MS44aCwgdjQuOGgKKyAg ICAgICAgc3FhZGQgICAgICAgICAgIHYyLjhoLCB2Mi44aCwgdjUuOGgKKyAgICAgICAgc3Fh ZGQgICAgICAgICAgIHYzLjhoLCB2My44aCwgdjYuOGgKKyAgICAgICAgc3Fyc2hydW4gICAg ICAgIHYxLjhiLCB2MS44aCwgIzcKKyAgICAgICAgc3Fyc2hydW4gICAgICAgIHYyLjhiLCB2 Mi44aCwgIzcKKyAgICAgICAgc3Fyc2hydW4gICAgICAgIHYzLjhiLCB2My44aCwgIzcKKyAg ICAgICAgc3VicyAgICAgICAgICAgIHc1LCB3NSwgIzEKKyAgICAgICAgc3QxICAgICAgICAg ICAge3YxLjhiLCB2Mi44YiwgdjMuOGJ9LCBbeDBdLCB4MQorLmVuZG0KKzE6ICAgICAgY2Fs Y19hbGwxMgorLnB1cmdlbSBjYWxjCisyOiAgICAgIHJldAorZW5kZnVuYworCitmdW5jdGlv biBmZl9oZXZjX3B1dF9oZXZjX2VwZWxfYmlfaHYzMl84X25lb25faThtbSwgZXhwb3J0PTEK KyAgICAgICAgc3ViICAgICAgICAgICAgIHNwLCBzcCwgIzE2CisgICAgICAgIHN0ciAgICAg ICAgICAgICBkOCwgW3NwXQorICAgICAgICBhZGQgICAgICAgICAgICAgdzEwLCB3NSwgIzMK KyAgICAgICAgbHNsICAgICAgICAgICAgIHgxMCwgeDEwLCAjNworICAgICAgICBzdWIgICAg ICAgICAgICAgc3AsIHNwLCB4MTAgLy8gdG1wX2FycmF5CisgICAgICAgIHN0cCAgICAgICAg ICAgICB4NywgeDMwLCBbc3AsICMtNDhdIQorICAgICAgICBzdHAgICAgICAgICAgICAgeDQs IHg1LCBbc3AsICMxNl0KKyAgICAgICAgc3RwICAgICAgICAgICAgIHgwLCB4MSwgW3NwLCAj MzJdCisgICAgICAgIGFkZCAgICAgICAgICAgICB4MCwgc3AsICM0OAorICAgICAgICBzdWIg ICAgICAgICAgICAgeDEsIHgyLCB4MworICAgICAgICBtb3YgICAgICAgICAgICAgeDIsIHgz CisgICAgICAgIGFkZCAgICAgICAgICAgICB3MywgdzUsICMzCisgICAgICAgIG1vdiAgICAg ICAgICAgICB4NCwgeDYKKyAgICAgICAgbW92ICAgICAgICAgICAgIHg1LCB4NworICAgICAg ICBibCAgICAgICAgICAgICAgWChmZl9oZXZjX3B1dF9oZXZjX2VwZWxfaDMyXzhfbmVvbl9p OG1tKQorICAgICAgICBsZHAgICAgICAgICAgICAgeDQsIHg1LCBbc3AsICMxNl0KKyAgICAg ICAgbGRwICAgICAgICAgICAgIHgwLCB4MSwgW3NwLCAjMzJdCisgICAgICAgIGxkcCAgICAg ICAgICAgICB4NywgeDMwLCBbc3BdLCAjNDgKKyAgICAgICAgbG9hZF9lcGVsX2ZpbHRlcmgg eDcsIHg2CisgICAgICAgIG1vdiAgICAgICAgICAgICB4MTAsICMoTUFYX1BCX1NJWkUgKiAy KQorICAgICAgICBsZDEgICAgICAgICAgICAge3YxNi44aCwgdjE3LjhoLCB2MTguOGgsIHYx OS44aH0sIFtzcF0sIHgxMAorICAgICAgICBsZDEgICAgICAgICAgICAge3YyMC44aCwgdjIx LjhoLCB2MjIuOGgsIHYyMy44aH0sIFtzcF0sIHgxMAorICAgICAgICBsZDEgICAgICAgICAg ICAge3YyNC44aCwgdjI1LjhoLCB2MjYuOGgsIHYyNy44aH0sIFtzcF0sIHgxMAorLm1hY3Jv IGNhbGMgc3JjMCwgc3JjMSwgc3JjMiwgc3JjMywgc3JjNCwgc3JjNSwgc3JjNiwgc3JjNywg c3JjOCwgc3JjOSwgc3JjMTAsIHNyYzExLCBzcmMxMiwgc3JjMTMsIHNyYzE0LCBzcmMxNQor ICAgICAgICBsZDEgICAgICAgICAgICAge1xzcmMxMlwoKS44aCwgXHNyYzEzXCgpLjhoLCBc c3JjMTRcKCkuOGgsIFxzcmMxNVwoKS44aH0sIFtzcF0sIHgxMAorICAgICAgICBjYWxjX2Vw ZWxoICAgICAgdjEsICAgICBcc3JjMCwgXHNyYzQsIFxzcmM4LCAgXHNyYzEyCisgICAgICAg IGNhbGNfZXBlbGgyICAgICB2MSwgdjIsIFxzcmMwLCBcc3JjNCwgXHNyYzgsICBcc3JjMTIK KyAgICAgICAgY2FsY19lcGVsaCAgICAgIHYyLCAgICAgXHNyYzEsIFxzcmM1LCBcc3JjOSwg IFxzcmMxMworICAgICAgICBjYWxjX2VwZWxoMiAgICAgdjIsIHYzLCBcc3JjMSwgXHNyYzUs IFxzcmM5LCAgXHNyYzEzCisgICAgICAgIGNhbGNfZXBlbGggICAgICB2MywgICAgIFxzcmMy LCBcc3JjNiwgXHNyYzEwLCBcc3JjMTQKKyAgICAgICAgY2FsY19lcGVsaDIgICAgIHYzLCB2 NCwgXHNyYzIsIFxzcmM2LCBcc3JjMTAsIFxzcmMxNAorICAgICAgICBjYWxjX2VwZWxoICAg ICAgdjQsICAgICBcc3JjMywgXHNyYzcsIFxzcmMxMSwgXHNyYzE1CisgICAgICAgIGNhbGNf ZXBlbGgyICAgICB2NCwgdjUsIFxzcmMzLCBcc3JjNywgXHNyYzExLCBcc3JjMTUKKyAgICAg ICAgbGQxICAgICAgICAgICAgIHt2NS44aCwgdjYuOGgsIHY3LjhoLCB2OC44aH0sIFt4NF0s IHgxMAorICAgICAgICBzcWFkZCAgICAgICAgICAgdjEuOGgsIHYxLjhoLCB2NS44aAorICAg ICAgICBzcWFkZCAgICAgICAgICAgdjIuOGgsIHYyLjhoLCB2Ni44aAorICAgICAgICBzcWFk ZCAgICAgICAgICAgdjMuOGgsIHYzLjhoLCB2Ny44aAorICAgICAgICBzcWFkZCAgICAgICAg ICAgdjQuOGgsIHY0LjhoLCB2OC44aAorICAgICAgICBzcXJzaHJ1biAgICAgICAgdjEuOGIs IHYxLjhoLCAjNworICAgICAgICBzcXJzaHJ1biAgICAgICAgdjIuOGIsIHYyLjhoLCAjNwor ICAgICAgICBzcXJzaHJ1biAgICAgICAgdjMuOGIsIHYzLjhoLCAjNworICAgICAgICBzcXJz aHJ1biAgICAgICAgdjQuOGIsIHY0LjhoLCAjNworICAgICAgICBzdDEgICAgICAgICAgICAg e3YxLjhiLCB2Mi44YiwgdjMuOGIsIHY0LjhifSwgW3gwXSwgeDEKKyAgICAgICAgc3VicyAg ICAgICAgICAgIHc1LCB3NSwgIzEKKy5lbmRtCisxOiAgICAgIGNhbGNfYWxsMTYKKy5wdXJn ZW0gY2FsYworMjogICAgICBsZHIgICAgICAgICAgICAgZDgsIFtzcF0sICMxNgorICAgICAg ICByZXQKK2VuZGZ1bmMKKworZnVuY3Rpb24gZmZfaGV2Y19wdXRfaGV2Y19lcGVsX2JpX2h2 NDhfOF9uZW9uX2k4bW0sIGV4cG9ydD0xCisgICAgICAgIHN0cCAgICAgICAgICAgICB4Niwg eDcsIFtzcCwgIy04MF0hCisgICAgICAgIHN0cCAgICAgICAgICAgICB4NCwgeDUsIFtzcCwg IzE2XQorICAgICAgICBzdHAgICAgICAgICAgICAgeDIsIHgzLCBbc3AsICMzMl0KKyAgICAg ICAgc3RwICAgICAgICAgICAgIHgwLCB4MSwgW3NwLCAjNDhdCisgICAgICAgIHN0ciAgICAg ICAgICAgICB4MzAsIFtzcCwgIzY0XQorICAgICAgICBibCAgICAgICAgICAgICAgWChmZl9o ZXZjX3B1dF9oZXZjX2VwZWxfYmlfaHYyNF84X25lb25faThtbSkKKyAgICAgICAgbGRwICAg ICAgICAgICAgIHg0LCB4NSwgW3NwLCAjMTZdCisgICAgICAgIGxkcCAgICAgICAgICAgICB4 MiwgeDMsIFtzcCwgIzMyXQorICAgICAgICBsZHAgICAgICAgICAgICAgeDAsIHgxLCBbc3As ICM0OF0KKyAgICAgICAgbGRwICAgICAgICAgICAgIHg2LCB4NywgW3NwXSwgIzY0CisgICAg ICAgIGFkZCAgICAgICAgICAgICB4MCwgeDAsICMyNAorICAgICAgICBhZGQgICAgICAgICAg ICAgeDIsIHgyLCAjMjQKKyAgICAgICAgYWRkICAgICAgICAgICAgIHg0LCB4NCwgIzQ4Cisg ICAgICAgIGJsICAgICAgICAgICAgICBYKGZmX2hldmNfcHV0X2hldmNfZXBlbF9iaV9odjI0 XzhfbmVvbl9pOG1tKQorICAgICAgICBsZHIgICAgICAgICAgICAgeDMwLCBbc3BdLCAjMTYK KyAgICAgICAgcmV0CitlbmRmdW5jCisKK2Z1bmN0aW9uIGZmX2hldmNfcHV0X2hldmNfZXBl bF9iaV9odjY0XzhfbmVvbl9pOG1tLCBleHBvcnQ9MQorICAgICAgICBzdHAgICAgICAgICAg ICAgeDYsIHg3LCBbc3AsICMtODBdIQorICAgICAgICBzdHAgICAgICAgICAgICAgeDQsIHg1 LCBbc3AsICMxNl0KKyAgICAgICAgc3RwICAgICAgICAgICAgIHgyLCB4MywgW3NwLCAjMzJd CisgICAgICAgIHN0cCAgICAgICAgICAgICB4MCwgeDEsIFtzcCwgIzQ4XQorICAgICAgICBz dHIgICAgICAgICAgICAgeDMwLCBbc3AsICM2NF0KKyAgICAgICAgYmwgICAgICAgICAgICAg IFgoZmZfaGV2Y19wdXRfaGV2Y19lcGVsX2JpX2h2MzJfOF9uZW9uX2k4bW0pCisgICAgICAg IGxkcCAgICAgICAgICAgICB4NCwgeDUsIFtzcCwgIzE2XQorICAgICAgICBsZHAgICAgICAg ICAgICAgeDIsIHgzLCBbc3AsICMzMl0KKyAgICAgICAgbGRwICAgICAgICAgICAgIHgwLCB4 MSwgW3NwLCAjNDhdCisgICAgICAgIGxkcCAgICAgICAgICAgICB4NiwgeDcsIFtzcF0sICM2 NAorICAgICAgICBhZGQgICAgICAgICAgICAgeDAsIHgwLCAjMzIKKyAgICAgICAgYWRkICAg ICAgICAgICAgIHgyLCB4MiwgIzMyCisgICAgICAgIGFkZCAgICAgICAgICAgICB4NCwgeDQs ICM2NAorICAgICAgICBibCAgICAgICAgICAgICAgWChmZl9oZXZjX3B1dF9oZXZjX2VwZWxf YmlfaHYzMl84X25lb25faThtbSkKKyAgICAgICAgbGRyICAgICAgICAgICAgIHgzMCwgW3Nw XSwgIzE2CisgICAgICAgIHJldAorZW5kZnVuYworCiBESVNBQkxFX0k4TU0KICNlbmRpZgog CmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2FhcmNoNjQvaGV2Y2RzcF9pbml0X2FhcmNoNjQu YyBiL2xpYmF2Y29kZWMvYWFyY2g2NC9oZXZjZHNwX2luaXRfYWFyY2g2NC5jCmluZGV4IGEw ZjBmMDcyZjguLmRhNWUyMzU3NWQgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvYWFyY2g2NC9o ZXZjZHNwX2luaXRfYWFyY2g2NC5jCisrKyBiL2xpYmF2Y29kZWMvYWFyY2g2NC9oZXZjZHNw X2luaXRfYWFyY2g2NC5jCkBAIC0xNjgsNiArMTY4LDEwIEBAIE5FT044X0ZOUFJPVE8oZXBl bF9iaV92LCAodWludDhfdCAqZHN0LCBwdHJkaWZmX3QgZHN0c3RyaWRlLAogICAgICAgICBj b25zdCB1aW50OF90ICpzcmMsIHB0cmRpZmZfdCBzcmNzdHJpZGUsIGNvbnN0IGludDE2X3Qg KnNyYzIsCiAgICAgICAgIGludCBoZWlnaHQsIGludHB0cl90IG14LCBpbnRwdHJfdCBteSwg aW50IHdpZHRoKSwpOwogCitORU9OOF9GTlBST1RPKGVwZWxfYmlfaHYsICh1aW50OF90ICpk c3QsIHB0cmRpZmZfdCBkc3RzdHJpZGUsCisgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnNyYywg cHRyZGlmZl90IHNyY3N0cmlkZSwgY29uc3QgaW50MTZfdCAqc3JjMiwKKyAgICAgICAgaW50 IGhlaWdodCwgaW50cHRyX3QgbXgsIGludHB0cl90IG15LCBpbnQgd2lkdGgpLCBfaThtbSk7 CisKIE5FT044X0ZOUFJPVE8oZXBlbF92LCAodWludDhfdCAqZHN0LCBwdHJkaWZmX3QgZHN0 c3RyaWRlLAogICAgICAgICBjb25zdCB1aW50OF90ICpfc3JjLCBwdHJkaWZmX3QgX3NyY3N0 cmlkZSwgY29uc3QgaW50MTZfdCAqc3JjMiwKICAgICAgICAgaW50IGhlaWdodCwgaW50cHRy X3QgbXgsIGludHB0cl90IG15LCBpbnQgd2lkdGgpLCk7CkBAIC0zNTQsNiArMzU4LDcgQEAg YXZfY29sZCB2b2lkIGZmX2hldmNfZHNwX2luaXRfYWFyY2g2NChIRVZDRFNQQ29udGV4dCAq YywgY29uc3QgaW50IGJpdF9kZXB0aCkKICAgICAgICAgICAgIE5FT044X0ZOQVNTSUdOKGMt PnB1dF9oZXZjX2VwZWwsIDEsIDEsIGVwZWxfaHYsIF9pOG1tKTsKICAgICAgICAgICAgIE5F T044X0ZOQVNTSUdOKGMtPnB1dF9oZXZjX2VwZWxfdW5pLCAxLCAxLCBlcGVsX3VuaV9odiwg X2k4bW0pOwogICAgICAgICAgICAgTkVPTjhfRk5BU1NJR04oYy0+cHV0X2hldmNfZXBlbF91 bmlfdywgMCwgMSwgZXBlbF91bmlfd19oICxfaThtbSk7CisgICAgICAgICAgICBORU9OOF9G TkFTU0lHTihjLT5wdXRfaGV2Y19lcGVsX2JpLCAxLCAxLCBlcGVsX2JpX2h2LCBfaThtbSk7 CiAgICAgICAgICAgICBORU9OOF9GTkFTU0lHTihjLT5wdXRfaGV2Y19xcGVsLCAwLCAxLCBx cGVsX2gsIF9pOG1tKTsKICAgICAgICAgICAgIE5FT044X0ZOQVNTSUdOKGMtPnB1dF9oZXZj X3FwZWwsIDEsIDEsIHFwZWxfaHYsIF9pOG1tKTsKICAgICAgICAgICAgIE5FT044X0ZOQVNT SUdOKGMtPnB1dF9oZXZjX3FwZWxfdW5pLCAxLCAxLCBxcGVsX3VuaV9odiwgX2k4bW0pOwot LSAKMi4zOC4wLndpbmRvd3MuMQoK --------------dfqSV08m6UfdAh4DFnyOCY1E 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". --------------dfqSV08m6UfdAh4DFnyOCY1E--