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 45A3345301 for ; Sat, 18 Nov 2023 02:07:09 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id F33A268CD37; Sat, 18 Nov 2023 04:06:58 +0200 (EET) Received: from smtp-my3-01p8.yunyou.top (smtp-my3-01p8.yunyou.top [60.247.169.8]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id ADD1368CCFB for ; Sat, 18 Nov 2023 04:06:51 +0200 (EET) Received: from [192.168.15.105] (unknown [122.233.146.151]) by smtp-my-01.yunyou.top (WestCloudMail) with ESMTPA id 3CDDF141F26; Sat, 18 Nov 2023 10:06:46 +0800 (CST) Content-Type: multipart/mixed; boundary="------------dWuHQqVIHkYXTEhkxCYEJH0h" Message-ID: <5969017d-81db-470d-91bd-37c5b02ae5c1@myais.com.cn> Date: Sat, 18 Nov 2023 10:06:46 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: "Logan.Lyu" To: ffmpeg-devel@ffmpeg.org Organization: myais Subject: [FFmpeg-devel] [PATCH 2/6] lavc/aarch64: new optimization for 8-bit hevc_epel_bi_h 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. --------------dWuHQqVIHkYXTEhkxCYEJH0h Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit put_hevc_epel_bi_h4_8_c: 96.0 put_hevc_epel_bi_h4_8_neon: 36.3 put_hevc_epel_bi_h6_8_c: 288.3 put_hevc_epel_bi_h6_8_neon: 59.3 put_hevc_epel_bi_h8_8_c: 358.5 put_hevc_epel_bi_h8_8_neon: 61.5 put_hevc_epel_bi_h12_8_c: 759.8 put_hevc_epel_bi_h12_8_neon: 159.5 put_hevc_epel_bi_h16_8_c: 1307.0 put_hevc_epel_bi_h16_8_neon: 182.0 put_hevc_epel_bi_h24_8_c: 2778.3 put_hevc_epel_bi_h24_8_neon: 430.5 put_hevc_epel_bi_h32_8_c: 4952.3 put_hevc_epel_bi_h32_8_neon: 679.5 put_hevc_epel_bi_h48_8_c: 11803.3 put_hevc_epel_bi_h48_8_neon: 1443.5 put_hevc_epel_bi_h64_8_c: 20654.8 put_hevc_epel_bi_h64_8_neon: 2737.0 put_hevc_qpel_bi_h4_8_c: 140.0 put_hevc_qpel_bi_h4_8_neon: 111.5 put_hevc_qpel_bi_h6_8_c: 318.0 put_hevc_qpel_bi_h6_8_neon: 85.8 put_hevc_qpel_bi_h8_8_c: 536.5 put_hevc_qpel_bi_h8_8_neon: 95.3 put_hevc_qpel_bi_h12_8_c: 1188.5 put_hevc_qpel_bi_h12_8_neon: 291.3 put_hevc_qpel_bi_h16_8_c: 2064.3 put_hevc_qpel_bi_h16_8_neon: 365.3 put_hevc_qpel_bi_h24_8_c: 4757.5 put_hevc_qpel_bi_h24_8_neon: 1010.0 put_hevc_qpel_bi_h32_8_c: 8351.8 put_hevc_qpel_bi_h32_8_neon: 2917.8 put_hevc_qpel_bi_h48_8_c: 19299.8 put_hevc_qpel_bi_h48_8_neon: 2976.8 put_hevc_qpel_bi_h64_8_c: 34182.5 put_hevc_qpel_bi_h64_8_neon: 5236.3 Co-Authored-By: J. Dekker Signed-off-by: Logan Lyu --- libavcodec/aarch64/hevcdsp_epel_neon.S | 257 ++++++++++++++++++++++ libavcodec/aarch64/hevcdsp_init_aarch64.c | 5 + 2 files changed, 262 insertions(+) diff --git a/libavcodec/aarch64/hevcdsp_epel_neon.S b/libavcodec/aarch64/hevcdsp_epel_neon.S index 74165273d7..070c8c9990 100644 --- a/libavcodec/aarch64/hevcdsp_epel_neon.S +++ b/libavcodec/aarch64/hevcdsp_epel_neon.S @@ -423,6 +423,263 @@ function ff_hevc_put_hevc_pel_bi_pixels64_8_neon, export=1 ret endfunc + +function ff_hevc_put_hevc_epel_bi_h4_8_neon, export=1 + load_epel_filterb x6, x7 + sub x2, x2, #1 + mov x10, #(MAX_PB_SIZE * 2) +1: ld1 {v4.8b}, [x2], x3 + ext v5.8b, v4.8b, v4.8b, #1 + ext v6.8b, v4.8b, v4.8b, #2 + ext v7.8b, v4.8b, v4.8b, #3 + calc_epelb v16, v4, v5, v6, v7 + ld1 {v20.4h}, [x4], x10 + sqadd v16.8h, v16.8h, v20.8h + sqrshrun v4.8b, v16.8h, #7 + st1 {v4.s}[0], [x0], x1 + subs w5, w5, #1 // height + b.ne 1b + ret +endfunc + +function ff_hevc_put_hevc_epel_bi_h6_8_neon, export=1 + load_epel_filterb x6, x7 + sub w1, w1, #4 + sub x2, x2, #1 + mov x10, #(MAX_PB_SIZE * 2) +1: ld1 {v24.16b}, [x2], x3 + ext v26.16b, v24.16b, v24.16b, #1 + ext v27.16b, v24.16b, v24.16b, #2 + ext v28.16b, v24.16b, v24.16b, #3 + calc_epelb v16, v24, v26, v27, v28 + ld1 {v20.8h}, [x4], x10 + sqadd v16.8h, v16.8h, v20.8h + sqrshrun v16.8b, v16.8h, #7 + st1 {v16.s}[0], [x0], #4 + st1 {v16.h}[2], [x0], x1 + subs w5, w5, #1 // height + b.ne 1b + ret +endfunc + +function ff_hevc_put_hevc_epel_bi_h8_8_neon, export=1 + load_epel_filterb x6, x7 + sub x2, x2, #1 + mov x10, #(MAX_PB_SIZE * 2) +1: ld1 {v24.16b}, [x2], x3 + ext v26.16b, v24.16b, v24.16b, #1 + ext v27.16b, v24.16b, v24.16b, #2 + ext v28.16b, v24.16b, v24.16b, #3 + calc_epelb v16, v24, v26 v27, v28 + ld1 {v20.8h}, [x4], x10 + sqadd v16.8h, v16.8h, v20.8h + sqrshrun v16.8b, v16.8h, #7 + st1 {v16.8b}, [x0], x1 + subs w5, w5, #1 // height + b.ne 1b + ret +endfunc + +function ff_hevc_put_hevc_epel_bi_h12_8_neon, export=1 + load_epel_filterb x6, x7 + sub x1, x1, #8 + sub x2, x2, #1 + mov x10, #(MAX_PB_SIZE * 2) +1: ld1 {v24.16b}, [x2], x3 + ext v26.16b, v24.16b, v24.16b, #1 + ext v27.16b, v24.16b, v24.16b, #2 + ext v28.16b, v24.16b, v24.16b, #3 + calc_epelb v16, v24, v26, v27, v28 + calc_epelb2 v17, v24, v26, v27, v28 + ld1 {v20.8h, v21.8h}, [x4], x10 + sqadd v18.8h, v16.8h, v20.8h + sqadd v19.8h, v17.8h, v21.8h + sqrshrun v20.8b, v18.8h, #7 + sqrshrun v21.8b, v19.8h, #7 + st1 {v20.8b}, [x0], #8 + st1 {v21.s}[0], [x0], x1 + subs w5, w5, #1 // height + b.ne 1b + ret +endfunc + +function ff_hevc_put_hevc_epel_bi_h16_8_neon, export=1 + load_epel_filterb x6, x7 + sub x2, x2, #1 + mov x10, #(MAX_PB_SIZE * 2) +1: ldr q24, [x2] + ldr s25, [x2, #16] + add x2, x2, x3 + ext v26.16b, v24.16b, v25.16b, #1 + ext v27.16b, v24.16b, v25.16b, #2 + ext v28.16b, v24.16b, v25.16b, #3 + calc_epelb v16, v24, v26, v27, v28 + calc_epelb2 v17, v24, v26, v27, v28 + ld1 {v24.8h, v25.8h}, [x4], x10 + sqadd v16.8h, v16.8h, v24.8h + sqadd v17.8h, v17.8h, v25.8h + sqrshrun v4.8b, v16.8h, #7 + sqrshrun2 v4.16b, v17.8h, #7 + st1 {v4.16b}, [x0], x1 + subs w5, w5, #1 // height + b.ne 1b + ret +endfunc + +function ff_hevc_put_hevc_epel_bi_h24_8_neon, export=1 + load_epel_filterb x6, x7 + sub x2, x2, #1 + mov x10, #(MAX_PB_SIZE * 2) +1: ld1 {v24.16b, v25.16b}, [x2], x3 + ext v26.16b, v24.16b, v25.16b, #1 + ext v27.16b, v24.16b, v25.16b, #2 + ext v28.16b, v24.16b, v25.16b, #3 + calc_epelb v16, v24, v26, v27, v28 + calc_epelb2 v17, v24, v26, v27, v28 + ext v26.16b, v25.16b, v25.16b, #1 + ext v27.16b, v25.16b, v25.16b, #2 + ext v28.16b, v25.16b, v25.16b, #3 + calc_epelb v18, v25, v26, v27, v28 + ld1 {v20.8h, v21.8h, v22.8h}, [x4], x10 + sqadd v16.8h, v16.8h, v20.8h + sqadd v17.8h, v17.8h, v21.8h + sqadd v18.8h, v18.8h, v22.8h + sqrshrun v4.8b, v16.8h, #7 + sqrshrun v5.8b, v17.8h, #7 + sqrshrun v6.8b, v18.8h, #7 + st1 {v4.8b, v5.8b, v6.8b}, [x0], x1 + subs w5, w5, #1 // height + b.ne 1b + ret +endfunc + +function ff_hevc_put_hevc_epel_bi_h32_8_neon, export=1 + load_epel_filterb x6, x7 + sub x2, x2, #1 + mov x10, #(MAX_PB_SIZE * 2) +1: ldp q24, q25, [x2] + ldr s26, [x2, #32] + add x2, x2, x3 + ext v27.16b, v24.16b, v25.16b, #1 + ext v28.16b, v24.16b, v25.16b, #2 + ext v29.16b, v24.16b, v25.16b, #3 + calc_epelb v16, v24, v27, v28, v29 + calc_epelb2 v17, v24, v27, v28, v29 + ext v27.16b, v25.16b, v26.16b, #1 + ext v28.16b, v25.16b, v26.16b, #2 + ext v29.16b, v25.16b, v26.16b, #3 + calc_epelb v18, v25, v27, v28, v29 + calc_epelb2 v19, v25, v27, v28, v29 + ld1 {v24.8h, v25.8h, v26.8h, v27.8h}, [x4], x10 + sqadd v16.8h, v16.8h, v24.8h + sqadd v17.8h, v17.8h, v25.8h + sqadd v18.8h, v18.8h, v26.8h + sqadd v19.8h, v19.8h, v27.8h + sqrshrun v4.8b, v16.8h, #7 + sqrshrun2 v4.16b, v17.8h, #7 + sqrshrun v5.8b, v18.8h, #7 + sqrshrun2 v5.16b, v19.8h, #7 + st1 {v4.16b, v5.16b}, [x0], x1 + subs w5, w5, #1 + b.ne 1b + ret +endfunc + +function ff_hevc_put_hevc_epel_bi_h48_8_neon, export=1 + load_epel_filterb x6, x7 + sub x2, x2, #1 + mov x7, #24 + mov x10, #(MAX_PB_SIZE * 2 - 48) +1: ld1 {v24.16b, v25.16b, v26.16b}, [x2] + ldr s27, [x2, #48] + add x2, x2, x3 + ext v28.16b, v24.16b, v25.16b, #1 + ext v29.16b, v24.16b, v25.16b, #2 + ext v30.16b, v24.16b, v25.16b, #3 + calc_epelb v16, v24, v28, v29, v30 + calc_epelb2 v17, v24, v28, v29, v30 + ext v28.16b, v25.16b, v26.16b, #1 + ext v29.16b, v25.16b, v26.16b, #2 + ext v30.16b, v25.16b, v26.16b, #3 + calc_epelb v18, v25, v28, v29, v30 + calc_epelb2 v19, v25, v28, v29, v30 + ext v28.16b, v26.16b, v27.16b, #1 + ext v29.16b, v26.16b, v27.16b, #2 + ext v30.16b, v26.16b, v27.16b, #3 + calc_epelb v20, v26, v28, v29, v30 + calc_epelb2 v21, v26, v28, v29, v30 + + ld1 {v24.8h, v25.8h, v26.8h}, [x4], #48 + sqadd v16.8h, v16.8h, v24.8h + sqadd v17.8h, v17.8h, v25.8h + sqadd v18.8h, v18.8h, v26.8h + ld1 {v27.8h, v28.8h, v29.8h}, [x4], x10 + sqadd v19.8h, v19.8h, v27.8h + sqadd v20.8h, v20.8h, v28.8h + sqadd v21.8h, v21.8h, v29.8h + sqrshrun v4.8b, v16.8h, #7 + sqrshrun2 v4.16b, v17.8h, #7 + sqrshrun v5.8b, v18.8h, #7 + sqrshrun2 v5.16b, v19.8h, #7 + sqrshrun v6.8b, v20.8h, #7 + sqrshrun2 v6.16b, v21.8h, #7 + st1 {v4.16b, v5.16b, v6.16b}, [x0], x1 + subs w5, w5, #1 // height + b.ne 1b + ret +endfunc + +function ff_hevc_put_hevc_epel_bi_h64_8_neon, export=1 + load_epel_filterb x6, x7 + sub x2, x2, #1 +1: ld1 {v24.16b, v25.16b, v26.16b, v27.16b}, [x2] + ldr s28, [x2, #64] + add x2, x2, x3 + ext v29.16b, v24.16b, v25.16b, #1 + ext v30.16b, v24.16b, v25.16b, #2 + ext v31.16b, v24.16b, v25.16b, #3 + calc_epelb v16, v24, v29, v30, v31 + calc_epelb2 v17, v24, v29, v30, v31 + ext v29.16b, v25.16b, v26.16b, #1 + ext v30.16b, v25.16b, v26.16b, #2 + ext v31.16b, v25.16b, v26.16b, #3 + calc_epelb v18, v25, v29, v30, v31 + calc_epelb2 v19, v25, v29, v30, v31 + ld1 {v4.8h, v5.8h, v6.8h, v7.8h}, [x4], #64 + sqadd v16.8h, v16.8h, v4.8h + sqadd v17.8h, v17.8h, v5.8h + sqadd v18.8h, v18.8h, v6.8h + sqadd v19.8h, v19.8h, v7.8h + sqrshrun v16.8b, v16.8h, #7 + sqrshrun2 v16.16b, v17.8h, #7 + sqrshrun v17.8b, v18.8h, #7 + sqrshrun2 v17.16b, v19.8h, #7 + + ext v29.16b, v26.16b, v27.16b, #1 + ext v30.16b, v26.16b, v27.16b, #2 + ext v31.16b, v26.16b, v27.16b, #3 + calc_epelb v20, v26, v29, v30, v31 + calc_epelb2 v21, v26, v29, v30, v31 + ext v29.16b, v27.16b, v28.16b, #1 + ext v30.16b, v27.16b, v28.16b, #2 + ext v31.16b, v27.16b, v28.16b, #3 + calc_epelb v22, v27, v29, v30, v31 + calc_epelb2 v23, v27, v29, v30, v31 + ld1 {v4.8h, v5.8h, v6.8h, v7.8h}, [x4], #64 + sqadd v20.8h, v20.8h, v4.8h + sqadd v21.8h, v21.8h, v5.8h + sqadd v22.8h, v22.8h, v6.8h + sqadd v23.8h, v23.8h, v7.8h + sqrshrun v18.8b, v20.8h, #7 + sqrshrun2 v18.16b, v21.8h, #7 + sqrshrun v19.8b, v22.8h, #7 + sqrshrun2 v19.16b, v23.8h, #7 + st1 {v16.16b, v17.16b, v18.16b, v19.16b}, [x0], x1 + subs w5, w5, #1 + b.ne 1b + ret +endfunc + function ff_hevc_put_hevc_epel_v4_8_neon, export=1 load_epel_filterb x5, x4 sub x1, x1, x2 diff --git a/libavcodec/aarch64/hevcdsp_init_aarch64.c b/libavcodec/aarch64/hevcdsp_init_aarch64.c index cf171023e7..a16c1a83e0 100644 --- a/libavcodec/aarch64/hevcdsp_init_aarch64.c +++ b/libavcodec/aarch64/hevcdsp_init_aarch64.c @@ -160,6 +160,10 @@ NEON8_FNPROTO(pel_bi_pixels, (uint8_t *dst, ptrdiff_t dststride, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t mx, intptr_t my, int width),); +NEON8_FNPROTO(epel_bi_h, (uint8_t *dst, ptrdiff_t dststride, + const uint8_t *src, ptrdiff_t srcstride, const int16_t *src2, + int height, intptr_t mx, intptr_t my, int width),); + NEON8_FNPROTO(epel_v, (uint8_t *dst, ptrdiff_t dststride, const uint8_t *_src, ptrdiff_t _srcstride, const int16_t *src2, int height, intptr_t mx, intptr_t my, int width),); @@ -329,6 +333,7 @@ av_cold void ff_hevc_dsp_init_aarch64(HEVCDSPContext *c, const int bit_depth) NEON8_FNASSIGN(c->put_hevc_qpel, 0, 0, pel_pixels,); NEON8_FNASSIGN(c->put_hevc_qpel, 1, 0, qpel_v,); NEON8_FNASSIGN(c->put_hevc_epel_bi, 0, 0, pel_bi_pixels,); + NEON8_FNASSIGN(c->put_hevc_epel_bi, 0, 1, epel_bi_h,); NEON8_FNASSIGN(c->put_hevc_qpel_bi, 0, 0, pel_bi_pixels,); NEON8_FNASSIGN(c->put_hevc_epel_uni, 0, 0, pel_uni_pixels,); NEON8_FNASSIGN(c->put_hevc_epel_uni, 1, 0, epel_uni_v,); -- 2.38.0.windows.1 --------------dWuHQqVIHkYXTEhkxCYEJH0h Content-Type: text/plain; charset=UTF-8; name="0002-lavc-aarch64-new-optimization-for-8-bit-hevc_epel_bi_h.patch" Content-Disposition: attachment; filename*0="0002-lavc-aarch64-new-optimization-for-8-bit-hevc_epel_bi_h."; filename*1="patch" Content-Transfer-Encoding: base64 RnJvbSBlMjhiNjljMjRiNzYwZDMzOTA4MTc5ZWVkYTgzNTcxMzJiNmQ0MThjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBMb2dhbiBMeXUgPExvZ2FuLkx5dUBteWFpcy5jb20u Y24+CkRhdGU6IFNhdCwgMTEgTm92IDIwMjMgMTc6NTQ6MzUgKzA4MDAKU3ViamVjdDogW1BB VENIIDIvNl0gbGF2Yy9hYXJjaDY0OiBuZXcgb3B0aW1pemF0aW9uIGZvciA4LWJpdCBoZXZj X2VwZWxfYmlfaAoKcHV0X2hldmNfZXBlbF9iaV9oNF84X2M6IDk2LjAKcHV0X2hldmNfZXBl bF9iaV9oNF84X25lb246IDM2LjMKcHV0X2hldmNfZXBlbF9iaV9oNl84X2M6IDI4OC4zCnB1 dF9oZXZjX2VwZWxfYmlfaDZfOF9uZW9uOiA1OS4zCnB1dF9oZXZjX2VwZWxfYmlfaDhfOF9j OiAzNTguNQpwdXRfaGV2Y19lcGVsX2JpX2g4XzhfbmVvbjogNjEuNQpwdXRfaGV2Y19lcGVs X2JpX2gxMl84X2M6IDc1OS44CnB1dF9oZXZjX2VwZWxfYmlfaDEyXzhfbmVvbjogMTU5LjUK cHV0X2hldmNfZXBlbF9iaV9oMTZfOF9jOiAxMzA3LjAKcHV0X2hldmNfZXBlbF9iaV9oMTZf OF9uZW9uOiAxODIuMApwdXRfaGV2Y19lcGVsX2JpX2gyNF84X2M6IDI3NzguMwpwdXRfaGV2 Y19lcGVsX2JpX2gyNF84X25lb246IDQzMC41CnB1dF9oZXZjX2VwZWxfYmlfaDMyXzhfYzog NDk1Mi4zCnB1dF9oZXZjX2VwZWxfYmlfaDMyXzhfbmVvbjogNjc5LjUKcHV0X2hldmNfZXBl bF9iaV9oNDhfOF9jOiAxMTgwMy4zCnB1dF9oZXZjX2VwZWxfYmlfaDQ4XzhfbmVvbjogMTQ0 My41CnB1dF9oZXZjX2VwZWxfYmlfaDY0XzhfYzogMjA2NTQuOApwdXRfaGV2Y19lcGVsX2Jp X2g2NF84X25lb246IDI3MzcuMApwdXRfaGV2Y19xcGVsX2JpX2g0XzhfYzogMTQwLjAKcHV0 X2hldmNfcXBlbF9iaV9oNF84X25lb246IDExMS41CnB1dF9oZXZjX3FwZWxfYmlfaDZfOF9j OiAzMTguMApwdXRfaGV2Y19xcGVsX2JpX2g2XzhfbmVvbjogODUuOApwdXRfaGV2Y19xcGVs X2JpX2g4XzhfYzogNTM2LjUKcHV0X2hldmNfcXBlbF9iaV9oOF84X25lb246IDk1LjMKcHV0 X2hldmNfcXBlbF9iaV9oMTJfOF9jOiAxMTg4LjUKcHV0X2hldmNfcXBlbF9iaV9oMTJfOF9u ZW9uOiAyOTEuMwpwdXRfaGV2Y19xcGVsX2JpX2gxNl84X2M6IDIwNjQuMwpwdXRfaGV2Y19x cGVsX2JpX2gxNl84X25lb246IDM2NS4zCnB1dF9oZXZjX3FwZWxfYmlfaDI0XzhfYzogNDc1 Ny41CnB1dF9oZXZjX3FwZWxfYmlfaDI0XzhfbmVvbjogMTAxMC4wCnB1dF9oZXZjX3FwZWxf YmlfaDMyXzhfYzogODM1MS44CnB1dF9oZXZjX3FwZWxfYmlfaDMyXzhfbmVvbjogMjkxNy44 CnB1dF9oZXZjX3FwZWxfYmlfaDQ4XzhfYzogMTkyOTkuOApwdXRfaGV2Y19xcGVsX2JpX2g0 OF84X25lb246IDI5NzYuOApwdXRfaGV2Y19xcGVsX2JpX2g2NF84X2M6IDM0MTgyLjUKcHV0 X2hldmNfcXBlbF9iaV9oNjRfOF9uZW9uOiA1MjM2LjMKCkNvLUF1dGhvcmVkLUJ5OiBKLiBE ZWtrZXIgPGpkZWtAaXRhbmltdWwubGk+Ci0tLQogbGliYXZjb2RlYy9hYXJjaDY0L2hldmNk c3BfZXBlbF9uZW9uLlMgICAgfCAyNTcgKysrKysrKysrKysrKysrKysrKysrKwogbGliYXZj b2RlYy9hYXJjaDY0L2hldmNkc3BfaW5pdF9hYXJjaDY0LmMgfCAgIDUgKwogMiBmaWxlcyBj aGFuZ2VkLCAyNjIgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvYWFy Y2g2NC9oZXZjZHNwX2VwZWxfbmVvbi5TIGIvbGliYXZjb2RlYy9hYXJjaDY0L2hldmNkc3Bf ZXBlbF9uZW9uLlMKaW5kZXggNzQxNjUyNzNkNy4uMDcwYzhjOTk5MCAxMDA2NDQKLS0tIGEv bGliYXZjb2RlYy9hYXJjaDY0L2hldmNkc3BfZXBlbF9uZW9uLlMKKysrIGIvbGliYXZjb2Rl Yy9hYXJjaDY0L2hldmNkc3BfZXBlbF9uZW9uLlMKQEAgLTQyMyw2ICs0MjMsMjYzIEBAIGZ1 bmN0aW9uIGZmX2hldmNfcHV0X2hldmNfcGVsX2JpX3BpeGVsczY0XzhfbmVvbiwgZXhwb3J0 PTEKICAgICAgICAgcmV0CiBlbmRmdW5jCiAKKworZnVuY3Rpb24gZmZfaGV2Y19wdXRfaGV2 Y19lcGVsX2JpX2g0XzhfbmVvbiwgZXhwb3J0PTEKKyAgICAgICAgbG9hZF9lcGVsX2ZpbHRl cmIgeDYsIHg3CisgICAgICAgIHN1YiAgICAgICAgICAgICB4MiwgeDIsICMxCisgICAgICAg IG1vdiAgICAgICAgICAgICB4MTAsICMoTUFYX1BCX1NJWkUgKiAyKQorMTogICAgICBsZDEg ICAgICAgICAgICAge3Y0LjhifSwgW3gyXSwgeDMKKyAgICAgICAgZXh0ICAgICAgICAgICAg IHY1LjhiLCB2NC44YiwgdjQuOGIsICMxCisgICAgICAgIGV4dCAgICAgICAgICAgICB2Ni44 YiwgdjQuOGIsIHY0LjhiLCAjMgorICAgICAgICBleHQgICAgICAgICAgICAgdjcuOGIsIHY0 LjhiLCB2NC44YiwgIzMKKyAgICAgICAgY2FsY19lcGVsYiAgICAgIHYxNiwgdjQsIHY1LCB2 NiwgdjcKKyAgICAgICAgbGQxICAgICAgICAgICAgIHt2MjAuNGh9LCBbeDRdLCB4MTAKKyAg ICAgICAgc3FhZGQgICAgICAgICAgIHYxNi44aCwgdjE2LjhoLCB2MjAuOGgKKyAgICAgICAg c3Fyc2hydW4gICAgICAgIHY0LjhiLCB2MTYuOGgsICM3CisgICAgICAgIHN0MSAgICAgICAg ICAgICB7djQuc31bMF0sIFt4MF0sIHgxCisgICAgICAgIHN1YnMgICAgICAgICAgICB3NSwg dzUsICMxICAgLy8gaGVpZ2h0CisgICAgICAgIGIubmUgICAgICAgICAgICAxYgorICAgICAg ICByZXQKK2VuZGZ1bmMKKworZnVuY3Rpb24gZmZfaGV2Y19wdXRfaGV2Y19lcGVsX2JpX2g2 XzhfbmVvbiwgZXhwb3J0PTEKKyAgICAgICAgbG9hZF9lcGVsX2ZpbHRlcmIgeDYsIHg3Cisg ICAgICAgIHN1YiAgICAgICAgICAgICB3MSwgdzEsICM0CisgICAgICAgIHN1YiAgICAgICAg ICAgICB4MiwgeDIsICMxCisgICAgICAgIG1vdiAgICAgICAgICAgICB4MTAsICMoTUFYX1BC X1NJWkUgKiAyKQorMTogICAgICBsZDEgICAgICAgICAgICAge3YyNC4xNmJ9LCBbeDJdLCB4 MworICAgICAgICBleHQgICAgICAgICAgICAgdjI2LjE2YiwgdjI0LjE2YiwgdjI0LjE2Yiwg IzEKKyAgICAgICAgZXh0ICAgICAgICAgICAgIHYyNy4xNmIsIHYyNC4xNmIsIHYyNC4xNmIs ICMyCisgICAgICAgIGV4dCAgICAgICAgICAgICB2MjguMTZiLCB2MjQuMTZiLCB2MjQuMTZi LCAjMworICAgICAgICBjYWxjX2VwZWxiICAgICAgdjE2LCB2MjQsIHYyNiwgdjI3LCB2MjgK KyAgICAgICAgbGQxICAgICAgICAgICAgIHt2MjAuOGh9LCBbeDRdLCB4MTAKKyAgICAgICAg c3FhZGQgICAgICAgICAgIHYxNi44aCwgdjE2LjhoLCB2MjAuOGgKKyAgICAgICAgc3Fyc2hy dW4gICAgICAgIHYxNi44YiwgdjE2LjhoLCAjNworICAgICAgICBzdDEgICAgICAgICAgICAg e3YxNi5zfVswXSwgW3gwXSwgIzQKKyAgICAgICAgc3QxICAgICAgICAgICAgIHt2MTYuaH1b Ml0sIFt4MF0sIHgxCisgICAgICAgIHN1YnMgICAgICAgICAgICB3NSwgdzUsICMxICAgLy8g aGVpZ2h0CisgICAgICAgIGIubmUgICAgICAgICAgICAxYgorICAgICAgICByZXQKK2VuZGZ1 bmMKKworZnVuY3Rpb24gZmZfaGV2Y19wdXRfaGV2Y19lcGVsX2JpX2g4XzhfbmVvbiwgZXhw b3J0PTEKKyAgICAgICAgbG9hZF9lcGVsX2ZpbHRlcmIgeDYsIHg3CisgICAgICAgIHN1YiAg ICAgICAgICAgICB4MiwgeDIsICMxCisgICAgICAgIG1vdiAgICAgICAgICAgICB4MTAsICMo TUFYX1BCX1NJWkUgKiAyKQorMTogICAgICBsZDEgICAgICAgICAgICAge3YyNC4xNmJ9LCBb eDJdLCB4MworICAgICAgICBleHQgICAgICAgICAgICAgdjI2LjE2YiwgdjI0LjE2YiwgdjI0 LjE2YiwgIzEKKyAgICAgICAgZXh0ICAgICAgICAgICAgIHYyNy4xNmIsIHYyNC4xNmIsIHYy NC4xNmIsICMyCisgICAgICAgIGV4dCAgICAgICAgICAgICB2MjguMTZiLCB2MjQuMTZiLCB2 MjQuMTZiLCAjMworICAgICAgICBjYWxjX2VwZWxiICAgICAgdjE2LCB2MjQsIHYyNiB2Mjcs IHYyOAorICAgICAgICBsZDEgICAgICAgICAgICAge3YyMC44aH0sIFt4NF0sIHgxMAorICAg ICAgICBzcWFkZCAgICAgICAgICAgdjE2LjhoLCB2MTYuOGgsIHYyMC44aAorICAgICAgICBz cXJzaHJ1biAgICAgICAgdjE2LjhiLCB2MTYuOGgsICM3CisgICAgICAgIHN0MSAgICAgICAg ICAgICB7djE2LjhifSwgW3gwXSwgeDEKKyAgICAgICAgc3VicyAgICAgICAgICAgIHc1LCB3 NSwgIzEgICAvLyBoZWlnaHQKKyAgICAgICAgYi5uZSAgICAgICAgICAgIDFiCisgICAgICAg IHJldAorZW5kZnVuYworCitmdW5jdGlvbiBmZl9oZXZjX3B1dF9oZXZjX2VwZWxfYmlfaDEy XzhfbmVvbiwgZXhwb3J0PTEKKyAgICAgICAgbG9hZF9lcGVsX2ZpbHRlcmIgeDYsIHg3Cisg ICAgICAgIHN1YiAgICAgICAgICAgICB4MSwgeDEsICM4CisgICAgICAgIHN1YiAgICAgICAg ICAgICB4MiwgeDIsICMxCisgICAgICAgIG1vdiAgICAgICAgICAgICB4MTAsICMoTUFYX1BC X1NJWkUgKiAyKQorMTogICAgICBsZDEgICAgICAgICAgICAge3YyNC4xNmJ9LCBbeDJdLCB4 MworICAgICAgICBleHQgICAgICAgICAgICAgdjI2LjE2YiwgdjI0LjE2YiwgdjI0LjE2Yiwg IzEKKyAgICAgICAgZXh0ICAgICAgICAgICAgIHYyNy4xNmIsIHYyNC4xNmIsIHYyNC4xNmIs ICMyCisgICAgICAgIGV4dCAgICAgICAgICAgICB2MjguMTZiLCB2MjQuMTZiLCB2MjQuMTZi LCAjMworICAgICAgICBjYWxjX2VwZWxiICAgICAgdjE2LCB2MjQsIHYyNiwgdjI3LCB2MjgK KyAgICAgICAgY2FsY19lcGVsYjIgICAgIHYxNywgdjI0LCB2MjYsIHYyNywgdjI4CisgICAg ICAgIGxkMSAgICAgICAgICAgICB7djIwLjhoLCB2MjEuOGh9LCBbeDRdLCB4MTAKKyAgICAg ICAgc3FhZGQgICAgICAgICAgIHYxOC44aCwgdjE2LjhoLCB2MjAuOGgKKyAgICAgICAgc3Fh ZGQgICAgICAgICAgIHYxOS44aCwgdjE3LjhoLCB2MjEuOGgKKyAgICAgICAgc3Fyc2hydW4g ICAgICAgIHYyMC44YiwgdjE4LjhoLCAjNworICAgICAgICBzcXJzaHJ1biAgICAgICAgdjIx LjhiLCB2MTkuOGgsICM3CisgICAgICAgIHN0MSAgICAgICAgICAgICB7djIwLjhifSwgW3gw XSwgIzgKKyAgICAgICAgc3QxICAgICAgICAgICAgIHt2MjEuc31bMF0sIFt4MF0sIHgxCisg ICAgICAgIHN1YnMgICAgICAgICAgICB3NSwgdzUsICMxICAgLy8gaGVpZ2h0CisgICAgICAg IGIubmUgICAgICAgICAgICAxYgorICAgICAgICByZXQKK2VuZGZ1bmMKKworZnVuY3Rpb24g ZmZfaGV2Y19wdXRfaGV2Y19lcGVsX2JpX2gxNl84X25lb24sIGV4cG9ydD0xCisgICAgICAg IGxvYWRfZXBlbF9maWx0ZXJiIHg2LCB4NworICAgICAgICBzdWIgICAgICAgICAgICAgeDIs IHgyLCAjMQorICAgICAgICBtb3YgICAgICAgICAgICAgeDEwLCAjKE1BWF9QQl9TSVpFICog MikKKzE6ICAgICAgbGRyICAgICAgICAgICAgIHEyNCwgW3gyXQorICAgICAgICBsZHIgICAg ICAgICAgICAgczI1LCBbeDIsICMxNl0KKyAgICAgICAgYWRkICAgICAgICAgICAgIHgyLCB4 MiwgeDMKKyAgICAgICAgZXh0ICAgICAgICAgICAgIHYyNi4xNmIsIHYyNC4xNmIsIHYyNS4x NmIsICMxCisgICAgICAgIGV4dCAgICAgICAgICAgICB2MjcuMTZiLCB2MjQuMTZiLCB2MjUu MTZiLCAjMgorICAgICAgICBleHQgICAgICAgICAgICAgdjI4LjE2YiwgdjI0LjE2YiwgdjI1 LjE2YiwgIzMKKyAgICAgICAgY2FsY19lcGVsYiAgICAgIHYxNiwgdjI0LCB2MjYsIHYyNywg djI4CisgICAgICAgIGNhbGNfZXBlbGIyICAgICB2MTcsIHYyNCwgdjI2LCB2MjcsIHYyOAor ICAgICAgICBsZDEgICAgICAgICAgICAge3YyNC44aCwgdjI1LjhofSwgW3g0XSwgeDEwCisg ICAgICAgIHNxYWRkICAgICAgICAgICB2MTYuOGgsIHYxNi44aCwgdjI0LjhoCisgICAgICAg IHNxYWRkICAgICAgICAgICB2MTcuOGgsIHYxNy44aCwgdjI1LjhoCisgICAgICAgIHNxcnNo cnVuICAgICAgICB2NC44YiwgdjE2LjhoLCAjNworICAgICAgICBzcXJzaHJ1bjIgICAgICAg djQuMTZiLCB2MTcuOGgsICM3CisgICAgICAgIHN0MSAgICAgICAgICAgICB7djQuMTZifSwg W3gwXSwgeDEKKyAgICAgICAgc3VicyAgICAgICAgICAgIHc1LCB3NSwgIzEgICAvLyBoZWln aHQKKyAgICAgICAgYi5uZSAgICAgICAgICAgIDFiCisgICAgICAgIHJldAorZW5kZnVuYwor CitmdW5jdGlvbiBmZl9oZXZjX3B1dF9oZXZjX2VwZWxfYmlfaDI0XzhfbmVvbiwgZXhwb3J0 PTEKKyAgICAgICAgbG9hZF9lcGVsX2ZpbHRlcmIgeDYsIHg3CisgICAgICAgIHN1YiAgICAg ICAgICAgICB4MiwgeDIsICMxCisgICAgICAgIG1vdiAgICAgICAgICAgICB4MTAsICMoTUFY X1BCX1NJWkUgKiAyKQorMTogICAgICBsZDEgICAgICAgICAgICAge3YyNC4xNmIsIHYyNS4x NmJ9LCBbeDJdLCB4MworICAgICAgICBleHQgICAgICAgICAgICAgdjI2LjE2YiwgdjI0LjE2 YiwgdjI1LjE2YiwgIzEKKyAgICAgICAgZXh0ICAgICAgICAgICAgIHYyNy4xNmIsIHYyNC4x NmIsIHYyNS4xNmIsICMyCisgICAgICAgIGV4dCAgICAgICAgICAgICB2MjguMTZiLCB2MjQu MTZiLCB2MjUuMTZiLCAjMworICAgICAgICBjYWxjX2VwZWxiICAgICAgdjE2LCB2MjQsIHYy NiwgdjI3LCB2MjgKKyAgICAgICAgY2FsY19lcGVsYjIgICAgIHYxNywgdjI0LCB2MjYsIHYy NywgdjI4CisgICAgICAgIGV4dCAgICAgICAgICAgICB2MjYuMTZiLCB2MjUuMTZiLCB2MjUu MTZiLCAjMQorICAgICAgICBleHQgICAgICAgICAgICAgdjI3LjE2YiwgdjI1LjE2YiwgdjI1 LjE2YiwgIzIKKyAgICAgICAgZXh0ICAgICAgICAgICAgIHYyOC4xNmIsIHYyNS4xNmIsIHYy NS4xNmIsICMzCisgICAgICAgIGNhbGNfZXBlbGIgICAgICB2MTgsIHYyNSwgdjI2LCB2Mjcs IHYyOAorICAgICAgICBsZDEgICAgICAgICAgICAge3YyMC44aCwgdjIxLjhoLCB2MjIuOGh9 LCBbeDRdLCB4MTAKKyAgICAgICAgc3FhZGQgICAgICAgICAgIHYxNi44aCwgdjE2LjhoLCB2 MjAuOGgKKyAgICAgICAgc3FhZGQgICAgICAgICAgIHYxNy44aCwgdjE3LjhoLCB2MjEuOGgK KyAgICAgICAgc3FhZGQgICAgICAgICAgIHYxOC44aCwgdjE4LjhoLCB2MjIuOGgKKyAgICAg ICAgc3Fyc2hydW4gICAgICAgIHY0LjhiLCB2MTYuOGgsICM3CisgICAgICAgIHNxcnNocnVu ICAgICAgICB2NS44YiwgdjE3LjhoLCAjNworICAgICAgICBzcXJzaHJ1biAgICAgICAgdjYu OGIsIHYxOC44aCwgIzcKKyAgICAgICAgc3QxICAgICAgICAgICAgIHt2NC44YiwgdjUuOGIs IHY2LjhifSwgW3gwXSwgeDEKKyAgICAgICAgc3VicyAgICAgICAgICAgIHc1LCB3NSwgIzEg ICAvLyBoZWlnaHQKKyAgICAgICAgYi5uZSAgICAgICAgICAgIDFiCisgICAgICAgIHJldAor ZW5kZnVuYworCitmdW5jdGlvbiBmZl9oZXZjX3B1dF9oZXZjX2VwZWxfYmlfaDMyXzhfbmVv biwgZXhwb3J0PTEKKyAgICAgICAgbG9hZF9lcGVsX2ZpbHRlcmIgeDYsIHg3CisgICAgICAg IHN1YiAgICAgICAgICAgICB4MiwgeDIsICMxCisgICAgICAgIG1vdiAgICAgICAgICAgICB4 MTAsICMoTUFYX1BCX1NJWkUgKiAyKQorMTogICAgICBsZHAgICAgICAgICAgICAgcTI0LCBx MjUsIFt4Ml0KKyAgICAgICAgbGRyICAgICAgICAgICAgIHMyNiwgW3gyLCAjMzJdCisgICAg ICAgIGFkZCAgICAgICAgICAgICB4MiwgeDIsIHgzCisgICAgICAgIGV4dCAgICAgICAgICAg ICB2MjcuMTZiLCB2MjQuMTZiLCB2MjUuMTZiLCAjMQorICAgICAgICBleHQgICAgICAgICAg ICAgdjI4LjE2YiwgdjI0LjE2YiwgdjI1LjE2YiwgIzIKKyAgICAgICAgZXh0ICAgICAgICAg ICAgIHYyOS4xNmIsIHYyNC4xNmIsIHYyNS4xNmIsICMzCisgICAgICAgIGNhbGNfZXBlbGIg ICAgICB2MTYsIHYyNCwgdjI3LCB2MjgsIHYyOQorICAgICAgICBjYWxjX2VwZWxiMiAgICAg djE3LCB2MjQsIHYyNywgdjI4LCB2MjkKKyAgICAgICAgZXh0ICAgICAgICAgICAgIHYyNy4x NmIsIHYyNS4xNmIsIHYyNi4xNmIsICMxCisgICAgICAgIGV4dCAgICAgICAgICAgICB2Mjgu MTZiLCB2MjUuMTZiLCB2MjYuMTZiLCAjMgorICAgICAgICBleHQgICAgICAgICAgICAgdjI5 LjE2YiwgdjI1LjE2YiwgdjI2LjE2YiwgIzMKKyAgICAgICAgY2FsY19lcGVsYiAgICAgIHYx OCwgdjI1LCB2MjcsIHYyOCwgdjI5CisgICAgICAgIGNhbGNfZXBlbGIyICAgICB2MTksIHYy NSwgdjI3LCB2MjgsIHYyOQorICAgICAgICBsZDEgICAgICAgICAgICAge3YyNC44aCwgdjI1 LjhoLCB2MjYuOGgsIHYyNy44aH0sIFt4NF0sIHgxMAorICAgICAgICBzcWFkZCAgICAgICAg ICAgdjE2LjhoLCB2MTYuOGgsIHYyNC44aAorICAgICAgICBzcWFkZCAgICAgICAgICAgdjE3 LjhoLCB2MTcuOGgsIHYyNS44aAorICAgICAgICBzcWFkZCAgICAgICAgICAgdjE4LjhoLCB2 MTguOGgsIHYyNi44aAorICAgICAgICBzcWFkZCAgICAgICAgICAgdjE5LjhoLCB2MTkuOGgs IHYyNy44aAorICAgICAgICBzcXJzaHJ1biAgICAgICAgdjQuOGIsIHYxNi44aCwgIzcKKyAg ICAgICAgc3Fyc2hydW4yICAgICAgIHY0LjE2YiwgdjE3LjhoLCAjNworICAgICAgICBzcXJz aHJ1biAgICAgICAgdjUuOGIsIHYxOC44aCwgIzcKKyAgICAgICAgc3Fyc2hydW4yICAgICAg IHY1LjE2YiwgdjE5LjhoLCAjNworICAgICAgICBzdDEgICAgICAgICAgICAge3Y0LjE2Yiwg djUuMTZifSwgW3gwXSwgeDEKKyAgICAgICAgc3VicyAgICAgICAgICAgIHc1LCB3NSwgIzEK KyAgICAgICAgYi5uZSAgICAgICAgICAgIDFiCisgICAgICAgIHJldAorZW5kZnVuYworCitm dW5jdGlvbiBmZl9oZXZjX3B1dF9oZXZjX2VwZWxfYmlfaDQ4XzhfbmVvbiwgZXhwb3J0PTEK KyAgICAgICAgbG9hZF9lcGVsX2ZpbHRlcmIgeDYsIHg3CisgICAgICAgIHN1YiAgICAgICAg ICAgICB4MiwgeDIsICMxCisgICAgICAgIG1vdiAgICAgICAgICAgICB4NywgIzI0CisgICAg ICAgIG1vdiAgICAgICAgICAgICB4MTAsICMoTUFYX1BCX1NJWkUgKiAyIC0gNDgpCisxOiAg ICAgIGxkMSAgICAgICAgICAgICB7djI0LjE2YiwgdjI1LjE2YiwgdjI2LjE2Yn0sIFt4Ml0K KyAgICAgICAgbGRyICAgICAgICAgICAgIHMyNywgW3gyLCAjNDhdCisgICAgICAgIGFkZCAg ICAgICAgICAgICB4MiwgeDIsIHgzCisgICAgICAgIGV4dCAgICAgICAgICAgICB2MjguMTZi LCB2MjQuMTZiLCB2MjUuMTZiLCAjMQorICAgICAgICBleHQgICAgICAgICAgICAgdjI5LjE2 YiwgdjI0LjE2YiwgdjI1LjE2YiwgIzIKKyAgICAgICAgZXh0ICAgICAgICAgICAgIHYzMC4x NmIsIHYyNC4xNmIsIHYyNS4xNmIsICMzCisgICAgICAgIGNhbGNfZXBlbGIgICAgICB2MTYs IHYyNCwgdjI4LCB2MjksIHYzMAorICAgICAgICBjYWxjX2VwZWxiMiAgICAgdjE3LCB2MjQs IHYyOCwgdjI5LCB2MzAKKyAgICAgICAgZXh0ICAgICAgICAgICAgIHYyOC4xNmIsIHYyNS4x NmIsIHYyNi4xNmIsICMxCisgICAgICAgIGV4dCAgICAgICAgICAgICB2MjkuMTZiLCB2MjUu MTZiLCB2MjYuMTZiLCAjMgorICAgICAgICBleHQgICAgICAgICAgICAgdjMwLjE2YiwgdjI1 LjE2YiwgdjI2LjE2YiwgIzMKKyAgICAgICAgY2FsY19lcGVsYiAgICAgIHYxOCwgdjI1LCB2 MjgsIHYyOSwgdjMwCisgICAgICAgIGNhbGNfZXBlbGIyICAgICB2MTksIHYyNSwgdjI4LCB2 MjksIHYzMAorICAgICAgICBleHQgICAgICAgICAgICAgdjI4LjE2YiwgdjI2LjE2YiwgdjI3 LjE2YiwgIzEKKyAgICAgICAgZXh0ICAgICAgICAgICAgIHYyOS4xNmIsIHYyNi4xNmIsIHYy Ny4xNmIsICMyCisgICAgICAgIGV4dCAgICAgICAgICAgICB2MzAuMTZiLCB2MjYuMTZiLCB2 MjcuMTZiLCAjMworICAgICAgICBjYWxjX2VwZWxiICAgICAgdjIwLCB2MjYsIHYyOCwgdjI5 LCB2MzAKKyAgICAgICAgY2FsY19lcGVsYjIgICAgIHYyMSwgdjI2LCB2MjgsIHYyOSwgdjMw CisKKyAgICAgICAgbGQxICAgICAgICAgICAgIHt2MjQuOGgsIHYyNS44aCwgdjI2LjhofSwg W3g0XSwgIzQ4CisgICAgICAgIHNxYWRkICAgICAgICAgICB2MTYuOGgsIHYxNi44aCwgdjI0 LjhoCisgICAgICAgIHNxYWRkICAgICAgICAgICB2MTcuOGgsIHYxNy44aCwgdjI1LjhoCisg ICAgICAgIHNxYWRkICAgICAgICAgICB2MTguOGgsIHYxOC44aCwgdjI2LjhoCisgICAgICAg IGxkMSAgICAgICAgICAgICB7djI3LjhoLCB2MjguOGgsIHYyOS44aH0sIFt4NF0sIHgxMAor ICAgICAgICBzcWFkZCAgICAgICAgICAgdjE5LjhoLCB2MTkuOGgsIHYyNy44aAorICAgICAg ICBzcWFkZCAgICAgICAgICAgdjIwLjhoLCB2MjAuOGgsIHYyOC44aAorICAgICAgICBzcWFk ZCAgICAgICAgICAgdjIxLjhoLCB2MjEuOGgsIHYyOS44aAorICAgICAgICBzcXJzaHJ1biAg ICAgICAgdjQuOGIsIHYxNi44aCwgIzcKKyAgICAgICAgc3Fyc2hydW4yICAgICAgIHY0LjE2 YiwgdjE3LjhoLCAjNworICAgICAgICBzcXJzaHJ1biAgICAgICAgdjUuOGIsIHYxOC44aCwg IzcKKyAgICAgICAgc3Fyc2hydW4yICAgICAgIHY1LjE2YiwgdjE5LjhoLCAjNworICAgICAg ICBzcXJzaHJ1biAgICAgICAgdjYuOGIsIHYyMC44aCwgIzcKKyAgICAgICAgc3Fyc2hydW4y ICAgICAgIHY2LjE2YiwgdjIxLjhoLCAjNworICAgICAgICBzdDEgICAgICAgICAgICAge3Y0 LjE2YiwgdjUuMTZiLCB2Ni4xNmJ9LCBbeDBdLCB4MQorICAgICAgICBzdWJzICAgICAgICAg ICAgdzUsIHc1LCAjMSAgIC8vIGhlaWdodAorICAgICAgICBiLm5lICAgICAgICAgICAgMWIK KyAgICAgICAgcmV0CitlbmRmdW5jCisKK2Z1bmN0aW9uIGZmX2hldmNfcHV0X2hldmNfZXBl bF9iaV9oNjRfOF9uZW9uLCBleHBvcnQ9MQorICAgICAgICBsb2FkX2VwZWxfZmlsdGVyYiB4 NiwgeDcKKyAgICAgICAgc3ViICAgICAgICAgICAgIHgyLCB4MiwgIzEKKzE6ICAgICAgbGQx ICAgICAgICAgICAgIHt2MjQuMTZiLCB2MjUuMTZiLCB2MjYuMTZiLCB2MjcuMTZifSwgW3gy XQorICAgICAgICBsZHIgICAgICAgICAgICAgczI4LCBbeDIsICM2NF0KKyAgICAgICAgYWRk ICAgICAgICAgICAgIHgyLCB4MiwgeDMKKyAgICAgICAgZXh0ICAgICAgICAgICAgIHYyOS4x NmIsIHYyNC4xNmIsIHYyNS4xNmIsICMxCisgICAgICAgIGV4dCAgICAgICAgICAgICB2MzAu MTZiLCB2MjQuMTZiLCB2MjUuMTZiLCAjMgorICAgICAgICBleHQgICAgICAgICAgICAgdjMx LjE2YiwgdjI0LjE2YiwgdjI1LjE2YiwgIzMKKyAgICAgICAgY2FsY19lcGVsYiAgICAgIHYx NiwgdjI0LCB2MjksIHYzMCwgdjMxCisgICAgICAgIGNhbGNfZXBlbGIyICAgICB2MTcsIHYy NCwgdjI5LCB2MzAsIHYzMQorICAgICAgICBleHQgICAgICAgICAgICAgdjI5LjE2YiwgdjI1 LjE2YiwgdjI2LjE2YiwgIzEKKyAgICAgICAgZXh0ICAgICAgICAgICAgIHYzMC4xNmIsIHYy NS4xNmIsIHYyNi4xNmIsICMyCisgICAgICAgIGV4dCAgICAgICAgICAgICB2MzEuMTZiLCB2 MjUuMTZiLCB2MjYuMTZiLCAjMworICAgICAgICBjYWxjX2VwZWxiICAgICAgdjE4LCB2MjUs IHYyOSwgdjMwLCB2MzEKKyAgICAgICAgY2FsY19lcGVsYjIgICAgIHYxOSwgdjI1LCB2Mjks IHYzMCwgdjMxCisgICAgICAgIGxkMSAgICAgICAgICAgICB7djQuOGgsIHY1LjhoLCB2Ni44 aCwgdjcuOGh9LCBbeDRdLCAjNjQKKyAgICAgICAgc3FhZGQgICAgICAgICAgIHYxNi44aCwg djE2LjhoLCB2NC44aAorICAgICAgICBzcWFkZCAgICAgICAgICAgdjE3LjhoLCB2MTcuOGgs IHY1LjhoCisgICAgICAgIHNxYWRkICAgICAgICAgICB2MTguOGgsIHYxOC44aCwgdjYuOGgK KyAgICAgICAgc3FhZGQgICAgICAgICAgIHYxOS44aCwgdjE5LjhoLCB2Ny44aAorICAgICAg ICBzcXJzaHJ1biAgICAgICAgdjE2LjhiLCB2MTYuOGgsICM3CisgICAgICAgIHNxcnNocnVu MiAgICAgICB2MTYuMTZiLCB2MTcuOGgsICM3CisgICAgICAgIHNxcnNocnVuICAgICAgICB2 MTcuOGIsIHYxOC44aCwgIzcKKyAgICAgICAgc3Fyc2hydW4yICAgICAgIHYxNy4xNmIsIHYx OS44aCwgIzcKKworICAgICAgICBleHQgICAgICAgICAgICAgdjI5LjE2YiwgdjI2LjE2Yiwg djI3LjE2YiwgIzEKKyAgICAgICAgZXh0ICAgICAgICAgICAgIHYzMC4xNmIsIHYyNi4xNmIs IHYyNy4xNmIsICMyCisgICAgICAgIGV4dCAgICAgICAgICAgICB2MzEuMTZiLCB2MjYuMTZi LCB2MjcuMTZiLCAjMworICAgICAgICBjYWxjX2VwZWxiICAgICAgdjIwLCB2MjYsIHYyOSwg djMwLCB2MzEKKyAgICAgICAgY2FsY19lcGVsYjIgICAgIHYyMSwgdjI2LCB2MjksIHYzMCwg djMxCisgICAgICAgIGV4dCAgICAgICAgICAgICB2MjkuMTZiLCB2MjcuMTZiLCB2MjguMTZi LCAjMQorICAgICAgICBleHQgICAgICAgICAgICAgdjMwLjE2YiwgdjI3LjE2YiwgdjI4LjE2 YiwgIzIKKyAgICAgICAgZXh0ICAgICAgICAgICAgIHYzMS4xNmIsIHYyNy4xNmIsIHYyOC4x NmIsICMzCisgICAgICAgIGNhbGNfZXBlbGIgICAgICB2MjIsIHYyNywgdjI5LCB2MzAsIHYz MQorICAgICAgICBjYWxjX2VwZWxiMiAgICAgdjIzLCB2MjcsIHYyOSwgdjMwLCB2MzEKKyAg ICAgICAgbGQxICAgICAgICAgICAgIHt2NC44aCwgdjUuOGgsIHY2LjhoLCB2Ny44aH0sIFt4 NF0sICM2NAorICAgICAgICBzcWFkZCAgICAgICAgICAgdjIwLjhoLCB2MjAuOGgsIHY0Ljho CisgICAgICAgIHNxYWRkICAgICAgICAgICB2MjEuOGgsIHYyMS44aCwgdjUuOGgKKyAgICAg ICAgc3FhZGQgICAgICAgICAgIHYyMi44aCwgdjIyLjhoLCB2Ni44aAorICAgICAgICBzcWFk ZCAgICAgICAgICAgdjIzLjhoLCB2MjMuOGgsIHY3LjhoCisgICAgICAgIHNxcnNocnVuICAg ICAgICB2MTguOGIsIHYyMC44aCwgIzcKKyAgICAgICAgc3Fyc2hydW4yICAgICAgIHYxOC4x NmIsIHYyMS44aCwgIzcKKyAgICAgICAgc3Fyc2hydW4gICAgICAgIHYxOS44YiwgdjIyLjho LCAjNworICAgICAgICBzcXJzaHJ1bjIgICAgICAgdjE5LjE2YiwgdjIzLjhoLCAjNworICAg ICAgICBzdDEgICAgICAgICAgICAge3YxNi4xNmIsIHYxNy4xNmIsIHYxOC4xNmIsIHYxOS4x NmJ9LCBbeDBdLCB4MQorICAgICAgICBzdWJzICAgICAgICAgICAgdzUsIHc1LCAjMQorICAg ICAgICBiLm5lICAgICAgICAgICAgMWIKKyAgICAgICAgcmV0CitlbmRmdW5jCisKIGZ1bmN0 aW9uIGZmX2hldmNfcHV0X2hldmNfZXBlbF92NF84X25lb24sIGV4cG9ydD0xCiAgICAgICAg IGxvYWRfZXBlbF9maWx0ZXJiIHg1LCB4NAogICAgICAgICBzdWIgICAgICAgICAgICAgeDEs IHgxLCB4MgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9hYXJjaDY0L2hldmNkc3BfaW5pdF9h YXJjaDY0LmMgYi9saWJhdmNvZGVjL2FhcmNoNjQvaGV2Y2RzcF9pbml0X2FhcmNoNjQuYwpp bmRleCBjZjE3MTAyM2U3Li5hMTZjMWE4M2UwIDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2Fh cmNoNjQvaGV2Y2RzcF9pbml0X2FhcmNoNjQuYworKysgYi9saWJhdmNvZGVjL2FhcmNoNjQv aGV2Y2RzcF9pbml0X2FhcmNoNjQuYwpAQCAtMTYwLDYgKzE2MCwxMCBAQCBORU9OOF9GTlBS T1RPKHBlbF9iaV9waXhlbHMsICh1aW50OF90ICpkc3QsIHB0cmRpZmZfdCBkc3RzdHJpZGUs CiAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKl9zcmMsIHB0cmRpZmZfdCBfc3Jjc3RyaWRlLCBj b25zdCBpbnQxNl90ICpzcmMyLAogICAgICAgICBpbnQgaGVpZ2h0LCBpbnRwdHJfdCBteCwg aW50cHRyX3QgbXksIGludCB3aWR0aCksKTsKIAorTkVPTjhfRk5QUk9UTyhlcGVsX2JpX2gs ICh1aW50OF90ICpkc3QsIHB0cmRpZmZfdCBkc3RzdHJpZGUsCisgICAgICAgIGNvbnN0IHVp bnQ4X3QgKnNyYywgcHRyZGlmZl90IHNyY3N0cmlkZSwgY29uc3QgaW50MTZfdCAqc3JjMiwK KyAgICAgICAgaW50IGhlaWdodCwgaW50cHRyX3QgbXgsIGludHB0cl90IG15LCBpbnQgd2lk dGgpLCk7CisKIE5FT044X0ZOUFJPVE8oZXBlbF92LCAodWludDhfdCAqZHN0LCBwdHJkaWZm X3QgZHN0c3RyaWRlLAogICAgICAgICBjb25zdCB1aW50OF90ICpfc3JjLCBwdHJkaWZmX3Qg X3NyY3N0cmlkZSwgY29uc3QgaW50MTZfdCAqc3JjMiwKICAgICAgICAgaW50IGhlaWdodCwg aW50cHRyX3QgbXgsIGludHB0cl90IG15LCBpbnQgd2lkdGgpLCk7CkBAIC0zMjksNiArMzMz LDcgQEAgYXZfY29sZCB2b2lkIGZmX2hldmNfZHNwX2luaXRfYWFyY2g2NChIRVZDRFNQQ29u dGV4dCAqYywgY29uc3QgaW50IGJpdF9kZXB0aCkKICAgICAgICAgTkVPTjhfRk5BU1NJR04o Yy0+cHV0X2hldmNfcXBlbCwgMCwgMCwgcGVsX3BpeGVscywpOwogICAgICAgICBORU9OOF9G TkFTU0lHTihjLT5wdXRfaGV2Y19xcGVsLCAxLCAwLCBxcGVsX3YsKTsKICAgICAgICAgTkVP TjhfRk5BU1NJR04oYy0+cHV0X2hldmNfZXBlbF9iaSwgMCwgMCwgcGVsX2JpX3BpeGVscywp OworICAgICAgICBORU9OOF9GTkFTU0lHTihjLT5wdXRfaGV2Y19lcGVsX2JpLCAwLCAxLCBl cGVsX2JpX2gsKTsKICAgICAgICAgTkVPTjhfRk5BU1NJR04oYy0+cHV0X2hldmNfcXBlbF9i aSwgMCwgMCwgcGVsX2JpX3BpeGVscywpOwogICAgICAgICBORU9OOF9GTkFTU0lHTihjLT5w dXRfaGV2Y19lcGVsX3VuaSwgMCwgMCwgcGVsX3VuaV9waXhlbHMsKTsKICAgICAgICAgTkVP TjhfRk5BU1NJR04oYy0+cHV0X2hldmNfZXBlbF91bmksIDEsIDAsIGVwZWxfdW5pX3YsKTsK LS0gCjIuMzguMC53aW5kb3dzLjEKCg== --------------dWuHQqVIHkYXTEhkxCYEJH0h 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". --------------dWuHQqVIHkYXTEhkxCYEJH0h--