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 6B163475CD for ; Sat, 14 Oct 2023 08:39:59 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id BD7AC68C935; Sat, 14 Oct 2023 11:39:56 +0300 (EEST) Received: from smtp-my3-01p11.yunyou.top (smtp-my3-01p11.yunyou.top [60.247.169.11]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3FB0368C5B3 for ; Sat, 14 Oct 2023 11:39:49 +0300 (EEST) Received: from [192.168.15.106] (unknown [125.121.27.199]) by smtp-my-01.yunyou.top (WestCloudMail) with ESMTPA id 00E061020EB for ; Sat, 14 Oct 2023 16:39:42 +0800 (CST) Content-Type: multipart/mixed; boundary="------------vs0ieoedAxLZvlDCDv6vXU4N" Message-ID: Date: Sat, 14 Oct 2023 16:39:42 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: "Logan.Lyu" To: ffmpeg-devel@ffmpeg.org Organization: myais Subject: [FFmpeg-devel] (no subject) 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 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. --------------vs0ieoedAxLZvlDCDv6vXU4N Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit checkasm bench: put_hevc_epel_hv4_8_c: 213.7 put_hevc_epel_hv4_8_i8mm: 59.4 put_hevc_epel_hv6_8_c: 350.9 put_hevc_epel_hv6_8_i8mm: 130.2 put_hevc_epel_hv8_8_c: 548.7 put_hevc_epel_hv8_8_i8mm: 136.9 put_hevc_epel_hv12_8_c: 1126.7 put_hevc_epel_hv12_8_i8mm: 302.2 put_hevc_epel_hv16_8_c: 1925.2 put_hevc_epel_hv16_8_i8mm: 459.9 put_hevc_epel_hv24_8_c: 4301.9 put_hevc_epel_hv24_8_i8mm: 1024.9 put_hevc_epel_hv32_8_c: 7509.2 put_hevc_epel_hv32_8_i8mm: 1680.4 put_hevc_epel_hv48_8_c: 16566.9 put_hevc_epel_hv48_8_i8mm: 3945.4 put_hevc_epel_hv64_8_c: 29134.2 put_hevc_epel_hv64_8_i8mm: 6567.7 Co-Authored-By: J. Dekker Signed-off-by: Logan Lyu --- libavcodec/aarch64/hevcdsp_epel_neon.S | 265 ++++++++++++++++++++++ libavcodec/aarch64/hevcdsp_init_aarch64.c | 5 + 2 files changed, 270 insertions(+) diff --git a/libavcodec/aarch64/hevcdsp_epel_neon.S b/libavcodec/aarch64/hevcdsp_epel_neon.S index e541db5430..ebc16da5b6 100644 --- a/libavcodec/aarch64/hevcdsp_epel_neon.S +++ b/libavcodec/aarch64/hevcdsp_epel_neon.S @@ -1018,6 +1018,271 @@ function ff_hevc_put_hevc_epel_h64_8_neon_i8mm, export=1 ret endfunc + +function ff_hevc_put_hevc_epel_hv4_8_neon_i8mm, export=1 + add w10, w3, #3 + lsl x10, x10, #7 + sub sp, sp, x10 // tmp_array + stp x5, x30, [sp, #-32]! + stp x0, x3, [sp, #16] + add x0, sp, #32 + sub x1, x1, x2 + add w3, w3, #3 + bl X(ff_hevc_put_hevc_epel_h4_8_neon_i8mm) + ldp x5, x30, [sp] + ldp x0, x3, [sp, #16] + add sp, sp, #32 + load_epel_filterh x5, x4 + mov x10, #(MAX_PB_SIZE * 2) + ldr d16, [sp] + ldr d17, [sp, x10] + add sp, sp, x10, lsl #1 + ld1 {v18.4h}, [sp], x10 +.macro calc src0, src1, src2, src3 + ld1 {\src3\().4h}, [sp], x10 + calc_epelh v4, \src0, \src1, \src2, \src3 + subs w3, w3, #1 + st1 {v4.4h}, [x0], x10 +.endm +1: calc_all4 +.purgem calc +2: ret +endfunc + +function ff_hevc_put_hevc_epel_hv6_8_neon_i8mm, export=1 + add w10, w3, #3 + lsl x10, x10, #7 + sub sp, sp, x10 // tmp_array + stp x5, x30, [sp, #-32]! + stp x0, x3, [sp, #16] + add x0, sp, #32 + sub x1, x1, x2 + add w3, w3, #3 + bl X(ff_hevc_put_hevc_epel_h6_8_neon_i8mm) + ldp x5, x30, [sp] + ldp x0, x3, [sp, #16] + add sp, sp, #32 + load_epel_filterh x5, x4 + mov x5, #120 + mov x10, #(MAX_PB_SIZE * 2) + ldr q16, [sp] + ldr q17, [sp, x10] + add sp, sp, x10, lsl #1 + 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 + st1 {v4.d}[0], [x0], #8 + subs w3, w3, #1 + st1 {v4.s}[2], [x0], x5 +.endm +1: calc_all4 +.purgem calc +2: ret +endfunc + +function ff_hevc_put_hevc_epel_hv8_8_neon_i8mm, export=1 + add w10, w3, #3 + lsl x10, x10, #7 + sub sp, sp, x10 // tmp_array + stp x5, x30, [sp, #-32]! + stp x0, x3, [sp, #16] + add x0, sp, #32 + sub x1, x1, x2 + add w3, w3, #3 + bl X(ff_hevc_put_hevc_epel_h8_8_neon_i8mm) + ldp x5, x30, [sp] + ldp x0, x3, [sp, #16] + add sp, sp, #32 + load_epel_filterh x5, x4 + mov x10, #(MAX_PB_SIZE * 2) + ldr q16, [sp] + ldr q17, [sp, x10] + add sp, sp, x10, lsl #1 + 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 + subs w3, w3, #1 + st1 {v4.8h}, [x0], x10 +.endm +1: calc_all4 +.purgem calc +2: ret +endfunc + +function ff_hevc_put_hevc_epel_hv12_8_neon_i8mm, export=1 + add w10, w3, #3 + lsl x10, x10, #7 + sub sp, sp, x10 // tmp_array + stp x5, x30, [sp, #-32]! + stp x0, x3, [sp, #16] + add x0, sp, #32 + sub x1, x1, x2 + add w3, w3, #3 + bl X(ff_hevc_put_hevc_epel_h12_8_neon_i8mm) + ldp x5, x30, [sp] + ldp x0, x3, [sp, #16] + add sp, sp, #32 + load_epel_filterh x5, x4 + mov x5, #112 + 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 + st1 {v4.8h}, [x0], #16 + subs w3, w3, #1 + st1 {v5.4h}, [x0], x5 +.endm +1: calc_all8 +.purgem calc +2: ret +endfunc + +function ff_hevc_put_hevc_epel_hv16_8_neon_i8mm, export=1 + add w10, w3, #3 + lsl x10, x10, #7 + sub sp, sp, x10 // tmp_array + stp x5, x30, [sp, #-32]! + stp x0, x3, [sp, #16] + add x0, sp, #32 + sub x1, x1, x2 + add w3, w3, #3 + bl X(ff_hevc_put_hevc_epel_h16_8_neon_i8mm) + ldp x5, x30, [sp] + ldp x0, x3, [sp, #16] + add sp, sp, #32 + load_epel_filterh x5, x4 + 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 + subs w3, w3, #1 + st1 {v4.8h, v5.8h}, [x0], x10 +.endm +1: calc_all8 +.purgem calc +2: ret +endfunc + +function ff_hevc_put_hevc_epel_hv24_8_neon_i8mm, export=1 + add w10, w3, #3 + lsl x10, x10, #7 + sub sp, sp, x10 // tmp_array + stp x5, x30, [sp, #-32]! + stp x0, x3, [sp, #16] + add x0, sp, #32 + sub x1, x1, x2 + add w3, w3, #3 + bl X(ff_hevc_put_hevc_epel_h24_8_neon_i8mm) + ldp x5, x30, [sp] + ldp x0, x3, [sp, #16] + add sp, sp, #32 + load_epel_filterh x5, x4 + 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-\src11\().8h}, [sp], x10 + calc_epelh v4, \src0, \src3, \src6, \src9 + calc_epelh2 v4, v5, \src0, \src3, \src6, \src9 + calc_epelh v5, \src1, \src4, \src7, \src10 + calc_epelh2 v5, v6, \src1, \src4, \src7, \src10 + calc_epelh v6, \src2, \src5, \src8, \src11 + calc_epelh2 v6, v7, \src2, \src5, \src8, \src11 + subs w3, w3, #1 + st1 {v4.8h-v6.8h}, [x0], x10 +.endm +1: calc_all12 +.purgem calc +2: ret +endfunc + +function ff_hevc_put_hevc_epel_hv32_8_neon_i8mm, export=1 + stp x4, x5, [sp, #-64]! + stp x2, x3, [sp, #16] + stp x0, x1, [sp, #32] + str x30, [sp, #48] + mov x6, #16 + bl X(ff_hevc_put_hevc_epel_hv16_8_neon_i8mm) + ldp x4, x5, [sp] + ldp x2, x3, [sp, #16] + ldp x0, x1, [sp, #32] + add sp, sp, #48 + add x0, x0, #32 + add x1, x1, #16 + mov x6, #16 + bl X(ff_hevc_put_hevc_epel_hv16_8_neon_i8mm) + ldr x30, [sp], #16 + ret +endfunc + +function ff_hevc_put_hevc_epel_hv48_8_neon_i8mm, export=1 + stp x4, x5, [sp, #-64]! + stp x2, x3, [sp, #16] + stp x0, x1, [sp, #32] + str x30, [sp, #48] + mov x6, #24 + bl X(ff_hevc_put_hevc_epel_hv24_8_neon_i8mm) + ldp x4, x5, [sp] + ldp x2, x3, [sp, #16] + ldp x0, x1, [sp, #32] + add sp, sp, #48 + add x0, x0, #48 + add x1, x1, #24 + mov x6, #24 + bl X(ff_hevc_put_hevc_epel_hv24_8_neon_i8mm) + ldr x30, [sp], #16 + ret +endfunc + +function ff_hevc_put_hevc_epel_hv64_8_neon_i8mm, export=1 + stp x4, x5, [sp, #-64]! + stp x2, x3, [sp, #16] + stp x0, x1, [sp, #32] + str x30, [sp, #48] + mov x6, #16 + bl X(ff_hevc_put_hevc_epel_hv16_8_neon_i8mm) + ldp x4, x5, [sp] + ldp x2, x3, [sp, #16] + ldp x0, x1, [sp, #32] + add x0, x0, #32 + add x1, x1, #16 + mov x6, #16 + bl X(ff_hevc_put_hevc_epel_hv16_8_neon_i8mm) + ldp x4, x5, [sp] + ldp x2, x3, [sp, #16] + ldp x0, x1, [sp, #32] + add x0, x0, #64 + add x1, x1, #32 + mov x6, #16 + bl X(ff_hevc_put_hevc_epel_hv16_8_neon_i8mm) + ldp x4, x5, [sp] + ldp x2, x3, [sp, #16] + ldp x0, x1, [sp, #32] + add sp, sp, #48 + add x0, x0, #96 + add x1, x1, #48 + mov x6, #16 + bl X(ff_hevc_put_hevc_epel_hv16_8_neon_i8mm) + ldr x30, [sp], #16 + ret +endfunc + function ff_hevc_put_hevc_epel_uni_hv4_8_neon_i8mm, export=1 add w10, w4, #3 lsl x10, x10, #7 diff --git a/libavcodec/aarch64/hevcdsp_init_aarch64.c b/libavcodec/aarch64/hevcdsp_init_aarch64.c index 82e1623a67..e9a341ecb9 100644 --- a/libavcodec/aarch64/hevcdsp_init_aarch64.c +++ b/libavcodec/aarch64/hevcdsp_init_aarch64.c @@ -191,6 +191,10 @@ NEON8_FNPROTO(epel_h, (int16_t *dst, const uint8_t *_src, ptrdiff_t _srcstride, int height, intptr_t mx, intptr_t my, int width), _i8mm); +NEON8_FNPROTO(epel_hv, (int16_t *dst, + const uint8_t *src, ptrdiff_t srcstride, + int height, intptr_t mx, intptr_t my, int width), _i8mm); + NEON8_FNPROTO(epel_uni_w_h, (uint8_t *_dst, ptrdiff_t _dststride, const uint8_t *_src, ptrdiff_t _srcstride, int height, int denom, int wx, int ox, @@ -322,6 +326,7 @@ av_cold void ff_hevc_dsp_init_aarch64(HEVCDSPContext *c, const int bit_depth) if (have_i8mm(cpu_flags)) { NEON8_FNASSIGN(c->put_hevc_epel, 0, 1, epel_h, _i8mm); + 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_qpel, 0, 1, qpel_h, _i8mm); -- 2.38.0.windows.1 --------------vs0ieoedAxLZvlDCDv6vXU4N Content-Type: text/plain; charset=UTF-8; name="0002-lavc-aarch64-new-optimization-for-8-bit-hevc_epel_hv.patch" Content-Disposition: attachment; filename*0="0002-lavc-aarch64-new-optimization-for-8-bit-hevc_epel_hv.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSA4M2FmN2U3OWNmMDA0YzI0NGFkM2M3NzFhMGNhMGUyMzU3YmJlOTQ0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBMb2dhbiBMeXUgPExvZ2FuLkx5dUBteWFpcy5jb20u Y24+CkRhdGU6IFNhdCwgOSBTZXAgMjAyMyAyMToyOTo1MSArMDgwMApTdWJqZWN0OiBbUEFU Q0ggMi80XSBsYXZjL2FhcmNoNjQ6IG5ldyBvcHRpbWl6YXRpb24gZm9yIDgtYml0IGhldmNf ZXBlbF9odgoKY2hlY2thc20gYmVuY2g6CnB1dF9oZXZjX2VwZWxfaHY0XzhfYzogMjEzLjcK cHV0X2hldmNfZXBlbF9odjRfOF9pOG1tOiA1OS40CnB1dF9oZXZjX2VwZWxfaHY2XzhfYzog MzUwLjkKcHV0X2hldmNfZXBlbF9odjZfOF9pOG1tOiAxMzAuMgpwdXRfaGV2Y19lcGVsX2h2 OF84X2M6IDU0OC43CnB1dF9oZXZjX2VwZWxfaHY4XzhfaThtbTogMTM2LjkKcHV0X2hldmNf ZXBlbF9odjEyXzhfYzogMTEyNi43CnB1dF9oZXZjX2VwZWxfaHYxMl84X2k4bW06IDMwMi4y CnB1dF9oZXZjX2VwZWxfaHYxNl84X2M6IDE5MjUuMgpwdXRfaGV2Y19lcGVsX2h2MTZfOF9p OG1tOiA0NTkuOQpwdXRfaGV2Y19lcGVsX2h2MjRfOF9jOiA0MzAxLjkKcHV0X2hldmNfZXBl bF9odjI0XzhfaThtbTogMTAyNC45CnB1dF9oZXZjX2VwZWxfaHYzMl84X2M6IDc1MDkuMgpw dXRfaGV2Y19lcGVsX2h2MzJfOF9pOG1tOiAxNjgwLjQKcHV0X2hldmNfZXBlbF9odjQ4Xzhf YzogMTY1NjYuOQpwdXRfaGV2Y19lcGVsX2h2NDhfOF9pOG1tOiAzOTQ1LjQKcHV0X2hldmNf ZXBlbF9odjY0XzhfYzogMjkxMzQuMgpwdXRfaGV2Y19lcGVsX2h2NjRfOF9pOG1tOiA2NTY3 LjcKCkNvLUF1dGhvcmVkLUJ5OiBKLiBEZWtrZXIgPGpkZWtAaXRhbmltdWwubGk+Ci0tLQog bGliYXZjb2RlYy9hYXJjaDY0L2hldmNkc3BfZXBlbF9uZW9uLlMgICAgfCAyNjUgKysrKysr KysrKysrKysrKysrKysrKwogbGliYXZjb2RlYy9hYXJjaDY0L2hldmNkc3BfaW5pdF9hYXJj aDY0LmMgfCAgIDUgKwogMiBmaWxlcyBjaGFuZ2VkLCAyNzAgaW5zZXJ0aW9ucygrKQoKZGlm ZiAtLWdpdCBhL2xpYmF2Y29kZWMvYWFyY2g2NC9oZXZjZHNwX2VwZWxfbmVvbi5TIGIvbGli YXZjb2RlYy9hYXJjaDY0L2hldmNkc3BfZXBlbF9uZW9uLlMKaW5kZXggZTU0MWRiNTQzMC4u ZWJjMTZkYTViNiAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9hYXJjaDY0L2hldmNkc3BfZXBl bF9uZW9uLlMKKysrIGIvbGliYXZjb2RlYy9hYXJjaDY0L2hldmNkc3BfZXBlbF9uZW9uLlMK QEAgLTEwMTgsNiArMTAxOCwyNzEgQEAgZnVuY3Rpb24gZmZfaGV2Y19wdXRfaGV2Y19lcGVs X2g2NF84X25lb25faThtbSwgZXhwb3J0PTEKICAgICAgICAgcmV0CiBlbmRmdW5jCiAKKwor ZnVuY3Rpb24gZmZfaGV2Y19wdXRfaGV2Y19lcGVsX2h2NF84X25lb25faThtbSwgZXhwb3J0 PTEKKyAgICAgICAgYWRkICAgICAgICAgICAgIHcxMCwgdzMsICMzCisgICAgICAgIGxzbCAg ICAgICAgICAgICB4MTAsIHgxMCwgIzcKKyAgICAgICAgc3ViICAgICAgICAgICAgIHNwLCBz cCwgeDEwIC8vIHRtcF9hcnJheQorICAgICAgICBzdHAgICAgICAgICAgICAgeDUsIHgzMCwg W3NwLCAjLTMyXSEKKyAgICAgICAgc3RwICAgICAgICAgICAgIHgwLCB4MywgW3NwLCAjMTZd CisgICAgICAgIGFkZCAgICAgICAgICAgICB4MCwgc3AsICMzMgorICAgICAgICBzdWIgICAg ICAgICAgICAgeDEsIHgxLCB4MgorICAgICAgICBhZGQgICAgICAgICAgICAgdzMsIHczLCAj MworICAgICAgICBibCAgICAgICAgICAgICAgWChmZl9oZXZjX3B1dF9oZXZjX2VwZWxfaDRf OF9uZW9uX2k4bW0pCisgICAgICAgIGxkcCAgICAgICAgICAgICB4NSwgeDMwLCBbc3BdCisg ICAgICAgIGxkcCAgICAgICAgICAgICB4MCwgeDMsIFtzcCwgIzE2XQorICAgICAgICBhZGQg ICAgICAgICAgICAgc3AsIHNwLCAjMzIKKyAgICAgICAgbG9hZF9lcGVsX2ZpbHRlcmggeDUs IHg0CisgICAgICAgIG1vdiAgICAgICAgICAgICB4MTAsICMoTUFYX1BCX1NJWkUgKiAyKQor ICAgICAgICBsZHIgICAgICAgICAgICAgZDE2LCBbc3BdCisgICAgICAgIGxkciAgICAgICAg ICAgICBkMTcsIFtzcCwgeDEwXQorICAgICAgICBhZGQgICAgICAgICAgICAgc3AsIHNwLCB4 MTAsIGxzbCAjMQorICAgICAgICBsZDEgICAgICAgICAgICAge3YxOC40aH0sIFtzcF0sIHgx MAorLm1hY3JvIGNhbGMgc3JjMCwgc3JjMSwgc3JjMiwgc3JjMworICAgICAgICBsZDEgICAg ICAgICAgICAge1xzcmMzXCgpLjRofSwgW3NwXSwgeDEwCisgICAgICAgIGNhbGNfZXBlbGgg ICAgICB2NCwgXHNyYzAsIFxzcmMxLCBcc3JjMiwgXHNyYzMKKyAgICAgICAgc3VicyAgICAg ICAgICAgIHczLCB3MywgIzEKKyAgICAgICAgc3QxICAgICAgICAgICAgIHt2NC40aH0sIFt4 MF0sIHgxMAorLmVuZG0KKzE6ICAgICAgY2FsY19hbGw0CisucHVyZ2VtIGNhbGMKKzI6ICAg ICAgcmV0CitlbmRmdW5jCisKK2Z1bmN0aW9uIGZmX2hldmNfcHV0X2hldmNfZXBlbF9odjZf OF9uZW9uX2k4bW0sIGV4cG9ydD0xCisgICAgICAgIGFkZCAgICAgICAgICAgICB3MTAsIHcz LCAjMworICAgICAgICBsc2wgICAgICAgICAgICAgeDEwLCB4MTAsICM3CisgICAgICAgIHN1 YiAgICAgICAgICAgICBzcCwgc3AsIHgxMCAvLyB0bXBfYXJyYXkKKyAgICAgICAgc3RwICAg ICAgICAgICAgIHg1LCB4MzAsIFtzcCwgIy0zMl0hCisgICAgICAgIHN0cCAgICAgICAgICAg ICB4MCwgeDMsIFtzcCwgIzE2XQorICAgICAgICBhZGQgICAgICAgICAgICAgeDAsIHNwLCAj MzIKKyAgICAgICAgc3ViICAgICAgICAgICAgIHgxLCB4MSwgeDIKKyAgICAgICAgYWRkICAg ICAgICAgICAgIHczLCB3MywgIzMKKyAgICAgICAgYmwgICAgICAgICAgICAgIFgoZmZfaGV2 Y19wdXRfaGV2Y19lcGVsX2g2XzhfbmVvbl9pOG1tKQorICAgICAgICBsZHAgICAgICAgICAg ICAgeDUsIHgzMCwgW3NwXQorICAgICAgICBsZHAgICAgICAgICAgICAgeDAsICB4MywgW3Nw LCAjMTZdCisgICAgICAgIGFkZCAgICAgICAgICAgICBzcCwgc3AsICMzMgorICAgICAgICBs b2FkX2VwZWxfZmlsdGVyaCB4NSwgeDQKKyAgICAgICAgbW92ICAgICAgICAgICAgIHg1LCAj MTIwCisgICAgICAgIG1vdiAgICAgICAgICAgICB4MTAsICMoTUFYX1BCX1NJWkUgKiAyKQor ICAgICAgICBsZHIgICAgICAgICAgICAgcTE2LCBbc3BdCisgICAgICAgIGxkciAgICAgICAg ICAgICBxMTcsIFtzcCwgeDEwXQorICAgICAgICBhZGQgICAgICAgICAgICAgc3AsIHNwLCB4 MTAsIGxzbCAjMQorICAgICAgICBsZDEgICAgICAgICAgICAge3YxOC44aH0sIFtzcF0sIHgx MAorLm1hY3JvIGNhbGMgc3JjMCwgc3JjMSwgc3JjMiwgc3JjMworICAgICAgICBsZDEgICAg ICAgICAgICAge1xzcmMzXCgpLjhofSwgW3NwXSwgeDEwCisgICAgICAgIGNhbGNfZXBlbGgg ICAgICB2NCwgICAgIFxzcmMwLCBcc3JjMSwgXHNyYzIsIFxzcmMzCisgICAgICAgIGNhbGNf ZXBlbGgyICAgICB2NCwgdjUsIFxzcmMwLCBcc3JjMSwgXHNyYzIsIFxzcmMzCisgICAgICAg IHN0MSAgICAgICAgICAgICB7djQuZH1bMF0sIFt4MF0sICM4CisgICAgICAgIHN1YnMgICAg ICAgICAgICB3MywgdzMsICMxCisgICAgICAgIHN0MSAgICAgICAgICAgICB7djQuc31bMl0s IFt4MF0sIHg1CisuZW5kbQorMTogICAgICBjYWxjX2FsbDQKKy5wdXJnZW0gY2FsYworMjog ICAgICByZXQKK2VuZGZ1bmMKKworZnVuY3Rpb24gZmZfaGV2Y19wdXRfaGV2Y19lcGVsX2h2 OF84X25lb25faThtbSwgZXhwb3J0PTEKKyAgICAgICAgYWRkICAgICAgICAgICAgIHcxMCwg dzMsICMzCisgICAgICAgIGxzbCAgICAgICAgICAgICB4MTAsIHgxMCwgIzcKKyAgICAgICAg c3ViICAgICAgICAgICAgIHNwLCBzcCwgeDEwIC8vIHRtcF9hcnJheQorICAgICAgICBzdHAg ICAgICAgICAgICAgeDUsIHgzMCwgW3NwLCAjLTMyXSEKKyAgICAgICAgc3RwICAgICAgICAg ICAgIHgwLCB4MywgW3NwLCAjMTZdCisgICAgICAgIGFkZCAgICAgICAgICAgICB4MCwgc3As ICMzMgorICAgICAgICBzdWIgICAgICAgICAgICAgeDEsIHgxLCB4MgorICAgICAgICBhZGQg ICAgICAgICAgICAgdzMsIHczLCAjMworICAgICAgICBibCAgICAgICAgICAgICAgWChmZl9o ZXZjX3B1dF9oZXZjX2VwZWxfaDhfOF9uZW9uX2k4bW0pCisgICAgICAgIGxkcCAgICAgICAg ICAgICB4NSwgeDMwLCBbc3BdCisgICAgICAgIGxkcCAgICAgICAgICAgICB4MCwgeDMsIFtz cCwgIzE2XQorICAgICAgICBhZGQgICAgICAgICAgICAgc3AsIHNwLCAjMzIKKyAgICAgICAg bG9hZF9lcGVsX2ZpbHRlcmggeDUsIHg0CisgICAgICAgIG1vdiAgICAgICAgICAgICB4MTAs ICMoTUFYX1BCX1NJWkUgKiAyKQorICAgICAgICBsZHIgICAgICAgICAgICAgcTE2LCBbc3Bd CisgICAgICAgIGxkciAgICAgICAgICAgICBxMTcsIFtzcCwgeDEwXQorICAgICAgICBhZGQg ICAgICAgICAgICAgc3AsIHNwLCB4MTAsIGxzbCAjMQorICAgICAgICBsZDEgICAgICAgICAg ICAge3YxOC44aH0sIFtzcF0sIHgxMAorLm1hY3JvIGNhbGMgc3JjMCwgc3JjMSwgc3JjMiwg c3JjMworICAgICAgICBsZDEgICAgICAgICAgICAge1xzcmMzXCgpLjhofSwgW3NwXSwgeDEw CisgICAgICAgIGNhbGNfZXBlbGggICAgICB2NCwgICAgIFxzcmMwLCBcc3JjMSwgXHNyYzIs IFxzcmMzCisgICAgICAgIGNhbGNfZXBlbGgyICAgICB2NCwgdjUsIFxzcmMwLCBcc3JjMSwg XHNyYzIsIFxzcmMzCisgICAgICAgIHN1YnMgICAgICAgICAgICB3MywgdzMsICMxCisgICAg ICAgIHN0MSAgICAgICAgICAgICB7djQuOGh9LCBbeDBdLCB4MTAKKy5lbmRtCisxOiAgICAg IGNhbGNfYWxsNAorLnB1cmdlbSBjYWxjCisyOiAgICAgIHJldAorZW5kZnVuYworCitmdW5j dGlvbiBmZl9oZXZjX3B1dF9oZXZjX2VwZWxfaHYxMl84X25lb25faThtbSwgZXhwb3J0PTEK KyAgICAgICAgYWRkICAgICAgICAgICAgIHcxMCwgdzMsICMzCisgICAgICAgIGxzbCAgICAg ICAgICAgICB4MTAsIHgxMCwgIzcKKyAgICAgICAgc3ViICAgICAgICAgICAgIHNwLCBzcCwg eDEwIC8vIHRtcF9hcnJheQorICAgICAgICBzdHAgICAgICAgICAgICAgeDUsIHgzMCwgW3Nw LCAjLTMyXSEKKyAgICAgICAgc3RwICAgICAgICAgICAgIHgwLCB4MywgW3NwLCAjMTZdCisg ICAgICAgIGFkZCAgICAgICAgICAgICB4MCwgc3AsICMzMgorICAgICAgICBzdWIgICAgICAg ICAgICAgeDEsIHgxLCB4MgorICAgICAgICBhZGQgICAgICAgICAgICAgdzMsIHczLCAjMwor ICAgICAgICBibCAgICAgICAgICAgICAgWChmZl9oZXZjX3B1dF9oZXZjX2VwZWxfaDEyXzhf bmVvbl9pOG1tKQorICAgICAgICBsZHAgICAgICAgICAgICAgeDUsIHgzMCwgW3NwXQorICAg ICAgICBsZHAgICAgICAgICAgICAgeDAsIHgzLCBbc3AsICMxNl0KKyAgICAgICAgYWRkICAg ICAgICAgICAgIHNwLCBzcCwgIzMyCisgICAgICAgIGxvYWRfZXBlbF9maWx0ZXJoIHg1LCB4 NAorICAgICAgICBtb3YgICAgICAgICAgICAgeDUsICMxMTIKKyAgICAgICAgbW92ICAgICAg ICAgICAgIHgxMCwgIyhNQVhfUEJfU0laRSAqIDIpCisgICAgICAgIGxkMSAgICAgICAgICAg ICB7djE2LjhoLCB2MTcuOGh9LCBbc3BdLCB4MTAKKyAgICAgICAgbGQxICAgICAgICAgICAg IHt2MTguOGgsIHYxOS44aH0sIFtzcF0sIHgxMAorICAgICAgICBsZDEgICAgICAgICAgICAg e3YyMC44aCwgdjIxLjhofSwgW3NwXSwgeDEwCisubWFjcm8gY2FsYyBzcmMwLCBzcmMxLCBz cmMyLCBzcmMzLCBzcmM0LCBzcmM1LCBzcmM2LCBzcmM3CisgICAgICAgIGxkMSAgICAgICAg ICAgICB7XHNyYzZcKCkuOGgsIFxzcmM3XCgpLjhofSwgW3NwXSwgeDEwCisgICAgICAgIGNh bGNfZXBlbGggICAgICB2NCwgICAgIFxzcmMwLCBcc3JjMiwgXHNyYzQsIFxzcmM2CisgICAg ICAgIGNhbGNfZXBlbGgyICAgICB2NCwgdjUsIFxzcmMwLCBcc3JjMiwgXHNyYzQsIFxzcmM2 CisgICAgICAgIGNhbGNfZXBlbGggICAgICB2NSwgICAgIFxzcmMxLCBcc3JjMywgXHNyYzUs IFxzcmM3CisgICAgICAgIHN0MSAgICAgICAgICAgICB7djQuOGh9LCBbeDBdLCAjMTYKKyAg ICAgICAgc3VicyAgICAgICAgICAgIHczLCB3MywgIzEKKyAgICAgICAgc3QxICAgICAgICAg ICAgIHt2NS40aH0sIFt4MF0sIHg1CisuZW5kbQorMTogICAgICBjYWxjX2FsbDgKKy5wdXJn ZW0gY2FsYworMjogICAgICByZXQKK2VuZGZ1bmMKKworZnVuY3Rpb24gZmZfaGV2Y19wdXRf aGV2Y19lcGVsX2h2MTZfOF9uZW9uX2k4bW0sIGV4cG9ydD0xCisgICAgICAgIGFkZCAgICAg ICAgICAgICB3MTAsIHczLCAjMworICAgICAgICBsc2wgICAgICAgICAgICAgeDEwLCB4MTAs ICM3CisgICAgICAgIHN1YiAgICAgICAgICAgICBzcCwgc3AsIHgxMCAvLyB0bXBfYXJyYXkK KyAgICAgICAgc3RwICAgICAgICAgICAgIHg1LCB4MzAsIFtzcCwgIy0zMl0hCisgICAgICAg IHN0cCAgICAgICAgICAgICB4MCwgeDMsIFtzcCwgIzE2XQorICAgICAgICBhZGQgICAgICAg ICAgICAgeDAsIHNwLCAjMzIKKyAgICAgICAgc3ViICAgICAgICAgICAgIHgxLCB4MSwgeDIK KyAgICAgICAgYWRkICAgICAgICAgICAgIHczLCB3MywgIzMKKyAgICAgICAgYmwgICAgICAg ICAgICAgIFgoZmZfaGV2Y19wdXRfaGV2Y19lcGVsX2gxNl84X25lb25faThtbSkKKyAgICAg ICAgbGRwICAgICAgICAgICAgIHg1LCB4MzAsIFtzcF0KKyAgICAgICAgbGRwICAgICAgICAg ICAgIHgwLCB4MywgW3NwLCAjMTZdCisgICAgICAgIGFkZCAgICAgICAgICAgICBzcCwgc3As ICMzMgorICAgICAgICBsb2FkX2VwZWxfZmlsdGVyaCB4NSwgeDQKKyAgICAgICAgbW92ICAg ICAgICAgICAgIHgxMCwgIyhNQVhfUEJfU0laRSAqIDIpCisgICAgICAgIGxkMSAgICAgICAg ICAgICB7djE2LjhoLCB2MTcuOGh9LCBbc3BdLCB4MTAKKyAgICAgICAgbGQxICAgICAgICAg ICAgIHt2MTguOGgsIHYxOS44aH0sIFtzcF0sIHgxMAorICAgICAgICBsZDEgICAgICAgICAg ICAge3YyMC44aCwgdjIxLjhofSwgW3NwXSwgeDEwCisubWFjcm8gY2FsYyBzcmMwLCBzcmMx LCBzcmMyLCBzcmMzLCBzcmM0LCBzcmM1LCBzcmM2LCBzcmM3CisgICAgICAgIGxkMSAgICAg ICAgICAgICB7XHNyYzZcKCkuOGgsIFxzcmM3XCgpLjhofSwgW3NwXSwgeDEwCisgICAgICAg IGNhbGNfZXBlbGggICAgICB2NCwgICAgIFxzcmMwLCBcc3JjMiwgXHNyYzQsIFxzcmM2Cisg ICAgICAgIGNhbGNfZXBlbGgyICAgICB2NCwgdjUsIFxzcmMwLCBcc3JjMiwgXHNyYzQsIFxz cmM2CisgICAgICAgIGNhbGNfZXBlbGggICAgICB2NSwgICAgIFxzcmMxLCBcc3JjMywgXHNy YzUsIFxzcmM3CisgICAgICAgIGNhbGNfZXBlbGgyICAgICB2NSwgdjYsIFxzcmMxLCBcc3Jj MywgXHNyYzUsIFxzcmM3CisgICAgICAgIHN1YnMgICAgICAgICAgICB3MywgdzMsICMxCisg ICAgICAgIHN0MSAgICAgICAgICAgICB7djQuOGgsIHY1LjhofSwgW3gwXSwgeDEwCisuZW5k bQorMTogICAgICBjYWxjX2FsbDgKKy5wdXJnZW0gY2FsYworMjogICAgICByZXQKK2VuZGZ1 bmMKKworZnVuY3Rpb24gZmZfaGV2Y19wdXRfaGV2Y19lcGVsX2h2MjRfOF9uZW9uX2k4bW0s IGV4cG9ydD0xCisgICAgICAgIGFkZCAgICAgICAgICAgICB3MTAsIHczLCAjMworICAgICAg ICBsc2wgICAgICAgICAgICAgeDEwLCB4MTAsICM3CisgICAgICAgIHN1YiAgICAgICAgICAg ICBzcCwgc3AsIHgxMCAvLyB0bXBfYXJyYXkKKyAgICAgICAgc3RwICAgICAgICAgICAgIHg1 LCB4MzAsIFtzcCwgIy0zMl0hCisgICAgICAgIHN0cCAgICAgICAgICAgICB4MCwgeDMsIFtz cCwgIzE2XQorICAgICAgICBhZGQgICAgICAgICAgICAgeDAsIHNwLCAjMzIKKyAgICAgICAg c3ViICAgICAgICAgICAgIHgxLCB4MSwgeDIKKyAgICAgICAgYWRkICAgICAgICAgICAgIHcz LCB3MywgIzMKKyAgICAgICAgYmwgICAgICAgICAgICAgIFgoZmZfaGV2Y19wdXRfaGV2Y19l cGVsX2gyNF84X25lb25faThtbSkKKyAgICAgICAgbGRwICAgICAgICAgICAgIHg1LCB4MzAs IFtzcF0KKyAgICAgICAgbGRwICAgICAgICAgICAgIHgwLCB4MywgW3NwLCAjMTZdCisgICAg ICAgIGFkZCAgICAgICAgICAgICBzcCwgc3AsICMzMgorICAgICAgICBsb2FkX2VwZWxfZmls dGVyaCB4NSwgeDQKKyAgICAgICAgbW92ICAgICAgICAgICAgIHgxMCwgIyhNQVhfUEJfU0la RSAqIDIpCisgICAgICAgIGxkMSAgICAgICAgICAgICB7djE2LjhoLCB2MTcuOGgsIHYxOC44 aH0sIFtzcF0sIHgxMAorICAgICAgICBsZDEgICAgICAgICAgICAge3YxOS44aCwgdjIwLjho LCB2MjEuOGh9LCBbc3BdLCB4MTAKKyAgICAgICAgbGQxICAgICAgICAgICAgIHt2MjIuOGgs IHYyMy44aCwgdjI0LjhofSwgW3NwXSwgeDEwCisubWFjcm8gY2FsYyBzcmMwLCBzcmMxLCBz cmMyLCBzcmMzLCBzcmM0LCBzcmM1LCBzcmM2LCBzcmM3LCBzcmM4LCBzcmM5LCBzcmMxMCwg c3JjMTEKKyAgICAgICAgbGQxICAgICAgICAgICAgIHtcc3JjOVwoKS44aC1cc3JjMTFcKCku OGh9LCBbc3BdLCB4MTAKKyAgICAgICAgY2FsY19lcGVsaCAgICAgIHY0LCAgICAgXHNyYzAs IFxzcmMzLCBcc3JjNiwgXHNyYzkKKyAgICAgICAgY2FsY19lcGVsaDIgICAgIHY0LCB2NSwg XHNyYzAsIFxzcmMzLCBcc3JjNiwgXHNyYzkKKyAgICAgICAgY2FsY19lcGVsaCAgICAgIHY1 LCAgICAgXHNyYzEsIFxzcmM0LCBcc3JjNywgXHNyYzEwCisgICAgICAgIGNhbGNfZXBlbGgy ICAgICB2NSwgdjYsIFxzcmMxLCBcc3JjNCwgXHNyYzcsIFxzcmMxMAorICAgICAgICBjYWxj X2VwZWxoICAgICAgdjYsICAgICBcc3JjMiwgXHNyYzUsIFxzcmM4LCBcc3JjMTEKKyAgICAg ICAgY2FsY19lcGVsaDIgICAgIHY2LCB2NywgXHNyYzIsIFxzcmM1LCBcc3JjOCwgXHNyYzEx CisgICAgICAgIHN1YnMgICAgICAgICAgICB3MywgdzMsICMxCisgICAgICAgIHN0MSAgICAg ICAgICAgICB7djQuOGgtdjYuOGh9LCBbeDBdLCB4MTAKKy5lbmRtCisxOiAgICAgIGNhbGNf YWxsMTIKKy5wdXJnZW0gY2FsYworMjogICAgICByZXQKK2VuZGZ1bmMKKworZnVuY3Rpb24g ZmZfaGV2Y19wdXRfaGV2Y19lcGVsX2h2MzJfOF9uZW9uX2k4bW0sIGV4cG9ydD0xCisgICAg ICAgIHN0cCAgICAgICAgICAgICB4NCwgeDUsIFtzcCwgIy02NF0hCisgICAgICAgIHN0cCAg ICAgICAgICAgICB4MiwgeDMsIFtzcCwgIzE2XQorICAgICAgICBzdHAgICAgICAgICAgICAg eDAsIHgxLCBbc3AsICMzMl0KKyAgICAgICAgc3RyICAgICAgICAgICAgIHgzMCwgW3NwLCAj NDhdCisgICAgICAgIG1vdiAgICAgICAgICAgICB4NiwgIzE2CisgICAgICAgIGJsICAgICAg ICAgICAgICBYKGZmX2hldmNfcHV0X2hldmNfZXBlbF9odjE2XzhfbmVvbl9pOG1tKQorICAg ICAgICBsZHAgICAgICAgICAgICAgeDQsIHg1LCBbc3BdCisgICAgICAgIGxkcCAgICAgICAg ICAgICB4MiwgeDMsIFtzcCwgIzE2XQorICAgICAgICBsZHAgICAgICAgICAgICAgeDAsIHgx LCBbc3AsICMzMl0KKyAgICAgICAgYWRkICAgICAgICAgICAgIHNwLCBzcCwgIzQ4CisgICAg ICAgIGFkZCAgICAgICAgICAgICB4MCwgeDAsICMzMgorICAgICAgICBhZGQgICAgICAgICAg ICAgeDEsIHgxLCAjMTYKKyAgICAgICAgbW92ICAgICAgICAgICAgIHg2LCAjMTYKKyAgICAg ICAgYmwgICAgICAgICAgICAgIFgoZmZfaGV2Y19wdXRfaGV2Y19lcGVsX2h2MTZfOF9uZW9u X2k4bW0pCisgICAgICAgIGxkciAgICAgICAgICAgICB4MzAsIFtzcF0sICMxNgorICAgICAg ICByZXQKK2VuZGZ1bmMKKworZnVuY3Rpb24gZmZfaGV2Y19wdXRfaGV2Y19lcGVsX2h2NDhf OF9uZW9uX2k4bW0sIGV4cG9ydD0xCisgICAgICAgIHN0cCAgICAgICAgICAgICB4NCwgeDUs IFtzcCwgIy02NF0hCisgICAgICAgIHN0cCAgICAgICAgICAgICB4MiwgeDMsIFtzcCwgIzE2 XQorICAgICAgICBzdHAgICAgICAgICAgICAgeDAsIHgxLCBbc3AsICMzMl0KKyAgICAgICAg c3RyICAgICAgICAgICAgIHgzMCwgW3NwLCAjNDhdCisgICAgICAgIG1vdiAgICAgICAgICAg ICB4NiwgIzI0CisgICAgICAgIGJsICAgICAgICAgICAgICBYKGZmX2hldmNfcHV0X2hldmNf ZXBlbF9odjI0XzhfbmVvbl9pOG1tKQorICAgICAgICBsZHAgICAgICAgICAgICAgeDQsIHg1 LCBbc3BdCisgICAgICAgIGxkcCAgICAgICAgICAgICB4MiwgeDMsIFtzcCwgIzE2XQorICAg ICAgICBsZHAgICAgICAgICAgICAgeDAsIHgxLCBbc3AsICMzMl0KKyAgICAgICAgYWRkICAg ICAgICAgICAgIHNwLCBzcCwgIzQ4CisgICAgICAgIGFkZCAgICAgICAgICAgICB4MCwgeDAs ICM0OAorICAgICAgICBhZGQgICAgICAgICAgICAgeDEsIHgxLCAjMjQKKyAgICAgICAgbW92 ICAgICAgICAgICAgIHg2LCAjMjQKKyAgICAgICAgYmwgICAgICAgICAgICAgIFgoZmZfaGV2 Y19wdXRfaGV2Y19lcGVsX2h2MjRfOF9uZW9uX2k4bW0pCisgICAgICAgIGxkciAgICAgICAg ICAgICB4MzAsIFtzcF0sICMxNgorICAgICAgICByZXQKK2VuZGZ1bmMKKworZnVuY3Rpb24g ZmZfaGV2Y19wdXRfaGV2Y19lcGVsX2h2NjRfOF9uZW9uX2k4bW0sIGV4cG9ydD0xCisgICAg ICAgIHN0cCAgICAgICAgICAgICB4NCwgeDUsIFtzcCwgIy02NF0hCisgICAgICAgIHN0cCAg ICAgICAgICAgICB4MiwgeDMsIFtzcCwgIzE2XQorICAgICAgICBzdHAgICAgICAgICAgICAg eDAsIHgxLCBbc3AsICMzMl0KKyAgICAgICAgc3RyICAgICAgICAgICAgIHgzMCwgW3NwLCAj NDhdCisgICAgICAgIG1vdiAgICAgICAgICAgICB4NiwgIzE2CisgICAgICAgIGJsICAgICAg ICAgICAgICBYKGZmX2hldmNfcHV0X2hldmNfZXBlbF9odjE2XzhfbmVvbl9pOG1tKQorICAg ICAgICBsZHAgICAgICAgICAgICAgeDQsIHg1LCBbc3BdCisgICAgICAgIGxkcCAgICAgICAg ICAgICB4MiwgeDMsIFtzcCwgIzE2XQorICAgICAgICBsZHAgICAgICAgICAgICAgeDAsIHgx LCBbc3AsICMzMl0KKyAgICAgICAgYWRkICAgICAgICAgICAgIHgwLCB4MCwgIzMyCisgICAg ICAgIGFkZCAgICAgICAgICAgICB4MSwgeDEsICMxNgorICAgICAgICBtb3YgICAgICAgICAg ICAgeDYsICMxNgorICAgICAgICBibCAgICAgICAgICAgICAgWChmZl9oZXZjX3B1dF9oZXZj X2VwZWxfaHYxNl84X25lb25faThtbSkKKyAgICAgICAgbGRwICAgICAgICAgICAgIHg0LCB4 NSwgW3NwXQorICAgICAgICBsZHAgICAgICAgICAgICAgeDIsIHgzLCBbc3AsICMxNl0KKyAg ICAgICAgbGRwICAgICAgICAgICAgIHgwLCB4MSwgW3NwLCAjMzJdCisgICAgICAgIGFkZCAg ICAgICAgICAgICB4MCwgeDAsICM2NAorICAgICAgICBhZGQgICAgICAgICAgICAgeDEsIHgx LCAjMzIKKyAgICAgICAgbW92ICAgICAgICAgICAgIHg2LCAjMTYKKyAgICAgICAgYmwgICAg ICAgICAgICAgIFgoZmZfaGV2Y19wdXRfaGV2Y19lcGVsX2h2MTZfOF9uZW9uX2k4bW0pCisg ICAgICAgIGxkcCAgICAgICAgICAgICB4NCwgeDUsIFtzcF0KKyAgICAgICAgbGRwICAgICAg ICAgICAgIHgyLCB4MywgW3NwLCAjMTZdCisgICAgICAgIGxkcCAgICAgICAgICAgICB4MCwg eDEsIFtzcCwgIzMyXQorICAgICAgICBhZGQgICAgICAgICAgICAgc3AsIHNwLCAjNDgKKyAg ICAgICAgYWRkICAgICAgICAgICAgIHgwLCB4MCwgIzk2CisgICAgICAgIGFkZCAgICAgICAg ICAgICB4MSwgeDEsICM0OAorICAgICAgICBtb3YgICAgICAgICAgICAgeDYsICMxNgorICAg ICAgICBibCAgICAgICAgICAgICAgWChmZl9oZXZjX3B1dF9oZXZjX2VwZWxfaHYxNl84X25l b25faThtbSkKKyAgICAgICAgbGRyICAgICAgICAgICAgIHgzMCwgW3NwXSwgIzE2CisgICAg ICAgIHJldAorZW5kZnVuYworCiBmdW5jdGlvbiBmZl9oZXZjX3B1dF9oZXZjX2VwZWxfdW5p X2h2NF84X25lb25faThtbSwgZXhwb3J0PTEKICAgICAgICAgYWRkICAgICAgICAgICAgIHcx MCwgdzQsICMzCiAgICAgICAgIGxzbCAgICAgICAgICAgICB4MTAsIHgxMCwgIzcKZGlmZiAt LWdpdCBhL2xpYmF2Y29kZWMvYWFyY2g2NC9oZXZjZHNwX2luaXRfYWFyY2g2NC5jIGIvbGli YXZjb2RlYy9hYXJjaDY0L2hldmNkc3BfaW5pdF9hYXJjaDY0LmMKaW5kZXggODJlMTYyM2E2 Ny4uZTlhMzQxZWNiOSAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9hYXJjaDY0L2hldmNkc3Bf aW5pdF9hYXJjaDY0LmMKKysrIGIvbGliYXZjb2RlYy9hYXJjaDY0L2hldmNkc3BfaW5pdF9h YXJjaDY0LmMKQEAgLTE5MSw2ICsxOTEsMTAgQEAgTkVPTjhfRk5QUk9UTyhlcGVsX2gsIChp bnQxNl90ICpkc3QsCiAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKl9zcmMsIHB0cmRpZmZfdCBf c3Jjc3RyaWRlLAogICAgICAgICBpbnQgaGVpZ2h0LCBpbnRwdHJfdCBteCwgaW50cHRyX3Qg bXksIGludCB3aWR0aCksIF9pOG1tKTsKIAorTkVPTjhfRk5QUk9UTyhlcGVsX2h2LCAoaW50 MTZfdCAqZHN0LAorICAgICAgICBjb25zdCB1aW50OF90ICpzcmMsIHB0cmRpZmZfdCBzcmNz dHJpZGUsCisgICAgICAgIGludCBoZWlnaHQsIGludHB0cl90IG14LCBpbnRwdHJfdCBteSwg aW50IHdpZHRoKSwgX2k4bW0pOworCiBORU9OOF9GTlBST1RPKGVwZWxfdW5pX3dfaCwgKHVp bnQ4X3QgKl9kc3QsICBwdHJkaWZmX3QgX2RzdHN0cmlkZSwKICAgICAgICAgY29uc3QgdWlu dDhfdCAqX3NyYywgcHRyZGlmZl90IF9zcmNzdHJpZGUsCiAgICAgICAgIGludCBoZWlnaHQs IGludCBkZW5vbSwgaW50IHd4LCBpbnQgb3gsCkBAIC0zMjIsNiArMzI2LDcgQEAgYXZfY29s ZCB2b2lkIGZmX2hldmNfZHNwX2luaXRfYWFyY2g2NChIRVZDRFNQQ29udGV4dCAqYywgY29u c3QgaW50IGJpdF9kZXB0aCkKIAogICAgICAgICBpZiAoaGF2ZV9pOG1tKGNwdV9mbGFncykp IHsKICAgICAgICAgICAgIE5FT044X0ZOQVNTSUdOKGMtPnB1dF9oZXZjX2VwZWwsIDAsIDEs IGVwZWxfaCwgX2k4bW0pOworICAgICAgICAgICAgTkVPTjhfRk5BU1NJR04oYy0+cHV0X2hl dmNfZXBlbCwgMSwgMSwgZXBlbF9odiwgX2k4bW0pOwogICAgICAgICAgICAgTkVPTjhfRk5B U1NJR04oYy0+cHV0X2hldmNfZXBlbF91bmksIDEsIDEsIGVwZWxfdW5pX2h2LCBfaThtbSk7 CiAgICAgICAgICAgICBORU9OOF9GTkFTU0lHTihjLT5wdXRfaGV2Y19lcGVsX3VuaV93LCAw LCAxLCBlcGVsX3VuaV93X2ggLF9pOG1tKTsKICAgICAgICAgICAgIE5FT044X0ZOQVNTSUdO KGMtPnB1dF9oZXZjX3FwZWwsIDAsIDEsIHFwZWxfaCwgX2k4bW0pOwotLSAKMi4zOC4wLndp bmRvd3MuMQoK --------------vs0ieoedAxLZvlDCDv6vXU4N 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". --------------vs0ieoedAxLZvlDCDv6vXU4N--