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 85A0B45004 for ; Sat, 18 Nov 2023 02:07:41 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 19C3968CD7E; Sat, 18 Nov 2023 04:07:16 +0200 (EET) Received: from smtp-my3-01p4.yunyou.top (smtp-my3-01p4.yunyou.top [60.247.169.4]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 29B6968C96C for ; Sat, 18 Nov 2023 04:07:09 +0200 (EET) Received: from [192.168.15.105] (unknown [122.233.146.151]) by smtp-my-01.yunyou.top (WestCloudMail) with ESMTPA id 55DB7141F28; Sat, 18 Nov 2023 10:07:04 +0800 (CST) Content-Type: multipart/mixed; boundary="------------rXNcHr8MJPHMMVSGxKJ9EoQk" Message-ID: <9dc635d0-a01d-43a8-aeff-bec37d6143a1@myais.com.cn> Date: Sat, 18 Nov 2023 10:07:04 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: "Logan.Lyu" To: ffmpeg-devel@ffmpeg.org Organization: myais Subject: [FFmpeg-devel] [PATCH 5/6] lavc/aarch64: new optimization for 8-bit hevc_qpel_bi_v 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. --------------rXNcHr8MJPHMMVSGxKJ9EoQk Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit put_hevc_qpel_bi_v4_8_c: 166.1 put_hevc_qpel_bi_v4_8_neon: 61.9 put_hevc_qpel_bi_v6_8_c: 309.4 put_hevc_qpel_bi_v6_8_neon: 75.6 put_hevc_qpel_bi_v8_8_c: 531.1 put_hevc_qpel_bi_v8_8_neon: 78.1 put_hevc_qpel_bi_v12_8_c: 1139.9 put_hevc_qpel_bi_v12_8_neon: 238.1 put_hevc_qpel_bi_v16_8_c: 2063.6 put_hevc_qpel_bi_v16_8_neon: 308.9 put_hevc_qpel_bi_v24_8_c: 4317.1 put_hevc_qpel_bi_v24_8_neon: 629.9 put_hevc_qpel_bi_v32_8_c: 8241.9 put_hevc_qpel_bi_v32_8_neon: 1140.1 put_hevc_qpel_bi_v48_8_c: 18422.9 put_hevc_qpel_bi_v48_8_neon: 2533.9 put_hevc_qpel_bi_v64_8_c: 37508.6 put_hevc_qpel_bi_v64_8_neon: 4520.1 Co-Authored-By: J. Dekker Signed-off-by: Logan Lyu --- libavcodec/aarch64/hevcdsp_init_aarch64.c | 5 + libavcodec/aarch64/hevcdsp_qpel_neon.S | 248 ++++++++++++++++++++++ 2 files changed, 253 insertions(+) diff --git a/libavcodec/aarch64/hevcdsp_init_aarch64.c b/libavcodec/aarch64/hevcdsp_init_aarch64.c index da5e23575d..f2cce3d221 100644 --- a/libavcodec/aarch64/hevcdsp_init_aarch64.c +++ b/libavcodec/aarch64/hevcdsp_init_aarch64.c @@ -251,6 +251,10 @@ NEON8_FNPROTO_PARTIAL_5(qpel_uni_w_hv, (uint8_t *_dst, ptrdiff_t _dststride, int height, int denom, int wx, int ox, intptr_t mx, intptr_t my, int width), _i8mm); +NEON8_FNPROTO(qpel_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),); + #define NEON8_FNASSIGN(member, v, h, fn, ext) \ member[1][v][h] = ff_hevc_put_hevc_##fn##4_8_neon##ext; \ member[2][v][h] = ff_hevc_put_hevc_##fn##6_8_neon##ext; \ @@ -344,6 +348,7 @@ av_cold void ff_hevc_dsp_init_aarch64(HEVCDSPContext *c, const int bit_depth) NEON8_FNASSIGN(c->put_hevc_epel_bi, 0, 1, epel_bi_h,); NEON8_FNASSIGN(c->put_hevc_epel_bi, 1, 0, epel_bi_v,); NEON8_FNASSIGN(c->put_hevc_qpel_bi, 0, 0, pel_bi_pixels,); + NEON8_FNASSIGN(c->put_hevc_qpel_bi, 1, 0, qpel_bi_v,); 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,); diff --git a/libavcodec/aarch64/hevcdsp_qpel_neon.S b/libavcodec/aarch64/hevcdsp_qpel_neon.S index 8e257208e4..f9422942d8 100644 --- a/libavcodec/aarch64/hevcdsp_qpel_neon.S +++ b/libavcodec/aarch64/hevcdsp_qpel_neon.S @@ -866,6 +866,254 @@ function ff_hevc_put_hevc_qpel_v64_8_neon, export=1 ret endfunc +function ff_hevc_put_hevc_qpel_bi_v4_8_neon, export=1 + load_qpel_filterb x7, x6 + sub x2, x2, x3, lsl #1 + sub x2, x2, x3 + mov x12, #(MAX_PB_SIZE * 2) + ld1 {v16.s}[0], [x2], x3 + ld1 {v17.s}[0], [x2], x3 + ld1 {v18.s}[0], [x2], x3 + ld1 {v19.s}[0], [x2], x3 + ld1 {v20.s}[0], [x2], x3 + ld1 {v21.s}[0], [x2], x3 + ld1 {v22.s}[0], [x2], x3 +.macro calc tmp, src0, src1, src2, src3, src4, src5, src6, src7 + ld1 {\tmp\().s}[0], [x2], x3 + movi v24.8h, #0 + calc_qpelb v24, \src0, \src1, \src2, \src3, \src4, \src5, \src6, \src7 + ld1 {v25.4h}, [x4], x12 // src2 + sqadd v24.8h, v24.8h, v25.8h + sqrshrun v25.8b, v24.8h, #7 + subs w5, w5, #1 + st1 {v25.s}[0], [x0], x1 +.endm +1: calc_all +.purgem calc +2: ret +endfunc + +function ff_hevc_put_hevc_qpel_bi_v6_8_neon, export=1 + load_qpel_filterb x7, x6 + sub x2, x2, x3, lsl #1 + sub x2, x2, x3 + ld1 {v16.8b}, [x2], x3 + sub x1, x1, #4 + ld1 {v17.8b}, [x2], x3 + mov x12, #(MAX_PB_SIZE * 2) + ld1 {v18.8b}, [x2], x3 + ld1 {v19.8b}, [x2], x3 + ld1 {v20.8b}, [x2], x3 + ld1 {v21.8b}, [x2], x3 + ld1 {v22.8b}, [x2], x3 +.macro calc tmp, src0, src1, src2, src3, src4, src5, src6, src7 + ld1 {\tmp\().8b}, [x2], x3 + movi v24.8h, #0 + calc_qpelb v24, \src0, \src1, \src2, \src3, \src4, \src5, \src6, \src7 + ld1 {v25.8h}, [x4], x12 // src2 + sqadd v24.8h, v24.8h, v25.8h + sqrshrun v25.8b, v24.8h, #7 + st1 {v25.s}[0], [x0], #4 + subs w5, w5, #1 + st1 {v25.h}[2], [x0], x1 +.endm +1: calc_all +.purgem calc +2: ret +endfunc + +function ff_hevc_put_hevc_qpel_bi_v8_8_neon, export=1 + load_qpel_filterb x7, x6 + sub x2, x2, x3, lsl #1 + sub x2, x2, x3 + mov x12, #(MAX_PB_SIZE * 2) + ld1 {v16.8b}, [x2], x3 + ld1 {v17.8b}, [x2], x3 + ld1 {v18.8b}, [x2], x3 + ld1 {v19.8b}, [x2], x3 + ld1 {v20.8b}, [x2], x3 + ld1 {v21.8b}, [x2], x3 + ld1 {v22.8b}, [x2], x3 + .macro calc tmp, src0, src1, src2, src3, src4, src5, src6, src7 + ld1 {\tmp\().8b}, [x2], x3 + movi v24.8h, #0 + calc_qpelb v24, \src0, \src1, \src2, \src3, \src4, \src5, \src6, \src7 + ld1 {v25.8h}, [x4], x12 // src2 + sqadd v24.8h, v24.8h, v25.8h + sqrshrun v25.8b, v24.8h, #7 + subs w5, w5, #1 + st1 {v25.8b}, [x0], x1 +.endm +1: calc_all +.purgem calc +2: ret +endfunc + +function ff_hevc_put_hevc_qpel_bi_v12_8_neon, export=1 + load_qpel_filterb x7, x6 + sub x2, x2, x3, lsl #1 + sub x2, x2, x3 + sub x1, x1, #8 + ld1 {v16.16b}, [x2], x3 + mov x12, #(MAX_PB_SIZE * 2) + ld1 {v17.16b}, [x2], x3 + ld1 {v18.16b}, [x2], x3 + ld1 {v19.16b}, [x2], x3 + ld1 {v20.16b}, [x2], x3 + ld1 {v21.16b}, [x2], x3 + ld1 {v22.16b}, [x2], x3 +.macro calc tmp, src0, src1, src2, src3, src4, src5, src6, src7 + ld1 {\tmp\().16b}, [x2], x3 + movi v24.8h, #0 + movi v25.8h, #0 + calc_qpelb v24, \src0, \src1, \src2, \src3, \src4, \src5, \src6, \src7 + calc_qpelb2 v25, \src0, \src1, \src2, \src3, \src4, \src5, \src6, \src7 + ld1 {v26.8h, v27.8h}, [x4], x12 // src2 + sqadd v24.8h, v24.8h, v26.8h + sqadd v25.8h, v25.8h, v27.8h + sqrshrun v26.8b, v24.8h, #7 + sqrshrun2 v26.16b, v25.8h, #7 + st1 {v26.8b}, [x0], #8 + subs w5, w5, #1 + st1 {v26.s}[2], [x0], x1 +.endm +1: calc_all +.purgem calc +2: ret +endfunc + +function ff_hevc_put_hevc_qpel_bi_v16_8_neon, export=1 + load_qpel_filterb x7, x6 + sub x2, x2, x3, lsl #1 + sub x2, x2, x3 + mov x12, #(MAX_PB_SIZE * 2) + ld1 {v16.16b}, [x2], x3 + ld1 {v17.16b}, [x2], x3 + ld1 {v18.16b}, [x2], x3 + ld1 {v19.16b}, [x2], x3 + ld1 {v20.16b}, [x2], x3 + ld1 {v21.16b}, [x2], x3 + ld1 {v22.16b}, [x2], x3 +.macro calc tmp, src0, src1, src2, src3, src4, src5, src6, src7 + ld1 {\tmp\().16b}, [x2], x3 + movi v24.8h, #0 + movi v25.8h, #0 + calc_qpelb v24, \src0, \src1, \src2, \src3, \src4, \src5, \src6, \src7 + calc_qpelb2 v25, \src0, \src1, \src2, \src3, \src4, \src5, \src6, \src7 + ld1 {v26.8h, v27.8h}, [x4], x12 // src2 + sqadd v24.8h, v24.8h, v26.8h + sqadd v25.8h, v25.8h, v27.8h + sqrshrun v26.8b, v24.8h, #7 + subs w5, w5, #1 + sqrshrun2 v26.16b, v25.8h, #7 + st1 {v26.16b}, [x0], x1 +.endm +1: calc_all +.purgem calc +2: ret +endfunc + +function ff_hevc_put_hevc_qpel_bi_v24_8_neon, export=1 + stp x4, x5, [sp, #-64]! + stp x2, x3, [sp, #16] + stp x0, x1, [sp, #32] + stp x7, x30, [sp, #48] + bl X(ff_hevc_put_hevc_qpel_bi_v16_8_neon) + ldp x2, x3, [sp, #16] + ldp x0, x1, [sp, #32] + ldr x7, [sp, #48] + ldp x4, x5, [sp], #48 + add x0, x0, #16 + add x2, x2, #16 + add x4, x4, #32 + bl X(ff_hevc_put_hevc_qpel_bi_v8_8_neon) + ldr x30, [sp, #8] + add sp, sp, #16 + ret +endfunc + +function ff_hevc_put_hevc_qpel_bi_v32_8_neon, export=1 + stp d8, d9, [sp, #-64]! + stp d10, d11, [sp, #16] + stp d12, d13, [sp, #32] + stp d14, d15, [sp, #48] + sub x2, x2, x3, lsl #1 + sub x2, x2, x3 + load_qpel_filterb x7, x6 + ldr w6, [sp, #64] + mov x12, #(MAX_PB_SIZE * 2) +0: mov x8, x2 // src + ld1 {v16.16b, v17.16b}, [x8], x3 + mov w11, w5 // height + ld1 {v18.16b, v19.16b}, [x8], x3 + mov x10, x0 // dst + ld1 {v20.16b, v21.16b}, [x8], x3 + mov x9, x4 // src2 + ld1 {v22.16b, v23.16b}, [x8], x3 + ld1 {v24.16b, v25.16b}, [x8], x3 + ld1 {v26.16b, v27.16b}, [x8], x3 + ld1 {v28.16b, v29.16b}, [x8], x3 +.macro calc tmp0, tmp1, src0, src1, src2, src3, src4, src5, src6, src7, src8, src9, src10, src11, src12, src13, src14, src15 + ld1 {\tmp0\().8h, \tmp1\().8h}, [x8], x3 + movi v8.8h, #0 + movi v9.8h, #0 + movi v10.8h, #0 + movi v11.8h, #0 + calc_qpelb v8, \src0, \src1, \src2, \src3, \src4, \src5, \src6, \src7 + calc_qpelb2 v9, \src0, \src1, \src2, \src3, \src4, \src5, \src6, \src7 + calc_qpelb v10, \src8, \src9, \src10, \src11, \src12, \src13, \src14, \src15 + calc_qpelb2 v11, \src8, \src9, \src10, \src11, \src12, \src13, \src14, \src15 + ld1 {v12.8h, v13.8h, v14.8h, v15.8h}, [x9], x12 // src2 + sqadd v8.8h, v8.8h, v12.8h + sqadd v9.8h, v9.8h, v13.8h + sqadd v10.8h, v10.8h, v14.8h + sqadd v11.8h, v11.8h, v15.8h + sqrshrun v12.8b, v8.8h, #7 + sqrshrun2 v12.16b, v9.8h, #7 + sqrshrun v13.8b, v10.8h, #7 + sqrshrun2 v13.16b, v11.8h, #7 + subs x11, x11, #1 + st1 {v12.16b, v13.16b}, [x10], x1 +.endm +1: calc_all2 +.purgem calc +2: add x0, x0, #32 // dst + add x2, x2, #32 // src + add x4, x4, #64 // src2 + subs w6, w6, #32 + b.ne 0b + ldp d10, d11, [sp, #16] + ldp d12, d13, [sp, #32] + ldp d14, d15, [sp, #48] + ldp d8, d9, [sp], #64 + ret +endfunc + +function ff_hevc_put_hevc_qpel_bi_v48_8_neon, export=1 + mov x8, #32 + str x8, [sp, #-80]! + stp x4, x5, [sp, #16] + stp x2, x3, [sp, #32] + stp x0, x1, [sp, #48] + stp x7, x30, [sp, #64] + bl X(ff_hevc_put_hevc_qpel_bi_v32_8_neon) + ldp x4, x5, [sp, #16] + ldp x2, x3, [sp, #32] + ldp x0, x1, [sp, #48] + ldr x7, [sp, #64] + add sp, sp, #64 + add x0, x0, #32 + add x2, x2, #32 + add x4, x4, #64 + bl X(ff_hevc_put_hevc_qpel_bi_v16_8_neon) + ldr x30, [sp, #8] + add sp, sp, #16 + ret +endfunc + +function ff_hevc_put_hevc_qpel_bi_v64_8_neon, export=1 + b X(ff_hevc_put_hevc_qpel_bi_v32_8_neon) +endfunc function ff_hevc_put_hevc_pel_uni_pixels4_8_neon, export=1 1: -- 2.38.0.windows.1 --------------rXNcHr8MJPHMMVSGxKJ9EoQk Content-Type: text/plain; charset=UTF-8; name="0005-lavc-aarch64-new-optimization-for-8-bit-hevc_qpel_bi_v.patch" Content-Disposition: attachment; filename*0="0005-lavc-aarch64-new-optimization-for-8-bit-hevc_qpel_bi_v."; filename*1="patch" Content-Transfer-Encoding: base64 RnJvbSBmZGU2OTE5N2Y5OTdlMWU4MmIwODk1OTY5ODBiNDIyYTdhNTc1MTE4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBMb2dhbiBMeXUgPExvZ2FuLkx5dUBteWFpcy5jb20u Y24+CkRhdGU6IFN1biwgMTIgTm92IDIwMjMgMDg6MzI6MTAgKzA4MDAKU3ViamVjdDogW1BB VENIIDUvNl0gbGF2Yy9hYXJjaDY0OiBuZXcgb3B0aW1pemF0aW9uIGZvciA4LWJpdCBoZXZj X3FwZWxfYmlfdgoKcHV0X2hldmNfcXBlbF9iaV92NF84X2M6IDE2Ni4xCnB1dF9oZXZjX3Fw ZWxfYmlfdjRfOF9uZW9uOiA2MS45CnB1dF9oZXZjX3FwZWxfYmlfdjZfOF9jOiAzMDkuNApw dXRfaGV2Y19xcGVsX2JpX3Y2XzhfbmVvbjogNzUuNgpwdXRfaGV2Y19xcGVsX2JpX3Y4Xzhf YzogNTMxLjEKcHV0X2hldmNfcXBlbF9iaV92OF84X25lb246IDc4LjEKcHV0X2hldmNfcXBl bF9iaV92MTJfOF9jOiAxMTM5LjkKcHV0X2hldmNfcXBlbF9iaV92MTJfOF9uZW9uOiAyMzgu MQpwdXRfaGV2Y19xcGVsX2JpX3YxNl84X2M6IDIwNjMuNgpwdXRfaGV2Y19xcGVsX2JpX3Yx Nl84X25lb246IDMwOC45CnB1dF9oZXZjX3FwZWxfYmlfdjI0XzhfYzogNDMxNy4xCnB1dF9o ZXZjX3FwZWxfYmlfdjI0XzhfbmVvbjogNjI5LjkKcHV0X2hldmNfcXBlbF9iaV92MzJfOF9j OiA4MjQxLjkKcHV0X2hldmNfcXBlbF9iaV92MzJfOF9uZW9uOiAxMTQwLjEKcHV0X2hldmNf cXBlbF9iaV92NDhfOF9jOiAxODQyMi45CnB1dF9oZXZjX3FwZWxfYmlfdjQ4XzhfbmVvbjog MjUzMy45CnB1dF9oZXZjX3FwZWxfYmlfdjY0XzhfYzogMzc1MDguNgpwdXRfaGV2Y19xcGVs X2JpX3Y2NF84X25lb246IDQ1MjAuMQoKQ28tQXV0aG9yZWQtQnk6IEouIERla2tlciA8amRl a0BpdGFuaW11bC5saT4KLS0tCiBsaWJhdmNvZGVjL2FhcmNoNjQvaGV2Y2RzcF9pbml0X2Fh cmNoNjQuYyB8ICAgNSArCiBsaWJhdmNvZGVjL2FhcmNoNjQvaGV2Y2RzcF9xcGVsX25lb24u UyAgICB8IDI0OCArKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDI1 MyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9hYXJjaDY0L2hldmNk c3BfaW5pdF9hYXJjaDY0LmMgYi9saWJhdmNvZGVjL2FhcmNoNjQvaGV2Y2RzcF9pbml0X2Fh cmNoNjQuYwppbmRleCBkYTVlMjM1NzVkLi5mMmNjZTNkMjIxIDEwMDY0NAotLS0gYS9saWJh dmNvZGVjL2FhcmNoNjQvaGV2Y2RzcF9pbml0X2FhcmNoNjQuYworKysgYi9saWJhdmNvZGVj L2FhcmNoNjQvaGV2Y2RzcF9pbml0X2FhcmNoNjQuYwpAQCAtMjUxLDYgKzI1MSwxMCBAQCBO RU9OOF9GTlBST1RPX1BBUlRJQUxfNShxcGVsX3VuaV93X2h2LCAodWludDhfdCAqX2RzdCwg IHB0cmRpZmZfdCBfZHN0c3RyaWRlLAogICAgICAgICBpbnQgaGVpZ2h0LCBpbnQgZGVub20s IGludCB3eCwgaW50IG94LAogICAgICAgICBpbnRwdHJfdCBteCwgaW50cHRyX3QgbXksIGlu dCB3aWR0aCksIF9pOG1tKTsKIAorTkVPTjhfRk5QUk9UTyhxcGVsX2JpX3YsICh1aW50OF90 ICpkc3QsIHB0cmRpZmZfdCBkc3RzdHJpZGUsCisgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnNy YywgcHRyZGlmZl90IHNyY3N0cmlkZSwgY29uc3QgaW50MTZfdCAqc3JjMiwKKyAgICAgICAg aW50IGhlaWdodCwgaW50cHRyX3QgbXgsIGludHB0cl90IG15LCBpbnQgd2lkdGgpLCk7CisK ICNkZWZpbmUgTkVPTjhfRk5BU1NJR04obWVtYmVyLCB2LCBoLCBmbiwgZXh0KSBcCiAgICAg ICAgIG1lbWJlclsxXVt2XVtoXSA9IGZmX2hldmNfcHV0X2hldmNfIyNmbiMjNF84X25lb24j I2V4dDsgIFwKICAgICAgICAgbWVtYmVyWzJdW3ZdW2hdID0gZmZfaGV2Y19wdXRfaGV2Y18j I2ZuIyM2XzhfbmVvbiMjZXh0OyAgXApAQCAtMzQ0LDYgKzM0OCw3IEBAIGF2X2NvbGQgdm9p ZCBmZl9oZXZjX2RzcF9pbml0X2FhcmNoNjQoSEVWQ0RTUENvbnRleHQgKmMsIGNvbnN0IGlu dCBiaXRfZGVwdGgpCiAgICAgICAgIE5FT044X0ZOQVNTSUdOKGMtPnB1dF9oZXZjX2VwZWxf YmksIDAsIDEsIGVwZWxfYmlfaCwpOwogICAgICAgICBORU9OOF9GTkFTU0lHTihjLT5wdXRf aGV2Y19lcGVsX2JpLCAxLCAwLCBlcGVsX2JpX3YsKTsKICAgICAgICAgTkVPTjhfRk5BU1NJ R04oYy0+cHV0X2hldmNfcXBlbF9iaSwgMCwgMCwgcGVsX2JpX3BpeGVscywpOworICAgICAg ICBORU9OOF9GTkFTU0lHTihjLT5wdXRfaGV2Y19xcGVsX2JpLCAxLCAwLCBxcGVsX2JpX3Ys KTsKICAgICAgICAgTkVPTjhfRk5BU1NJR04oYy0+cHV0X2hldmNfZXBlbF91bmksIDAsIDAs IHBlbF91bmlfcGl4ZWxzLCk7CiAgICAgICAgIE5FT044X0ZOQVNTSUdOKGMtPnB1dF9oZXZj X2VwZWxfdW5pLCAxLCAwLCBlcGVsX3VuaV92LCk7CiAgICAgICAgIE5FT044X0ZOQVNTSUdO KGMtPnB1dF9oZXZjX3FwZWxfdW5pLCAwLCAwLCBwZWxfdW5pX3BpeGVscywpOwpkaWZmIC0t Z2l0IGEvbGliYXZjb2RlYy9hYXJjaDY0L2hldmNkc3BfcXBlbF9uZW9uLlMgYi9saWJhdmNv ZGVjL2FhcmNoNjQvaGV2Y2RzcF9xcGVsX25lb24uUwppbmRleCA4ZTI1NzIwOGU0Li5mOTQy Mjk0MmQ4IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2FhcmNoNjQvaGV2Y2RzcF9xcGVsX25l b24uUworKysgYi9saWJhdmNvZGVjL2FhcmNoNjQvaGV2Y2RzcF9xcGVsX25lb24uUwpAQCAt ODY2LDYgKzg2NiwyNTQgQEAgZnVuY3Rpb24gZmZfaGV2Y19wdXRfaGV2Y19xcGVsX3Y2NF84 X25lb24sIGV4cG9ydD0xCiAgICAgICAgIHJldAogZW5kZnVuYwogCitmdW5jdGlvbiBmZl9o ZXZjX3B1dF9oZXZjX3FwZWxfYmlfdjRfOF9uZW9uLCBleHBvcnQ9MQorICAgICAgICBsb2Fk X3FwZWxfZmlsdGVyYiB4NywgeDYKKyAgICAgICAgc3ViICAgICAgICAgICAgIHgyLCB4Miwg eDMsIGxzbCAjMQorICAgICAgICBzdWIgICAgICAgICAgICAgeDIsIHgyLCB4MworICAgICAg ICBtb3YgICAgICAgICAgICAgeDEyLCAjKE1BWF9QQl9TSVpFICogMikKKyAgICAgICAgbGQx ICAgICAgICAgICAgIHt2MTYuc31bMF0sIFt4Ml0sIHgzCisgICAgICAgIGxkMSAgICAgICAg ICAgICB7djE3LnN9WzBdLCBbeDJdLCB4MworICAgICAgICBsZDEgICAgICAgICAgICAge3Yx OC5zfVswXSwgW3gyXSwgeDMKKyAgICAgICAgbGQxICAgICAgICAgICAgIHt2MTkuc31bMF0s IFt4Ml0sIHgzCisgICAgICAgIGxkMSAgICAgICAgICAgICB7djIwLnN9WzBdLCBbeDJdLCB4 MworICAgICAgICBsZDEgICAgICAgICAgICAge3YyMS5zfVswXSwgW3gyXSwgeDMKKyAgICAg ICAgbGQxICAgICAgICAgICAgIHt2MjIuc31bMF0sIFt4Ml0sIHgzCisubWFjcm8gY2FsYyB0 bXAsIHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMsIHNyYzQsIHNyYzUsIHNyYzYsIHNyYzcKKyAg ICAgICAgbGQxICAgICAgICAgICAgIHtcdG1wXCgpLnN9WzBdLCBbeDJdLCB4MworICAgICAg ICBtb3ZpICAgICAgICAgICAgdjI0LjhoLCAjMAorICAgICAgICBjYWxjX3FwZWxiICAgICAg djI0LCBcc3JjMCwgXHNyYzEsIFxzcmMyLCBcc3JjMywgXHNyYzQsIFxzcmM1LCBcc3JjNiwg XHNyYzcKKyAgICAgICAgbGQxICAgICAgICAgICAgIHt2MjUuNGh9LCBbeDRdLCB4MTIgLy8g c3JjMgorICAgICAgICBzcWFkZCAgICAgICAgICAgdjI0LjhoLCB2MjQuOGgsIHYyNS44aAor ICAgICAgICBzcXJzaHJ1biAgICAgICAgdjI1LjhiLCB2MjQuOGgsICM3CisgICAgICAgIHN1 YnMgICAgICAgICAgICB3NSwgdzUsICMxCisgICAgICAgIHN0MSAgICAgICAgICAgICB7djI1 LnN9WzBdLCBbeDBdLCB4MQorLmVuZG0KKzE6ICAgICAgY2FsY19hbGwKKy5wdXJnZW0gY2Fs YworMjogICAgICByZXQKK2VuZGZ1bmMKKworZnVuY3Rpb24gZmZfaGV2Y19wdXRfaGV2Y19x cGVsX2JpX3Y2XzhfbmVvbiwgZXhwb3J0PTEKKyAgICAgICAgbG9hZF9xcGVsX2ZpbHRlcmIg eDcsIHg2CisgICAgICAgIHN1YiAgICAgICAgICAgICB4MiwgeDIsIHgzLCBsc2wgIzEKKyAg ICAgICAgc3ViICAgICAgICAgICAgIHgyLCB4MiwgeDMKKyAgICAgICAgbGQxICAgICAgICAg ICAgIHt2MTYuOGJ9LCBbeDJdLCB4MworICAgICAgICBzdWIgICAgICAgICAgICAgeDEsIHgx LCAjNAorICAgICAgICBsZDEgICAgICAgICAgICAge3YxNy44Yn0sIFt4Ml0sIHgzCisgICAg ICAgIG1vdiAgICAgICAgICAgICB4MTIsICMoTUFYX1BCX1NJWkUgKiAyKQorICAgICAgICBs ZDEgICAgICAgICAgICAge3YxOC44Yn0sIFt4Ml0sIHgzCisgICAgICAgIGxkMSAgICAgICAg ICAgICB7djE5LjhifSwgW3gyXSwgeDMKKyAgICAgICAgbGQxICAgICAgICAgICAgIHt2MjAu OGJ9LCBbeDJdLCB4MworICAgICAgICBsZDEgICAgICAgICAgICAge3YyMS44Yn0sIFt4Ml0s IHgzCisgICAgICAgIGxkMSAgICAgICAgICAgICB7djIyLjhifSwgW3gyXSwgeDMKKy5tYWNy byBjYWxjIHRtcCwgc3JjMCwgc3JjMSwgc3JjMiwgc3JjMywgc3JjNCwgc3JjNSwgc3JjNiwg c3JjNworICAgICAgICBsZDEgICAgICAgICAgICAge1x0bXBcKCkuOGJ9LCBbeDJdLCB4Mwor ICAgICAgICBtb3ZpICAgICAgICAgICAgdjI0LjhoLCAjMAorICAgICAgICBjYWxjX3FwZWxi ICAgICAgdjI0LCBcc3JjMCwgXHNyYzEsIFxzcmMyLCBcc3JjMywgXHNyYzQsIFxzcmM1LCBc c3JjNiwgXHNyYzcKKyAgICAgICAgbGQxICAgICAgICAgICAgIHt2MjUuOGh9LCBbeDRdLCB4 MTIgLy8gc3JjMgorICAgICAgICBzcWFkZCAgICAgICAgICAgdjI0LjhoLCB2MjQuOGgsIHYy NS44aAorICAgICAgICBzcXJzaHJ1biAgICAgICAgdjI1LjhiLCB2MjQuOGgsICM3CisgICAg ICAgIHN0MSAgICAgICAgICAgICB7djI1LnN9WzBdLCBbeDBdLCAjNAorICAgICAgICBzdWJz ICAgICAgICAgICAgdzUsIHc1LCAjMQorICAgICAgICBzdDEgICAgICAgICAgICAge3YyNS5o fVsyXSwgW3gwXSwgeDEKKy5lbmRtCisxOiAgICAgIGNhbGNfYWxsCisucHVyZ2VtIGNhbGMK KzI6ICAgICAgcmV0CitlbmRmdW5jCisKK2Z1bmN0aW9uIGZmX2hldmNfcHV0X2hldmNfcXBl bF9iaV92OF84X25lb24sIGV4cG9ydD0xCisgICAgICAgIGxvYWRfcXBlbF9maWx0ZXJiIHg3 LCB4NgorICAgICAgICBzdWIgICAgICAgICAgICAgeDIsIHgyLCB4MywgbHNsICMxCisgICAg ICAgIHN1YiAgICAgICAgICAgICB4MiwgeDIsIHgzCisgICAgICAgIG1vdiAgICAgICAgICAg ICB4MTIsICMoTUFYX1BCX1NJWkUgKiAyKQorICAgICAgICBsZDEgICAgICAgICAgICAge3Yx Ni44Yn0sIFt4Ml0sIHgzCisgICAgICAgIGxkMSAgICAgICAgICAgICB7djE3LjhifSwgW3gy XSwgeDMKKyAgICAgICAgbGQxICAgICAgICAgICAgIHt2MTguOGJ9LCBbeDJdLCB4MworICAg ICAgICBsZDEgICAgICAgICAgICAge3YxOS44Yn0sIFt4Ml0sIHgzCisgICAgICAgIGxkMSAg ICAgICAgICAgICB7djIwLjhifSwgW3gyXSwgeDMKKyAgICAgICAgbGQxICAgICAgICAgICAg IHt2MjEuOGJ9LCBbeDJdLCB4MworICAgICAgICBsZDEgICAgICAgICAgICAge3YyMi44Yn0s IFt4Ml0sIHgzCisgLm1hY3JvIGNhbGMgdG1wLCBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBz cmM0LCBzcmM1LCBzcmM2LCBzcmM3CisgICAgICAgIGxkMSAgICAgICAgICAgICB7XHRtcFwo KS44Yn0sIFt4Ml0sIHgzCisgICAgICAgIG1vdmkgICAgICAgICAgICB2MjQuOGgsICMwCisg ICAgICAgIGNhbGNfcXBlbGIgICAgICB2MjQsIFxzcmMwLCBcc3JjMSwgXHNyYzIsIFxzcmMz LCBcc3JjNCwgXHNyYzUsIFxzcmM2LCBcc3JjNworICAgICAgICBsZDEgICAgICAgICAgICAg e3YyNS44aH0sIFt4NF0sIHgxMiAgIC8vIHNyYzIKKyAgICAgICAgc3FhZGQgICAgICAgICAg IHYyNC44aCwgdjI0LjhoLCB2MjUuOGgKKyAgICAgICAgc3Fyc2hydW4gICAgICAgIHYyNS44 YiwgdjI0LjhoLCAjNworICAgICAgICBzdWJzICAgICAgICAgICAgdzUsIHc1LCAjMQorICAg ICAgICBzdDEgICAgICAgICAgICAge3YyNS44Yn0sIFt4MF0sIHgxCisuZW5kbQorMTogICAg ICBjYWxjX2FsbAorLnB1cmdlbSBjYWxjCisyOiAgICAgIHJldAorZW5kZnVuYworCitmdW5j dGlvbiBmZl9oZXZjX3B1dF9oZXZjX3FwZWxfYmlfdjEyXzhfbmVvbiwgZXhwb3J0PTEKKyAg ICAgICAgbG9hZF9xcGVsX2ZpbHRlcmIgeDcsIHg2CisgICAgICAgIHN1YiAgICAgICAgICAg ICB4MiwgeDIsIHgzLCBsc2wgIzEKKyAgICAgICAgc3ViICAgICAgICAgICAgIHgyLCB4Miwg eDMKKyAgICAgICAgc3ViICAgICAgICAgICAgIHgxLCB4MSwgIzgKKyAgICAgICAgbGQxICAg ICAgICAgICAgIHt2MTYuMTZifSwgW3gyXSwgeDMKKyAgICAgICAgbW92ICAgICAgICAgICAg IHgxMiwgIyhNQVhfUEJfU0laRSAqIDIpCisgICAgICAgIGxkMSAgICAgICAgICAgICB7djE3 LjE2Yn0sIFt4Ml0sIHgzCisgICAgICAgIGxkMSAgICAgICAgICAgICB7djE4LjE2Yn0sIFt4 Ml0sIHgzCisgICAgICAgIGxkMSAgICAgICAgICAgICB7djE5LjE2Yn0sIFt4Ml0sIHgzCisg ICAgICAgIGxkMSAgICAgICAgICAgICB7djIwLjE2Yn0sIFt4Ml0sIHgzCisgICAgICAgIGxk MSAgICAgICAgICAgICB7djIxLjE2Yn0sIFt4Ml0sIHgzCisgICAgICAgIGxkMSAgICAgICAg ICAgICB7djIyLjE2Yn0sIFt4Ml0sIHgzCisubWFjcm8gY2FsYyB0bXAsIHNyYzAsIHNyYzEs IHNyYzIsIHNyYzMsIHNyYzQsIHNyYzUsIHNyYzYsIHNyYzcKKyAgICAgICAgbGQxICAgICAg ICAgICAgIHtcdG1wXCgpLjE2Yn0sIFt4Ml0sIHgzCisgICAgICAgIG1vdmkgICAgICAgICAg ICB2MjQuOGgsICMwCisgICAgICAgIG1vdmkgICAgICAgICAgICB2MjUuOGgsICMwCisgICAg ICAgIGNhbGNfcXBlbGIgICAgICB2MjQsIFxzcmMwLCBcc3JjMSwgXHNyYzIsIFxzcmMzLCBc c3JjNCwgXHNyYzUsIFxzcmM2LCBcc3JjNworICAgICAgICBjYWxjX3FwZWxiMiAgICAgdjI1 LCBcc3JjMCwgXHNyYzEsIFxzcmMyLCBcc3JjMywgXHNyYzQsIFxzcmM1LCBcc3JjNiwgXHNy YzcKKyAgICAgICAgbGQxICAgICAgICAgICAgIHt2MjYuOGgsIHYyNy44aH0sIFt4NF0sIHgx MiAgIC8vIHNyYzIKKyAgICAgICAgc3FhZGQgICAgICAgICAgIHYyNC44aCwgdjI0LjhoLCB2 MjYuOGgKKyAgICAgICAgc3FhZGQgICAgICAgICAgIHYyNS44aCwgdjI1LjhoLCB2MjcuOGgK KyAgICAgICAgc3Fyc2hydW4gICAgICAgIHYyNi44YiwgdjI0LjhoLCAjNworICAgICAgICBz cXJzaHJ1bjIgICAgICAgdjI2LjE2YiwgdjI1LjhoLCAjNworICAgICAgICBzdDEgICAgICAg ICAgICAge3YyNi44Yn0sIFt4MF0sICM4CisgICAgICAgIHN1YnMgICAgICAgICAgICB3NSwg dzUsICMxCisgICAgICAgIHN0MSAgICAgICAgICAgICB7djI2LnN9WzJdLCBbeDBdLCB4MQor LmVuZG0KKzE6ICAgICAgY2FsY19hbGwKKy5wdXJnZW0gY2FsYworMjogICAgICByZXQKK2Vu ZGZ1bmMKKworZnVuY3Rpb24gZmZfaGV2Y19wdXRfaGV2Y19xcGVsX2JpX3YxNl84X25lb24s IGV4cG9ydD0xCisgICAgICAgIGxvYWRfcXBlbF9maWx0ZXJiIHg3LCB4NgorICAgICAgICBz dWIgICAgICAgICAgICAgeDIsIHgyLCB4MywgbHNsICMxCisgICAgICAgIHN1YiAgICAgICAg ICAgICB4MiwgeDIsIHgzCisgICAgICAgIG1vdiAgICAgICAgICAgICB4MTIsICMoTUFYX1BC X1NJWkUgKiAyKQorICAgICAgICBsZDEgICAgICAgICAgICAge3YxNi4xNmJ9LCBbeDJdLCB4 MworICAgICAgICBsZDEgICAgICAgICAgICAge3YxNy4xNmJ9LCBbeDJdLCB4MworICAgICAg ICBsZDEgICAgICAgICAgICAge3YxOC4xNmJ9LCBbeDJdLCB4MworICAgICAgICBsZDEgICAg ICAgICAgICAge3YxOS4xNmJ9LCBbeDJdLCB4MworICAgICAgICBsZDEgICAgICAgICAgICAg e3YyMC4xNmJ9LCBbeDJdLCB4MworICAgICAgICBsZDEgICAgICAgICAgICAge3YyMS4xNmJ9 LCBbeDJdLCB4MworICAgICAgICBsZDEgICAgICAgICAgICAge3YyMi4xNmJ9LCBbeDJdLCB4 MworLm1hY3JvIGNhbGMgdG1wLCBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBzcmM0LCBzcmM1 LCBzcmM2LCBzcmM3CisgICAgICAgIGxkMSAgICAgICAgICAgICB7XHRtcFwoKS4xNmJ9LCBb eDJdLCB4MworICAgICAgICBtb3ZpICAgICAgICAgICAgdjI0LjhoLCAjMAorICAgICAgICBt b3ZpICAgICAgICAgICAgdjI1LjhoLCAjMAorICAgICAgICBjYWxjX3FwZWxiICAgICAgdjI0 LCBcc3JjMCwgXHNyYzEsIFxzcmMyLCBcc3JjMywgXHNyYzQsIFxzcmM1LCBcc3JjNiwgXHNy YzcKKyAgICAgICAgY2FsY19xcGVsYjIgICAgIHYyNSwgXHNyYzAsIFxzcmMxLCBcc3JjMiwg XHNyYzMsIFxzcmM0LCBcc3JjNSwgXHNyYzYsIFxzcmM3CisgICAgICAgIGxkMSAgICAgICAg ICAgICB7djI2LjhoLCB2MjcuOGh9LCBbeDRdLCB4MTIgICAvLyBzcmMyCisgICAgICAgIHNx YWRkICAgICAgICAgICB2MjQuOGgsIHYyNC44aCwgdjI2LjhoCisgICAgICAgIHNxYWRkICAg ICAgICAgICB2MjUuOGgsIHYyNS44aCwgdjI3LjhoCisgICAgICAgIHNxcnNocnVuICAgICAg ICB2MjYuOGIsIHYyNC44aCwgIzcKKyAgICAgICAgc3VicyAgICAgICAgICAgIHc1LCB3NSwg IzEKKyAgICAgICAgc3Fyc2hydW4yICAgICAgIHYyNi4xNmIsIHYyNS44aCwgIzcKKyAgICAg ICAgc3QxICAgICAgICAgICAgIHt2MjYuMTZifSwgW3gwXSwgeDEKKy5lbmRtCisxOiAgICAg IGNhbGNfYWxsCisucHVyZ2VtIGNhbGMKKzI6ICAgICAgcmV0CitlbmRmdW5jCisKK2Z1bmN0 aW9uIGZmX2hldmNfcHV0X2hldmNfcXBlbF9iaV92MjRfOF9uZW9uLCBleHBvcnQ9MQorICAg ICAgICBzdHAgICAgICAgICAgICAgeDQsIHg1LCBbc3AsICMtNjRdIQorICAgICAgICBzdHAg ICAgICAgICAgICAgeDIsIHgzLCBbc3AsICMxNl0KKyAgICAgICAgc3RwICAgICAgICAgICAg IHgwLCB4MSwgW3NwLCAjMzJdCisgICAgICAgIHN0cCAgICAgICAgICAgICB4NywgeDMwLCBb c3AsICM0OF0KKyAgICAgICAgYmwgICAgICAgICAgICAgIFgoZmZfaGV2Y19wdXRfaGV2Y19x cGVsX2JpX3YxNl84X25lb24pCisgICAgICAgIGxkcCAgICAgICAgICAgICB4MiwgeDMsIFtz cCwgIzE2XQorICAgICAgICBsZHAgICAgICAgICAgICAgeDAsIHgxLCBbc3AsICMzMl0KKyAg ICAgICAgbGRyICAgICAgICAgICAgIHg3LCBbc3AsICM0OF0KKyAgICAgICAgbGRwICAgICAg ICAgICAgIHg0LCB4NSwgW3NwXSwgIzQ4CisgICAgICAgIGFkZCAgICAgICAgICAgICB4MCwg eDAsICMxNgorICAgICAgICBhZGQgICAgICAgICAgICAgeDIsIHgyLCAjMTYKKyAgICAgICAg YWRkICAgICAgICAgICAgIHg0LCB4NCwgIzMyCisgICAgICAgIGJsICAgICAgICAgICAgICBY KGZmX2hldmNfcHV0X2hldmNfcXBlbF9iaV92OF84X25lb24pCisgICAgICAgIGxkciAgICAg ICAgICAgICB4MzAsIFtzcCwgIzhdCisgICAgICAgIGFkZCAgICAgICAgICAgICBzcCwgc3As ICMxNgorICAgICAgICByZXQKK2VuZGZ1bmMKKworZnVuY3Rpb24gZmZfaGV2Y19wdXRfaGV2 Y19xcGVsX2JpX3YzMl84X25lb24sIGV4cG9ydD0xCisgICAgICAgIHN0cCAgICAgICAgICAg ICBkOCwgZDksIFtzcCwgIy02NF0hCisgICAgICAgIHN0cCAgICAgICAgICAgICBkMTAsIGQx MSwgW3NwLCAjMTZdCisgICAgICAgIHN0cCAgICAgICAgICAgICBkMTIsIGQxMywgW3NwLCAj MzJdCisgICAgICAgIHN0cCAgICAgICAgICAgICBkMTQsIGQxNSwgW3NwLCAjNDhdCisgICAg ICAgIHN1YiAgICAgICAgICAgICB4MiwgeDIsIHgzLCBsc2wgIzEKKyAgICAgICAgc3ViICAg ICAgICAgICAgIHgyLCB4MiwgeDMKKyAgICAgICAgbG9hZF9xcGVsX2ZpbHRlcmIgeDcsIHg2 CisgICAgICAgIGxkciAgICAgICAgICAgICB3NiwgW3NwLCAjNjRdCisgICAgICAgIG1vdiAg ICAgICAgICAgICB4MTIsICMoTUFYX1BCX1NJWkUgKiAyKQorMDogICAgICBtb3YgICAgICAg ICAgICAgeDgsIHgyICAgICAgICAgIC8vIHNyYworICAgICAgICBsZDEgICAgICAgICAgICAg e3YxNi4xNmIsIHYxNy4xNmJ9LCBbeDhdLCB4MworICAgICAgICBtb3YgICAgICAgICAgICAg dzExLCB3NSAgICAgICAgIC8vIGhlaWdodAorICAgICAgICBsZDEgICAgICAgICAgICAge3Yx OC4xNmIsIHYxOS4xNmJ9LCBbeDhdLCB4MworICAgICAgICBtb3YgICAgICAgICAgICAgeDEw LCB4MCAgICAgICAgIC8vIGRzdAorICAgICAgICBsZDEgICAgICAgICAgICAge3YyMC4xNmIs IHYyMS4xNmJ9LCBbeDhdLCB4MworICAgICAgICBtb3YgICAgICAgICAgICAgeDksIHg0ICAg ICAgICAgIC8vIHNyYzIKKyAgICAgICAgbGQxICAgICAgICAgICAgIHt2MjIuMTZiLCB2MjMu MTZifSwgW3g4XSwgeDMKKyAgICAgICAgbGQxICAgICAgICAgICAgIHt2MjQuMTZiLCB2MjUu MTZifSwgW3g4XSwgeDMKKyAgICAgICAgbGQxICAgICAgICAgICAgIHt2MjYuMTZiLCB2Mjcu MTZifSwgW3g4XSwgeDMKKyAgICAgICAgbGQxICAgICAgICAgICAgIHt2MjguMTZiLCB2Mjku MTZifSwgW3g4XSwgeDMKKy5tYWNybyBjYWxjIHRtcDAsIHRtcDEsIHNyYzAsIHNyYzEsIHNy YzIsIHNyYzMsIHNyYzQsIHNyYzUsIHNyYzYsIHNyYzcsIHNyYzgsIHNyYzksIHNyYzEwLCBz cmMxMSwgc3JjMTIsIHNyYzEzLCBzcmMxNCwgc3JjMTUKKyAgICAgICAgbGQxICAgICAgICAg ICAgIHtcdG1wMFwoKS44aCwgXHRtcDFcKCkuOGh9LCBbeDhdLCB4MworICAgICAgICBtb3Zp ICAgICAgICAgICAgdjguOGgsICMwCisgICAgICAgIG1vdmkgICAgICAgICAgICB2OS44aCwg IzAKKyAgICAgICAgbW92aSAgICAgICAgICAgIHYxMC44aCwgIzAKKyAgICAgICAgbW92aSAg ICAgICAgICAgIHYxMS44aCwgIzAKKyAgICAgICAgY2FsY19xcGVsYiAgICAgIHY4LCAgXHNy YzAsICBcc3JjMSwgXHNyYzIsICBcc3JjMywgIFxzcmM0LCAgXHNyYzUsICBcc3JjNiwgIFxz cmM3CisgICAgICAgIGNhbGNfcXBlbGIyICAgICB2OSwgIFxzcmMwLCBcc3JjMSwgIFxzcmMy LCAgXHNyYzMsICBcc3JjNCwgIFxzcmM1LCAgXHNyYzYsICBcc3JjNworICAgICAgICBjYWxj X3FwZWxiICAgICAgdjEwLCBcc3JjOCwgXHNyYzksIFxzcmMxMCwgXHNyYzExLCBcc3JjMTIs IFxzcmMxMywgXHNyYzE0LCBcc3JjMTUKKyAgICAgICAgY2FsY19xcGVsYjIgICAgIHYxMSwg XHNyYzgsIFxzcmM5LCBcc3JjMTAsIFxzcmMxMSwgXHNyYzEyLCBcc3JjMTMsIFxzcmMxNCwg XHNyYzE1CisgICAgICAgIGxkMSAgICAgICAgICAgICB7djEyLjhoLCB2MTMuOGgsIHYxNC44 aCwgdjE1LjhofSwgW3g5XSwgeDEyICAgLy8gc3JjMgorICAgICAgICBzcWFkZCAgICAgICAg ICAgdjguOGgsIHY4LjhoLCB2MTIuOGgKKyAgICAgICAgc3FhZGQgICAgICAgICAgIHY5Ljho LCB2OS44aCwgdjEzLjhoCisgICAgICAgIHNxYWRkICAgICAgICAgICB2MTAuOGgsIHYxMC44 aCwgdjE0LjhoCisgICAgICAgIHNxYWRkICAgICAgICAgICB2MTEuOGgsIHYxMS44aCwgdjE1 LjhoCisgICAgICAgIHNxcnNocnVuICAgICAgICB2MTIuOGIsIHY4LjhoLCAjNworICAgICAg ICBzcXJzaHJ1bjIgICAgICAgdjEyLjE2YiwgdjkuOGgsICM3CisgICAgICAgIHNxcnNocnVu ICAgICAgICB2MTMuOGIsIHYxMC44aCwgIzcKKyAgICAgICAgc3Fyc2hydW4yICAgICAgIHYx My4xNmIsIHYxMS44aCwgIzcKKyAgICAgICAgc3VicyAgICAgICAgICAgIHgxMSwgeDExLCAj MQorICAgICAgICBzdDEgICAgICAgICAgICAge3YxMi4xNmIsIHYxMy4xNmJ9LCBbeDEwXSwg eDEKKy5lbmRtCisxOiAgICAgIGNhbGNfYWxsMgorLnB1cmdlbSBjYWxjCisyOiAgICAgIGFk ZCAgICAgICAgICAgICB4MCwgeDAsICMzMiAvLyBkc3QKKyAgICAgICAgYWRkICAgICAgICAg ICAgIHgyLCB4MiwgIzMyIC8vIHNyYworICAgICAgICBhZGQgICAgICAgICAgICAgeDQsIHg0 LCAjNjQgLy8gc3JjMgorICAgICAgICBzdWJzICAgICAgICAgICAgdzYsIHc2LCAjMzIKKyAg ICAgICAgYi5uZSAgICAgICAgICAgIDBiCisgICAgICAgIGxkcCAgICAgICAgICAgICBkMTAs IGQxMSwgW3NwLCAjMTZdCisgICAgICAgIGxkcCAgICAgICAgICAgICBkMTIsIGQxMywgW3Nw LCAjMzJdCisgICAgICAgIGxkcCAgICAgICAgICAgICBkMTQsIGQxNSwgW3NwLCAjNDhdCisg ICAgICAgIGxkcCAgICAgICAgICAgICBkOCwgZDksIFtzcF0sICM2NAorICAgICAgICByZXQK K2VuZGZ1bmMKKworZnVuY3Rpb24gZmZfaGV2Y19wdXRfaGV2Y19xcGVsX2JpX3Y0OF84X25l b24sIGV4cG9ydD0xCisgICAgICAgIG1vdiAgICAgICAgICAgICB4OCwgIzMyCisgICAgICAg IHN0ciAgICAgICAgICAgICB4OCwgW3NwLCAjLTgwXSEKKyAgICAgICAgc3RwICAgICAgICAg ICAgIHg0LCB4NSwgW3NwLCAjMTZdCisgICAgICAgIHN0cCAgICAgICAgICAgICB4MiwgeDMs IFtzcCwgIzMyXQorICAgICAgICBzdHAgICAgICAgICAgICAgeDAsIHgxLCBbc3AsICM0OF0K KyAgICAgICAgc3RwICAgICAgICAgICAgIHg3LCB4MzAsIFtzcCwgIzY0XQorICAgICAgICBi bCAgICAgICAgICAgICAgWChmZl9oZXZjX3B1dF9oZXZjX3FwZWxfYmlfdjMyXzhfbmVvbikK KyAgICAgICAgbGRwICAgICAgICAgICAgIHg0LCB4NSwgW3NwLCAjMTZdCisgICAgICAgIGxk cCAgICAgICAgICAgICB4MiwgeDMsIFtzcCwgIzMyXQorICAgICAgICBsZHAgICAgICAgICAg ICAgeDAsIHgxLCBbc3AsICM0OF0KKyAgICAgICAgbGRyICAgICAgICAgICAgIHg3LCBbc3As ICM2NF0KKyAgICAgICAgYWRkICAgICAgICAgICAgIHNwLCBzcCwgIzY0CisgICAgICAgIGFk ZCAgICAgICAgICAgICB4MCwgeDAsICMzMgorICAgICAgICBhZGQgICAgICAgICAgICAgeDIs IHgyLCAjMzIKKyAgICAgICAgYWRkICAgICAgICAgICAgIHg0LCB4NCwgIzY0CisgICAgICAg IGJsICAgICAgICAgICAgICBYKGZmX2hldmNfcHV0X2hldmNfcXBlbF9iaV92MTZfOF9uZW9u KQorICAgICAgICBsZHIgICAgICAgICAgICAgeDMwLCBbc3AsICM4XQorICAgICAgICBhZGQg ICAgICAgICAgICAgc3AsIHNwLCAjMTYKKyAgICAgICAgcmV0CitlbmRmdW5jCisKK2Z1bmN0 aW9uIGZmX2hldmNfcHV0X2hldmNfcXBlbF9iaV92NjRfOF9uZW9uLCBleHBvcnQ9MQorICAg ICAgICBiIFgoZmZfaGV2Y19wdXRfaGV2Y19xcGVsX2JpX3YzMl84X25lb24pCitlbmRmdW5j CiAKIGZ1bmN0aW9uIGZmX2hldmNfcHV0X2hldmNfcGVsX3VuaV9waXhlbHM0XzhfbmVvbiwg ZXhwb3J0PTEKIDE6Ci0tIAoyLjM4LjAud2luZG93cy4xCgo= --------------rXNcHr8MJPHMMVSGxKJ9EoQk 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". --------------rXNcHr8MJPHMMVSGxKJ9EoQk--