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 DD3CF46361 for ; Sat, 14 Oct 2023 08:46:26 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D0F4D68C9F8; Sat, 14 Oct 2023 11:46:03 +0300 (EEST) Received: from smtp-my3-08p62.yunyou.top (smtp-my3-08p62.yunyou.top [60.247.169.62]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2085868C9F2 for ; Sat, 14 Oct 2023 11:45:57 +0300 (EEST) Received: from [192.168.15.106] (unknown [125.121.27.199]) by smtp-my-08.yunyou.top (WestCloudMail) with ESMTPA id DD482AE4A0 for ; Sat, 14 Oct 2023 16:45:54 +0800 (CST) Content-Type: multipart/mixed; boundary="------------07u0aFFJOjbUKwBnjkWkXTag" Message-ID: Date: Sat, 14 Oct 2023 16:45:54 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: "Logan.Lyu" To: ffmpeg-devel@ffmpeg.org Organization: myais Subject: [FFmpeg-devel] [PATCH 4/4] lavc/aarch64: new optimization for 8-bit hevc_qpel_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 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. --------------07u0aFFJOjbUKwBnjkWkXTag Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit checkasm bench: put_hevc_qpel_hv4_8_c: 422.1 put_hevc_qpel_hv4_8_i8mm: 101.6 put_hevc_qpel_hv6_8_c: 756.4 put_hevc_qpel_hv6_8_i8mm: 225.9 put_hevc_qpel_hv8_8_c: 1189.9 put_hevc_qpel_hv8_8_i8mm: 296.6 put_hevc_qpel_hv12_8_c: 2407.4 put_hevc_qpel_hv12_8_i8mm: 552.4 put_hevc_qpel_hv16_8_c: 4021.4 put_hevc_qpel_hv16_8_i8mm: 886.6 put_hevc_qpel_hv24_8_c: 8992.1 put_hevc_qpel_hv24_8_i8mm: 1968.9 put_hevc_qpel_hv32_8_c: 15197.9 put_hevc_qpel_hv32_8_i8mm: 3209.4 put_hevc_qpel_hv48_8_c: 32811.1 put_hevc_qpel_hv48_8_i8mm: 7442.1 put_hevc_qpel_hv64_8_c: 58106.1 put_hevc_qpel_hv64_8_i8mm: 12423.9 Co-Authored-By: J. Dekker Signed-off-by: Logan Lyu --- libavcodec/aarch64/hevcdsp_init_aarch64.c | 5 + libavcodec/aarch64/hevcdsp_qpel_neon.S | 397 ++++++++++++++++++++++ 2 files changed, 402 insertions(+) diff --git a/libavcodec/aarch64/hevcdsp_init_aarch64.c b/libavcodec/aarch64/hevcdsp_init_aarch64.c index f6b4c31d17..7d889efe68 100644 --- a/libavcodec/aarch64/hevcdsp_init_aarch64.c +++ b/libavcodec/aarch64/hevcdsp_init_aarch64.c @@ -208,6 +208,10 @@ NEON8_FNPROTO(qpel_v, (int16_t *dst, const uint8_t *src, ptrdiff_t srcstride, int height, intptr_t mx, intptr_t my, int width),); +NEON8_FNPROTO(qpel_hv, (int16_t *dst, + const uint8_t *src, ptrdiff_t srcstride, + int height, intptr_t mx, intptr_t my, int width), _i8mm); + NEON8_FNPROTO(qpel_uni_v, (uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, ptrdiff_t srcstride, int height, intptr_t mx, intptr_t my, int width),); @@ -335,6 +339,7 @@ av_cold void ff_hevc_dsp_init_aarch64(HEVCDSPContext *c, const int bit_depth) 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); + NEON8_FNASSIGN(c->put_hevc_qpel, 1, 1, qpel_hv, _i8mm); NEON8_FNASSIGN(c->put_hevc_qpel_uni, 1, 1, qpel_uni_hv, _i8mm); NEON8_FNASSIGN(c->put_hevc_qpel_uni_w, 0, 1, qpel_uni_w_h, _i8mm); NEON8_FNASSIGN(c->put_hevc_epel_uni_w, 1, 1, epel_uni_w_hv, _i8mm); diff --git a/libavcodec/aarch64/hevcdsp_qpel_neon.S b/libavcodec/aarch64/hevcdsp_qpel_neon.S index eff70d70a4..e4475ba920 100644 --- a/libavcodec/aarch64/hevcdsp_qpel_neon.S +++ b/libavcodec/aarch64/hevcdsp_qpel_neon.S @@ -3070,6 +3070,403 @@ function ff_hevc_put_hevc_qpel_h64_8_neon_i8mm, export=1 ret endfunc + +function ff_hevc_put_hevc_qpel_hv4_8_neon_i8mm, export=1 + add w10, w3, #7 + mov x7, #128 + 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, lsl #1 + add x3, x3, #7 + sub x1, x1, x2 + bl X(ff_hevc_put_hevc_qpel_h4_8_neon_i8mm) + ldp x5, x30, [sp] + ldp x0, x3, [sp, #16] + add sp, sp, #32 + load_qpel_filterh x5, x4 + ldr d16, [sp] + ldr d17, [sp, x7] + add sp, sp, x7, lsl #1 + ldr d18, [sp] + ldr d19, [sp, x7] + add sp, sp, x7, lsl #1 + ldr d20, [sp] + ldr d21, [sp, x7] + add sp, sp, x7, lsl #1 + ldr d22, [sp] + add sp, sp, x7 +.macro calc tmp, src0, src1, src2, src3, src4, src5, src6, src7 + ld1 {\tmp\().4h}, [sp], x7 + calc_qpelh v1, \src0, \src1, \src2, \src3, \src4, \src5, \src6, \src7, sqshrn + subs w3, w3, #1 + st1 {v1.4h}, [x0], x7 +.endm +1: calc_all +.purgem calc +2: ret +endfunc + +function ff_hevc_put_hevc_qpel_hv6_8_neon_i8mm, export=1 + add w10, w3, #7 + mov x7, #128 + 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, lsl #1 + add x3, x3, #7 + sub x1, x1, x2 + bl X(ff_hevc_put_hevc_qpel_h6_8_neon_i8mm) + ldp x5, x30, [sp] + mov x8, #120 + ldp x0, x3, [sp, #16] + add sp, sp, #32 + load_qpel_filterh x5, x4 + ldr q16, [sp] + ldr q17, [sp, x7] + add sp, sp, x7, lsl #1 + ldr q18, [sp] + ldr q19, [sp, x7] + add sp, sp, x7, lsl #1 + ldr q20, [sp] + ldr q21, [sp, x7] + add sp, sp, x7, lsl #1 + ldr q22, [sp] + add sp, sp, x7 +.macro calc tmp, src0, src1, src2, src3, src4, src5, src6, src7 + ld1 {\tmp\().8h}, [sp], x7 + calc_qpelh v1, \src0, \src1, \src2, \src3, \src4, \src5, \src6, \src7, sqshrn + calc_qpelh2 v1, v2, \src0, \src1, \src2, \src3, \src4, \src5, \src6, \src7, sqshrn2 + st1 {v1.4h}, [x0], #8 + subs w3, w3, #1 + st1 {v1.s}[2], [x0], x8 +.endm +1: calc_all +.purgem calc +2: ret +endfunc + +function ff_hevc_put_hevc_qpel_hv8_8_neon_i8mm, export=1 + add w10, w3, #7 + lsl x10, x10, #7 + sub x1, x1, x2, lsl #1 + sub sp, sp, x10 // tmp_array + stp x5, x30, [sp, #-32]! + stp x0, x3, [sp, #16] + add x0, sp, #32 + add x3, x3, #7 + sub x1, x1, x2 + bl X(ff_hevc_put_hevc_qpel_h8_8_neon_i8mm) + ldp x5, x30, [sp] + mov x7, #128 + ldp x0, x3, [sp, #16] + add sp, sp, #32 + load_qpel_filterh x5, x4 + ldr q16, [sp] + ldr q17, [sp, x7] + add sp, sp, x7, lsl #1 + ldr q18, [sp] + ldr q19, [sp, x7] + add sp, sp, x7, lsl #1 + ldr q20, [sp] + ldr q21, [sp, x7] + add sp, sp, x7, lsl #1 + ldr q22, [sp] + add sp, sp, x7 +.macro calc tmp, src0, src1, src2, src3, src4, src5, src6, src7 + ld1 {\tmp\().8h}, [sp], x7 + calc_qpelh v1, \src0, \src1, \src2, \src3, \src4, \src5, \src6, \src7, sqshrn + calc_qpelh2 v1, v2, \src0, \src1, \src2, \src3, \src4, \src5, \src6, \src7, sqshrn2 + subs w3, w3, #1 + st1 {v1.8h}, [x0], x7 +.endm +1: calc_all +.purgem calc +2: ret +endfunc + +function ff_hevc_put_hevc_qpel_hv12_8_neon_i8mm, export=1 + add w10, w3, #7 + lsl x10, x10, #7 + sub x1, x1, x2, lsl #1 + sub sp, sp, x10 // tmp_array + stp x5, x30, [sp, #-32]! + stp x0, x3, [sp, #16] + add x0, sp, #32 + add x3, x3, #7 + sub x1, x1, x2 + bl X(ff_hevc_put_hevc_qpel_h12_8_neon_i8mm) + ldp x5, x30, [sp] + mov x7, #128 + ldp x0, x3, [sp, #16] + add sp, sp, #32 + load_qpel_filterh x5, x4 + mov x8, #112 + ld1 {v16.8h, v17.8h}, [sp], x7 + ld1 {v18.8h, v19.8h}, [sp], x7 + ld1 {v20.8h, v21.8h}, [sp], x7 + ld1 {v22.8h, v23.8h}, [sp], x7 + ld1 {v24.8h, v25.8h}, [sp], x7 + ld1 {v26.8h, v27.8h}, [sp], x7 + ld1 {v28.8h, v29.8h}, [sp], x7 +.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}, [sp], x7 + calc_qpelh v1, \src0, \src1, \src2, \src3, \src4, \src5, \src6, \src7, sqshrn + calc_qpelh2 v1, v2, \src0, \src1, \src2, \src3, \src4, \src5, \src6, \src7, sqshrn2 + calc_qpelh v2, \src8, \src9, \src10, \src11, \src12, \src13, \src14, \src15, sqshrn + st1 {v1.8h}, [x0], #16 + subs w3, w3, #1 + st1 {v2.4h}, [x0], x8 +.endm +1: calc_all2 +.purgem calc +2: ret +endfunc + +function ff_hevc_put_hevc_qpel_hv16_8_neon_i8mm, export=1 + add w10, w3, #7 + lsl x10, x10, #7 + sub x1, x1, x2, lsl #1 + sub sp, sp, x10 // tmp_array + stp x5, x30, [sp, #-32]! + stp x0, x3, [sp, #16] + add x3, x3, #7 + add x0, sp, #32 + sub x1, x1, x2 + bl X(ff_hevc_put_hevc_qpel_h16_8_neon_i8mm) + ldp x5, x30, [sp] + mov x7, #128 + ldp x0, x3, [sp, #16] + add sp, sp, #32 + load_qpel_filterh x5, x4 + ld1 {v16.8h, v17.8h}, [sp], x7 + ld1 {v18.8h, v19.8h}, [sp], x7 + ld1 {v20.8h, v21.8h}, [sp], x7 + ld1 {v22.8h, v23.8h}, [sp], x7 + ld1 {v24.8h, v25.8h}, [sp], x7 + ld1 {v26.8h, v27.8h}, [sp], x7 + ld1 {v28.8h, v29.8h}, [sp], x7 +.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}, [sp], x7 + calc_qpelh v1, \src0, \src1, \src2, \src3, \src4, \src5, \src6, \src7, sqshrn + calc_qpelh2 v1, v2, \src0, \src1, \src2, \src3, \src4, \src5, \src6, \src7, sqshrn2 + calc_qpelh v2, \src8, \src9, \src10, \src11, \src12, \src13, \src14, \src15, sqshrn + calc_qpelh2 v2, v3, \src8, \src9, \src10, \src11, \src12, \src13, \src14, \src15, sqshrn2 + subs w3, w3, #1 + st1 {v1.8h, v2.8h}, [x0], x7 +.endm +1: calc_all2 +.purgem calc +2: ret +endfunc + +function ff_hevc_put_hevc_qpel_hv24_8_neon_i8mm, export=1 + sub sp, sp, #32 + st1 {v8.8b-v11.8b}, [sp] + sub x1, x1, x2, lsl #1 + sub sp, sp, #32 + add w10, w3, #7 + st1 {v12.8b-v15.8b}, [sp] + lsl x10, x10, #7 + sub sp, sp, x10 // tmp_array + stp x5, x30, [sp, #-32]! + stp x0, x3, [sp, #16] + add x0, sp, #32 + add x3, x3, #7 + sub x1, x1, x2 + bl X(ff_hevc_put_hevc_qpel_h24_8_neon_i8mm) + ldp x5, x30, [sp] + mov x7, #128 + ldp x0, x3, [sp, #16] + add sp, sp, #32 + load_qpel_filterh x5, x4 + ld1 {v8.8h-v10.8h}, [sp], x7 + ld1 {v11.8h-v13.8h}, [sp], x7 + ld1 {v14.8h-v16.8h}, [sp], x7 + ld1 {v17.8h-v19.8h}, [sp], x7 + ld1 {v20.8h-v22.8h}, [sp], x7 + ld1 {v23.8h-v25.8h}, [sp], x7 + ld1 {v26.8h-v28.8h}, [sp], x7 +1: ld1 {v29.8h-v31.8h}, [sp], x7 + calc_qpelh v1, v8, v11, v14, v17, v20, v23, v26, v29, sqshrn + calc_qpelh2 v1, v2, v8, v11, v14, v17, v20, v23, v26, v29, sqshrn2 + calc_qpelh v2, v9, v12, v15, v18, v21, v24, v27, v30, sqshrn + calc_qpelh2 v2, v3, v9, v12, v15, v18, v21, v24, v27, v30, sqshrn2 + calc_qpelh v3, v10, v13, v16, v19, v22, v25, v28, v31, sqshrn + calc_qpelh2 v3, v4, v10, v13, v16, v19, v22, v25, v28, v31, sqshrn2 + subs w3, w3, #1 + st1 {v1.8h-v3.8h}, [x0], x7 + b.eq 2f + + ld1 {v8.8h-v10.8h}, [sp], x7 + calc_qpelh v1, v11, v14, v17, v20, v23, v26, v29, v8, sqshrn + calc_qpelh2 v1, v2, v11, v14, v17, v20, v23, v26, v29, v8, sqshrn2 + calc_qpelh v2, v12, v15, v18, v21, v24, v27, v30, v9, sqshrn + calc_qpelh2 v2, v3, v12, v15, v18, v21, v24, v27, v30, v9, sqshrn2 + calc_qpelh v3, v13, v16, v19, v22, v25, v28, v31, v10, sqshrn + calc_qpelh2 v3, v4, v13, v16, v19, v22, v25, v28, v31, v10, sqshrn2 + subs w3, w3, #1 + st1 {v1.8h-v3.8h}, [x0], x7 + b.eq 2f + + ld1 {v11.8h-v13.8h}, [sp], x7 + calc_qpelh v1, v14, v17, v20, v23, v26, v29, v8, v11, sqshrn + calc_qpelh2 v1, v2, v14, v17, v20, v23, v26, v29, v8, v11, sqshrn2 + calc_qpelh v2, v15, v18, v21, v24, v27, v30, v9, v12, sqshrn + calc_qpelh2 v2, v3, v15, v18, v21, v24, v27, v30, v9, v12, sqshrn2 + calc_qpelh v3, v16, v19, v22, v25, v28, v31, v10, v13, sqshrn + calc_qpelh2 v3, v4, v16, v19, v22, v25, v28, v31, v10, v13, sqshrn2 + subs w3, w3, #1 + st1 {v1.8h-v3.8h}, [x0], x7 + b.eq 2f + + ld1 {v14.8h-v16.8h}, [sp], x7 + calc_qpelh v1, v17, v20, v23, v26, v29, v8, v11, v14, sqshrn + calc_qpelh2 v1, v2, v17, v20, v23, v26, v29, v8, v11, v14, sqshrn2 + calc_qpelh v2, v18, v21, v24, v27, v30, v9, v12, v15, sqshrn + calc_qpelh2 v2, v3, v18, v21, v24, v27, v30, v9, v12, v15, sqshrn2 + calc_qpelh v3, v19, v22, v25, v28, v31, v10, v13, v16, sqshrn + calc_qpelh2 v3, v4, v19, v22, v25, v28, v31, v10, v13, v16, sqshrn2 + subs w3, w3, #1 + st1 {v1.8h-v3.8h}, [x0], x7 + b.eq 2f + + ld1 {v17.8h-v19.8h}, [sp], x7 + calc_qpelh v1, v20, v23, v26, v29, v8, v11, v14, v17, sqshrn + calc_qpelh2 v1, v2, v20, v23, v26, v29, v8, v11, v14, v17, sqshrn2 + calc_qpelh v2, v21, v24, v27, v30, v9, v12, v15, v18, sqshrn + calc_qpelh2 v2, v3, v21, v24, v27, v30, v9, v12, v15, v18, sqshrn2 + calc_qpelh v3, v22, v25, v28, v31, v10, v13, v16, v19, sqshrn + calc_qpelh2 v3, v4, v22, v25, v28, v31, v10, v13, v16, v19, sqshrn2 + subs w3, w3, #1 + st1 {v1.8h-v3.8h}, [x0], x7 + b.eq 2f + + ld1 {v20.8h-v22.8h}, [sp], x7 + calc_qpelh v1, v23, v26, v29, v8, v11, v14, v17, v20, sqshrn + calc_qpelh2 v1, v2, v23, v26, v29, v8, v11, v14, v17, v20, sqshrn2 + calc_qpelh v2, v24, v27, v30, v9, v12, v15, v18, v21, sqshrn + calc_qpelh2 v2, v3, v24, v27, v30, v9, v12, v15, v18, v21, sqshrn2 + calc_qpelh v3, v25, v28, v31, v10, v13, v16, v19, v22, sqshrn + calc_qpelh2 v3, v4, v25, v28, v31, v10, v13, v16, v19, v22, sqshrn2 + subs w3, w3, #1 + st1 {v1.8h-v3.8h}, [x0], x7 + b.eq 2f + + ld1 {v23.8h-v25.8h}, [sp], x7 + calc_qpelh v1, v26, v29, v8, v11, v14, v17, v20, v23, sqshrn + calc_qpelh2 v1, v2, v26, v29, v8, v11, v14, v17, v20, v23, sqshrn2 + calc_qpelh v2, v27, v30, v9, v12, v15, v18, v21, v24, sqshrn + calc_qpelh2 v2, v3, v27, v30, v9, v12, v15, v18, v21, v24, sqshrn2 + calc_qpelh v3, v28, v31, v10, v13, v16, v19, v22, v25, sqshrn + calc_qpelh2 v3, v4, v28, v31, v10, v13, v16, v19, v22, v25, sqshrn2 + subs w3, w3, #1 + st1 {v1.8h-v3.8h}, [x0], x7 + b.eq 2f + + ld1 {v26.8h-v28.8h}, [sp], x7 + calc_qpelh v1, v29, v8, v11, v14, v17, v20, v23, v26, sqshrn + calc_qpelh2 v1, v2, v29, v8, v11, v14, v17, v20, v23, v26, sqshrn2 + calc_qpelh v2, v30, v9, v12, v15, v18, v21, v24, v27, sqshrn + calc_qpelh2 v2, v3, v30, v9, v12, v15, v18, v21, v24, v27, sqshrn2 + calc_qpelh v3, v31, v10, v13, v16, v19, v22, v25, v28, sqshrn + calc_qpelh2 v3, v4, v31, v10, v13, v16, v19, v22, v25, v28, sqshrn2 + subs w3, w3, #1 + st1 {v1.8h-v3.8h}, [x0], x7 + b.hi 1b +2: ld1 {v12.8b-v15.8b}, [sp], #32 + ld1 {v8.8b-v11.8b}, [sp], #32 + ret +endfunc + +function ff_hevc_put_hevc_qpel_hv32_8_neon_i8mm, export=1 + add w10, w3, #7 + sub x1, x1, x2, lsl #1 + lsl x10, x10, #7 + sub x1, x1, x2 + sub sp, sp, x10 // tmp_array + stp x5, x30, [sp, #-32]! + stp x0, x3, [sp, #16] + add x3, x3, #7 + add x0, sp, #32 + bl X(ff_hevc_put_hevc_qpel_h32_8_neon_i8mm) + ldp x5, x30, [sp] + mov x7, #128 + ldp x0, x3, [sp, #16] + add sp, sp, #32 + load_qpel_filterh x5, x4 +0: mov x8, sp // src + ld1 {v16.8h, v17.8h}, [x8], x7 + mov w9, w3 // height + ld1 {v18.8h, v19.8h}, [x8], x7 + mov x5, x0 // dst + ld1 {v20.8h, v21.8h}, [x8], x7 + ld1 {v22.8h, v23.8h}, [x8], x7 + ld1 {v24.8h, v25.8h}, [x8], x7 + ld1 {v26.8h, v27.8h}, [x8], x7 + ld1 {v28.8h, v29.8h}, [x8], x7 +.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], x7 + calc_qpelh v1, \src0, \src1, \src2, \src3, \src4, \src5, \src6, \src7, sqshrn + calc_qpelh2 v1, v2, \src0, \src1, \src2, \src3, \src4, \src5, \src6, \src7, sqshrn2 + calc_qpelh v2, \src8, \src9, \src10, \src11, \src12, \src13, \src14, \src15, sqshrn + calc_qpelh2 v2, v3, \src8, \src9, \src10, \src11, \src12, \src13, \src14, \src15, sqshrn2 + subs x9, x9, #1 + st1 {v1.8h, v2.8h}, [x5], x7 +.endm +1: calc_all2 +.purgem calc +2: add x0, x0, #32 + add sp, sp, #32 + subs w6, w6, #16 + b.hi 0b + add w10, w3, #6 + add sp, sp, #64 // discard rest of first line + lsl x10, x10, #7 + add sp, sp, x10 // tmp_array without first line + ret +endfunc + +function ff_hevc_put_hevc_qpel_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] + bl X(ff_hevc_put_hevc_qpel_hv24_8_neon_i8mm) + ldp x4, x5, [sp] + ldp x2, x3, [sp, #16] + ldp x0, x1, [sp, #32] + add sp, sp, #48 + add x1, x1, #24 + add x0, x0, #48 + bl X(ff_hevc_put_hevc_qpel_hv24_8_neon_i8mm) + ldr x30, [sp], #16 + ret +endfunc + +function ff_hevc_put_hevc_qpel_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, #32 + bl X(ff_hevc_put_hevc_qpel_hv32_8_neon_i8mm) + ldp x4, x5, [sp] + ldp x2, x3, [sp, #16] + ldp x0, x1, [sp, #32] + add sp, sp, #48 + add x1, x1, #32 + add x0, x0, #64 + mov x6, #32 + bl X(ff_hevc_put_hevc_qpel_hv32_8_neon_i8mm) + ldr x30, [sp], #16 + ret +endfunc + .macro QPEL_UNI_W_HV_HEADER width ldp x14, x15, [sp] // mx, my ldr w13, [sp, #16] // width -- 2.38.0.windows.1 --------------07u0aFFJOjbUKwBnjkWkXTag Content-Type: text/plain; charset=UTF-8; name="0004-lavc-aarch64-new-optimization-for-8-bit-hevc_qpel_hv.patch" Content-Disposition: attachment; filename*0="0004-lavc-aarch64-new-optimization-for-8-bit-hevc_qpel_hv.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSA2YTdmMDQ5ZmQwMzgyYzA0Mjk3ZmI5Y2VmZDlmNWNlMDIyYWJiZTVmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBMb2dhbiBMeXUgPExvZ2FuLkx5dUBteWFpcy5jb20u Y24+CkRhdGU6IFNhdCwgOSBTZXAgMjAyMyAyMjo0MDo1MSArMDgwMApTdWJqZWN0OiBbUEFU Q0ggNC80XSBsYXZjL2FhcmNoNjQ6IG5ldyBvcHRpbWl6YXRpb24gZm9yIDgtYml0IGhldmNf cXBlbF9odgoKY2hlY2thc20gYmVuY2g6CnB1dF9oZXZjX3FwZWxfaHY0XzhfYzogNDIyLjEK cHV0X2hldmNfcXBlbF9odjRfOF9pOG1tOiAxMDEuNgpwdXRfaGV2Y19xcGVsX2h2Nl84X2M6 IDc1Ni40CnB1dF9oZXZjX3FwZWxfaHY2XzhfaThtbTogMjI1LjkKcHV0X2hldmNfcXBlbF9o djhfOF9jOiAxMTg5LjkKcHV0X2hldmNfcXBlbF9odjhfOF9pOG1tOiAyOTYuNgpwdXRfaGV2 Y19xcGVsX2h2MTJfOF9jOiAyNDA3LjQKcHV0X2hldmNfcXBlbF9odjEyXzhfaThtbTogNTUy LjQKcHV0X2hldmNfcXBlbF9odjE2XzhfYzogNDAyMS40CnB1dF9oZXZjX3FwZWxfaHYxNl84 X2k4bW06IDg4Ni42CnB1dF9oZXZjX3FwZWxfaHYyNF84X2M6IDg5OTIuMQpwdXRfaGV2Y19x cGVsX2h2MjRfOF9pOG1tOiAxOTY4LjkKcHV0X2hldmNfcXBlbF9odjMyXzhfYzogMTUxOTcu OQpwdXRfaGV2Y19xcGVsX2h2MzJfOF9pOG1tOiAzMjA5LjQKcHV0X2hldmNfcXBlbF9odjQ4 XzhfYzogMzI4MTEuMQpwdXRfaGV2Y19xcGVsX2h2NDhfOF9pOG1tOiA3NDQyLjEKcHV0X2hl dmNfcXBlbF9odjY0XzhfYzogNTgxMDYuMQpwdXRfaGV2Y19xcGVsX2h2NjRfOF9pOG1tOiAx MjQyMy45CgpDby1BdXRob3JlZC1CeTogSi4gRGVra2VyIDxqZGVrQGl0YW5pbXVsLmxpPgot LS0KIGxpYmF2Y29kZWMvYWFyY2g2NC9oZXZjZHNwX2luaXRfYWFyY2g2NC5jIHwgICA1ICsK IGxpYmF2Y29kZWMvYWFyY2g2NC9oZXZjZHNwX3FwZWxfbmVvbi5TICAgIHwgMzk3ICsrKysr KysrKysrKysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgNDAyIGluc2VydGlvbnMoKykK CmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2FhcmNoNjQvaGV2Y2RzcF9pbml0X2FhcmNoNjQu YyBiL2xpYmF2Y29kZWMvYWFyY2g2NC9oZXZjZHNwX2luaXRfYWFyY2g2NC5jCmluZGV4IGY2 YjRjMzFkMTcuLjdkODg5ZWZlNjggMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvYWFyY2g2NC9o ZXZjZHNwX2luaXRfYWFyY2g2NC5jCisrKyBiL2xpYmF2Y29kZWMvYWFyY2g2NC9oZXZjZHNw X2luaXRfYWFyY2g2NC5jCkBAIC0yMDgsNiArMjA4LDEwIEBAIE5FT044X0ZOUFJPVE8ocXBl bF92LCAoaW50MTZfdCAqZHN0LAogICAgICAgICBjb25zdCB1aW50OF90ICpzcmMsIHB0cmRp ZmZfdCBzcmNzdHJpZGUsCiAgICAgICAgIGludCBoZWlnaHQsIGludHB0cl90IG14LCBpbnRw dHJfdCBteSwgaW50IHdpZHRoKSwpOwogCitORU9OOF9GTlBST1RPKHFwZWxfaHYsIChpbnQx Nl90ICpkc3QsCisgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnNyYywgcHRyZGlmZl90IHNyY3N0 cmlkZSwKKyAgICAgICAgaW50IGhlaWdodCwgaW50cHRyX3QgbXgsIGludHB0cl90IG15LCBp bnQgd2lkdGgpLCBfaThtbSk7CisKIE5FT044X0ZOUFJPVE8ocXBlbF91bmlfdiwgKHVpbnQ4 X3QgKmRzdCwgIHB0cmRpZmZfdCBkc3RzdHJpZGUsCiAgICAgICAgIGNvbnN0IHVpbnQ4X3Qg KnNyYywgcHRyZGlmZl90IHNyY3N0cmlkZSwKICAgICAgICAgaW50IGhlaWdodCwgaW50cHRy X3QgbXgsIGludHB0cl90IG15LCBpbnQgd2lkdGgpLCk7CkBAIC0zMzUsNiArMzM5LDcgQEAg YXZfY29sZCB2b2lkIGZmX2hldmNfZHNwX2luaXRfYWFyY2g2NChIRVZDRFNQQ29udGV4dCAq YywgY29uc3QgaW50IGJpdF9kZXB0aCkKICAgICAgICAgICAgIE5FT044X0ZOQVNTSUdOKGMt PnB1dF9oZXZjX2VwZWxfdW5pLCAxLCAxLCBlcGVsX3VuaV9odiwgX2k4bW0pOwogICAgICAg ICAgICAgTkVPTjhfRk5BU1NJR04oYy0+cHV0X2hldmNfZXBlbF91bmlfdywgMCwgMSwgZXBl bF91bmlfd19oICxfaThtbSk7CiAgICAgICAgICAgICBORU9OOF9GTkFTU0lHTihjLT5wdXRf aGV2Y19xcGVsLCAwLCAxLCBxcGVsX2gsIF9pOG1tKTsKKyAgICAgICAgICAgIE5FT044X0ZO QVNTSUdOKGMtPnB1dF9oZXZjX3FwZWwsIDEsIDEsIHFwZWxfaHYsIF9pOG1tKTsKICAgICAg ICAgICAgIE5FT044X0ZOQVNTSUdOKGMtPnB1dF9oZXZjX3FwZWxfdW5pLCAxLCAxLCBxcGVs X3VuaV9odiwgX2k4bW0pOwogICAgICAgICAgICAgTkVPTjhfRk5BU1NJR04oYy0+cHV0X2hl dmNfcXBlbF91bmlfdywgMCwgMSwgcXBlbF91bmlfd19oLCBfaThtbSk7CiAgICAgICAgICAg ICBORU9OOF9GTkFTU0lHTihjLT5wdXRfaGV2Y19lcGVsX3VuaV93LCAxLCAxLCBlcGVsX3Vu aV93X2h2LCBfaThtbSk7CmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2FhcmNoNjQvaGV2Y2Rz cF9xcGVsX25lb24uUyBiL2xpYmF2Y29kZWMvYWFyY2g2NC9oZXZjZHNwX3FwZWxfbmVvbi5T CmluZGV4IGVmZjcwZDcwYTQuLmU0NDc1YmE5MjAgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMv YWFyY2g2NC9oZXZjZHNwX3FwZWxfbmVvbi5TCisrKyBiL2xpYmF2Y29kZWMvYWFyY2g2NC9o ZXZjZHNwX3FwZWxfbmVvbi5TCkBAIC0zMDcwLDYgKzMwNzAsNDAzIEBAIGZ1bmN0aW9uIGZm X2hldmNfcHV0X2hldmNfcXBlbF9oNjRfOF9uZW9uX2k4bW0sIGV4cG9ydD0xCiAgICAgICAg IHJldAogZW5kZnVuYwogCisKK2Z1bmN0aW9uIGZmX2hldmNfcHV0X2hldmNfcXBlbF9odjRf OF9uZW9uX2k4bW0sIGV4cG9ydD0xCisgICAgICAgIGFkZCAgICAgICAgICAgICB3MTAsIHcz LCAjNworICAgICAgICBtb3YgICAgICAgICAgICAgeDcsICMxMjgKKyAgICAgICAgbHNsICAg ICAgICAgICAgIHgxMCwgeDEwLCAjNworICAgICAgICBzdWIgICAgICAgICAgICAgc3AsIHNw LCB4MTAgICAgICAgICAvLyB0bXBfYXJyYXkKKyAgICAgICAgc3RwICAgICAgICAgICAgIHg1 LCB4MzAsIFtzcCwgIy0zMl0hCisgICAgICAgIHN0cCAgICAgICAgICAgICB4MCwgeDMsIFtz cCwgIzE2XQorICAgICAgICBhZGQgICAgICAgICAgICAgeDAsIHNwLCAjMzIKKyAgICAgICAg c3ViICAgICAgICAgICAgIHgxLCB4MSwgeDIsIGxzbCAjMQorICAgICAgICBhZGQgICAgICAg ICAgICAgeDMsIHgzLCAjNworICAgICAgICBzdWIgICAgICAgICAgICAgeDEsIHgxLCB4Mgor ICAgICAgICBibCAgICAgICAgICAgICAgWChmZl9oZXZjX3B1dF9oZXZjX3FwZWxfaDRfOF9u ZW9uX2k4bW0pCisgICAgICAgIGxkcCAgICAgICAgICAgICB4NSwgeDMwLCBbc3BdCisgICAg ICAgIGxkcCAgICAgICAgICAgICB4MCwgeDMsIFtzcCwgIzE2XQorICAgICAgICBhZGQgICAg ICAgICAgICAgc3AsIHNwLCAjMzIKKyAgICAgICAgbG9hZF9xcGVsX2ZpbHRlcmggeDUsIHg0 CisgICAgICAgIGxkciAgICAgICAgICAgICBkMTYsIFtzcF0KKyAgICAgICAgbGRyICAgICAg ICAgICAgIGQxNywgW3NwLCB4N10KKyAgICAgICAgYWRkICAgICAgICAgICAgIHNwLCBzcCwg eDcsIGxzbCAjMQorICAgICAgICBsZHIgICAgICAgICAgICAgZDE4LCBbc3BdCisgICAgICAg IGxkciAgICAgICAgICAgICBkMTksIFtzcCwgeDddCisgICAgICAgIGFkZCAgICAgICAgICAg ICBzcCwgc3AsIHg3LCBsc2wgIzEKKyAgICAgICAgbGRyICAgICAgICAgICAgIGQyMCwgW3Nw XQorICAgICAgICBsZHIgICAgICAgICAgICAgZDIxLCBbc3AsIHg3XQorICAgICAgICBhZGQg ICAgICAgICAgICAgc3AsIHNwLCB4NywgbHNsICMxCisgICAgICAgIGxkciAgICAgICAgICAg ICBkMjIsIFtzcF0KKyAgICAgICAgYWRkICAgICAgICAgICAgIHNwLCBzcCwgeDcKKy5tYWNy byBjYWxjIHRtcCwgc3JjMCwgc3JjMSwgc3JjMiwgc3JjMywgc3JjNCwgc3JjNSwgc3JjNiwg c3JjNworICAgICAgICBsZDEgICAgICAgICAgICAge1x0bXBcKCkuNGh9LCBbc3BdLCB4Nwor ICAgICAgICBjYWxjX3FwZWxoICAgICAgdjEsIFxzcmMwLCBcc3JjMSwgXHNyYzIsIFxzcmMz LCBcc3JjNCwgXHNyYzUsIFxzcmM2LCBcc3JjNywgc3FzaHJuCisgICAgICAgIHN1YnMgICAg ICAgICAgICB3MywgdzMsICMxCisgICAgICAgIHN0MSAgICAgICAgICAgICB7djEuNGh9LCBb eDBdLCB4NworLmVuZG0KKzE6ICAgICAgY2FsY19hbGwKKy5wdXJnZW0gY2FsYworMjogICAg ICByZXQKK2VuZGZ1bmMKKworZnVuY3Rpb24gZmZfaGV2Y19wdXRfaGV2Y19xcGVsX2h2Nl84 X25lb25faThtbSwgZXhwb3J0PTEKKyAgICAgICAgYWRkICAgICAgICAgICAgIHcxMCwgdzMs ICM3CisgICAgICAgIG1vdiAgICAgICAgICAgICB4NywgIzEyOAorICAgICAgICBsc2wgICAg ICAgICAgICAgeDEwLCB4MTAsICM3CisgICAgICAgIHN1YiAgICAgICAgICAgICBzcCwgc3As IHgxMCAgICAgICAgIC8vIHRtcF9hcnJheQorICAgICAgICBzdHAgICAgICAgICAgICAgeDUs IHgzMCwgW3NwLCAjLTMyXSEKKyAgICAgICAgc3RwICAgICAgICAgICAgIHgwLCB4MywgW3Nw LCAjMTZdCisgICAgICAgIGFkZCAgICAgICAgICAgICB4MCwgc3AsICMzMgorICAgICAgICBz dWIgICAgICAgICAgICAgeDEsIHgxLCB4MiwgbHNsICMxCisgICAgICAgIGFkZCAgICAgICAg ICAgICB4MywgeDMsICM3CisgICAgICAgIHN1YiAgICAgICAgICAgICB4MSwgeDEsIHgyCisg ICAgICAgIGJsICAgICAgICAgICAgICBYKGZmX2hldmNfcHV0X2hldmNfcXBlbF9oNl84X25l b25faThtbSkKKyAgICAgICAgbGRwICAgICAgICAgICAgIHg1LCB4MzAsIFtzcF0KKyAgICAg ICAgbW92ICAgICAgICAgICAgIHg4LCAjMTIwCisgICAgICAgIGxkcCAgICAgICAgICAgICB4 MCwgeDMsIFtzcCwgIzE2XQorICAgICAgICBhZGQgICAgICAgICAgICAgc3AsIHNwLCAjMzIK KyAgICAgICAgbG9hZF9xcGVsX2ZpbHRlcmggeDUsIHg0CisgICAgICAgIGxkciAgICAgICAg ICAgICBxMTYsIFtzcF0KKyAgICAgICAgbGRyICAgICAgICAgICAgIHExNywgW3NwLCB4N10K KyAgICAgICAgYWRkICAgICAgICAgICAgIHNwLCBzcCwgeDcsIGxzbCAjMQorICAgICAgICBs ZHIgICAgICAgICAgICAgcTE4LCBbc3BdCisgICAgICAgIGxkciAgICAgICAgICAgICBxMTks IFtzcCwgeDddCisgICAgICAgIGFkZCAgICAgICAgICAgICBzcCwgc3AsIHg3LCBsc2wgIzEK KyAgICAgICAgbGRyICAgICAgICAgICAgIHEyMCwgW3NwXQorICAgICAgICBsZHIgICAgICAg ICAgICAgcTIxLCBbc3AsIHg3XQorICAgICAgICBhZGQgICAgICAgICAgICAgc3AsIHNwLCB4 NywgbHNsICMxCisgICAgICAgIGxkciAgICAgICAgICAgICBxMjIsIFtzcF0KKyAgICAgICAg YWRkICAgICAgICAgICAgIHNwLCBzcCwgeDcKKy5tYWNybyBjYWxjIHRtcCwgc3JjMCwgc3Jj MSwgc3JjMiwgc3JjMywgc3JjNCwgc3JjNSwgc3JjNiwgc3JjNworICAgICAgICBsZDEgICAg ICAgICAgICAge1x0bXBcKCkuOGh9LCBbc3BdLCB4NworICAgICAgICBjYWxjX3FwZWxoICAg ICAgdjEsIFxzcmMwLCBcc3JjMSwgXHNyYzIsIFxzcmMzLCBcc3JjNCwgXHNyYzUsIFxzcmM2 LCBcc3JjNywgc3FzaHJuCisgICAgICAgIGNhbGNfcXBlbGgyICAgICB2MSwgdjIsIFxzcmMw LCBcc3JjMSwgXHNyYzIsIFxzcmMzLCBcc3JjNCwgXHNyYzUsIFxzcmM2LCBcc3JjNywgc3Fz aHJuMgorICAgICAgICBzdDEgICAgICAgICAgICAge3YxLjRofSwgW3gwXSwgIzgKKyAgICAg ICAgc3VicyAgICAgICAgICAgIHczLCB3MywgIzEKKyAgICAgICAgc3QxICAgICAgICAgICAg IHt2MS5zfVsyXSwgW3gwXSwgeDgKKy5lbmRtCisxOiAgICAgIGNhbGNfYWxsCisucHVyZ2Vt IGNhbGMKKzI6ICAgICAgcmV0CitlbmRmdW5jCisKK2Z1bmN0aW9uIGZmX2hldmNfcHV0X2hl dmNfcXBlbF9odjhfOF9uZW9uX2k4bW0sIGV4cG9ydD0xCisgICAgICAgIGFkZCAgICAgICAg ICAgICB3MTAsIHczLCAjNworICAgICAgICBsc2wgICAgICAgICAgICAgeDEwLCB4MTAsICM3 CisgICAgICAgIHN1YiAgICAgICAgICAgICB4MSwgeDEsIHgyLCBsc2wgIzEKKyAgICAgICAg c3ViICAgICAgICAgICAgIHNwLCBzcCwgeDEwICAgICAgICAgLy8gdG1wX2FycmF5CisgICAg ICAgIHN0cCAgICAgICAgICAgICB4NSwgeDMwLCBbc3AsICMtMzJdIQorICAgICAgICBzdHAg ICAgICAgICAgICAgeDAsIHgzLCBbc3AsICMxNl0KKyAgICAgICAgYWRkICAgICAgICAgICAg IHgwLCBzcCwgIzMyCisgICAgICAgIGFkZCAgICAgICAgICAgICB4MywgeDMsICM3CisgICAg ICAgIHN1YiAgICAgICAgICAgICB4MSwgeDEsIHgyCisgICAgICAgIGJsICAgICAgICAgICAg ICBYKGZmX2hldmNfcHV0X2hldmNfcXBlbF9oOF84X25lb25faThtbSkKKyAgICAgICAgbGRw ICAgICAgICAgICAgIHg1LCB4MzAsIFtzcF0KKyAgICAgICAgbW92ICAgICAgICAgICAgIHg3 LCAjMTI4CisgICAgICAgIGxkcCAgICAgICAgICAgICB4MCwgeDMsIFtzcCwgIzE2XQorICAg ICAgICBhZGQgICAgICAgICAgICAgc3AsIHNwLCAjMzIKKyAgICAgICAgbG9hZF9xcGVsX2Zp bHRlcmggeDUsIHg0CisgICAgICAgIGxkciAgICAgICAgICAgICBxMTYsIFtzcF0KKyAgICAg ICAgbGRyICAgICAgICAgICAgIHExNywgW3NwLCB4N10KKyAgICAgICAgYWRkICAgICAgICAg ICAgIHNwLCBzcCwgeDcsIGxzbCAjMQorICAgICAgICBsZHIgICAgICAgICAgICAgcTE4LCBb c3BdCisgICAgICAgIGxkciAgICAgICAgICAgICBxMTksIFtzcCwgeDddCisgICAgICAgIGFk ZCAgICAgICAgICAgICBzcCwgc3AsIHg3LCBsc2wgIzEKKyAgICAgICAgbGRyICAgICAgICAg ICAgIHEyMCwgW3NwXQorICAgICAgICBsZHIgICAgICAgICAgICAgcTIxLCBbc3AsIHg3XQor ICAgICAgICBhZGQgICAgICAgICAgICAgc3AsIHNwLCB4NywgbHNsICMxCisgICAgICAgIGxk ciAgICAgICAgICAgICBxMjIsIFtzcF0KKyAgICAgICAgYWRkICAgICAgICAgICAgIHNwLCBz cCwgeDcKKy5tYWNybyBjYWxjIHRtcCwgc3JjMCwgc3JjMSwgc3JjMiwgc3JjMywgc3JjNCwg c3JjNSwgc3JjNiwgc3JjNworICAgICAgICBsZDEgICAgICAgICAgICB7XHRtcFwoKS44aH0s IFtzcF0sIHg3CisgICAgICAgIGNhbGNfcXBlbGggICAgICB2MSwgXHNyYzAsIFxzcmMxLCBc c3JjMiwgXHNyYzMsIFxzcmM0LCBcc3JjNSwgXHNyYzYsIFxzcmM3LCBzcXNocm4KKyAgICAg ICAgY2FsY19xcGVsaDIgICAgIHYxLCB2MiwgXHNyYzAsIFxzcmMxLCBcc3JjMiwgXHNyYzMs IFxzcmM0LCBcc3JjNSwgXHNyYzYsIFxzcmM3LCBzcXNocm4yCisgICAgICAgIHN1YnMgICAg ICAgICAgICB3MywgdzMsICMxCisgICAgICAgIHN0MSAgICAgICAgICAgIHt2MS44aH0sIFt4 MF0sIHg3CisuZW5kbQorMTogICAgICBjYWxjX2FsbAorLnB1cmdlbSBjYWxjCisyOiAgICAg IHJldAorZW5kZnVuYworCitmdW5jdGlvbiBmZl9oZXZjX3B1dF9oZXZjX3FwZWxfaHYxMl84 X25lb25faThtbSwgZXhwb3J0PTEKKyAgICAgICAgYWRkICAgICAgICAgICAgIHcxMCwgdzMs ICM3CisgICAgICAgIGxzbCAgICAgICAgICAgICB4MTAsIHgxMCwgIzcKKyAgICAgICAgc3Vi ICAgICAgICAgICAgIHgxLCB4MSwgeDIsIGxzbCAjMQorICAgICAgICBzdWIgICAgICAgICAg ICAgc3AsIHNwLCB4MTAgICAgICAgICAvLyB0bXBfYXJyYXkKKyAgICAgICAgc3RwICAgICAg ICAgICAgIHg1LCB4MzAsIFtzcCwgIy0zMl0hCisgICAgICAgIHN0cCAgICAgICAgICAgICB4 MCwgeDMsIFtzcCwgIzE2XQorICAgICAgICBhZGQgICAgICAgICAgICAgeDAsIHNwLCAjMzIK KyAgICAgICAgYWRkICAgICAgICAgICAgIHgzLCB4MywgIzcKKyAgICAgICAgc3ViICAgICAg ICAgICAgIHgxLCB4MSwgeDIKKyAgICAgICAgYmwgICAgICAgICAgICAgIFgoZmZfaGV2Y19w dXRfaGV2Y19xcGVsX2gxMl84X25lb25faThtbSkKKyAgICAgICAgbGRwICAgICAgICAgICAg IHg1LCB4MzAsIFtzcF0KKyAgICAgICAgbW92ICAgICAgICAgICAgIHg3LCAjMTI4CisgICAg ICAgIGxkcCAgICAgICAgICAgICB4MCwgeDMsIFtzcCwgIzE2XQorICAgICAgICBhZGQgICAg ICAgICAgICAgc3AsIHNwLCAjMzIKKyAgICAgICAgbG9hZF9xcGVsX2ZpbHRlcmggeDUsIHg0 CisgICAgICAgIG1vdiAgICAgICAgICAgICB4OCwgIzExMgorICAgICAgICBsZDEgICAgICAg ICAgICAge3YxNi44aCwgdjE3LjhofSwgW3NwXSwgeDcKKyAgICAgICAgbGQxICAgICAgICAg ICAgIHt2MTguOGgsIHYxOS44aH0sIFtzcF0sIHg3CisgICAgICAgIGxkMSAgICAgICAgICAg ICB7djIwLjhoLCB2MjEuOGh9LCBbc3BdLCB4NworICAgICAgICBsZDEgICAgICAgICAgICAg e3YyMi44aCwgdjIzLjhofSwgW3NwXSwgeDcKKyAgICAgICAgbGQxICAgICAgICAgICAgIHt2 MjQuOGgsIHYyNS44aH0sIFtzcF0sIHg3CisgICAgICAgIGxkMSAgICAgICAgICAgICB7djI2 LjhoLCB2MjcuOGh9LCBbc3BdLCB4NworICAgICAgICBsZDEgICAgICAgICAgICAge3YyOC44 aCwgdjI5LjhofSwgW3NwXSwgeDcKKy5tYWNybyBjYWxjIHRtcDAsIHRtcDEsIHNyYzAsIHNy YzEsIHNyYzIsIHNyYzMsIHNyYzQsIHNyYzUsIHNyYzYsIHNyYzcsIHNyYzgsIHNyYzksIHNy YzEwLCBzcmMxMSwgc3JjMTIsIHNyYzEzLCBzcmMxNCwgc3JjMTUKKyAgICAgICAgbGQxICAg ICAgICAgICAgIHtcdG1wMFwoKS44aCwgXHRtcDFcKCkuOGh9LCBbc3BdLCB4NworICAgICAg ICBjYWxjX3FwZWxoICAgICAgdjEsICAgICBcc3JjMCwgIFxzcmMxLCBcc3JjMiwgIFxzcmMz LCAgXHNyYzQsICBcc3JjNSwgIFxzcmM2LCAgXHNyYzcsIHNxc2hybgorICAgICAgICBjYWxj X3FwZWxoMiAgICAgdjEsIHYyLCBcc3JjMCwgXHNyYzEsICBcc3JjMiwgIFxzcmMzLCAgXHNy YzQsICBcc3JjNSwgIFxzcmM2LCAgXHNyYzcsIHNxc2hybjIKKyAgICAgICAgY2FsY19xcGVs aCAgICAgIHYyLCAgICAgXHNyYzgsIFxzcmM5LCBcc3JjMTAsIFxzcmMxMSwgXHNyYzEyLCBc c3JjMTMsIFxzcmMxNCwgXHNyYzE1LCBzcXNocm4KKyAgICAgICAgc3QxICAgICAgICAgICAg IHt2MS44aH0sIFt4MF0sICMxNgorICAgICAgICBzdWJzICAgICAgICAgICAgdzMsIHczLCAj MQorICAgICAgICBzdDEgICAgICAgICAgICAge3YyLjRofSwgW3gwXSwgeDgKKy5lbmRtCisx OiAgICAgIGNhbGNfYWxsMgorLnB1cmdlbSBjYWxjCisyOiAgICAgIHJldAorZW5kZnVuYwor CitmdW5jdGlvbiBmZl9oZXZjX3B1dF9oZXZjX3FwZWxfaHYxNl84X25lb25faThtbSwgZXhw b3J0PTEKKyAgICAgICAgYWRkICAgICAgICAgICAgIHcxMCwgdzMsICM3CisgICAgICAgIGxz bCAgICAgICAgICAgICB4MTAsIHgxMCwgIzcKKyAgICAgICAgc3ViICAgICAgICAgICAgIHgx LCB4MSwgeDIsIGxzbCAjMQorICAgICAgICBzdWIgICAgICAgICAgICAgc3AsIHNwLCB4MTAg ICAgICAgICAvLyB0bXBfYXJyYXkKKyAgICAgICAgc3RwICAgICAgICAgICAgIHg1LCB4MzAs IFtzcCwgIy0zMl0hCisgICAgICAgIHN0cCAgICAgICAgICAgICB4MCwgeDMsIFtzcCwgIzE2 XQorICAgICAgICBhZGQgICAgICAgICAgICAgeDMsIHgzLCAjNworICAgICAgICBhZGQgICAg ICAgICAgICAgeDAsIHNwLCAjMzIKKyAgICAgICAgc3ViICAgICAgICAgICAgIHgxLCB4MSwg eDIKKyAgICAgICAgYmwgICAgICAgICAgICAgIFgoZmZfaGV2Y19wdXRfaGV2Y19xcGVsX2gx Nl84X25lb25faThtbSkKKyAgICAgICAgbGRwICAgICAgICAgICAgIHg1LCB4MzAsIFtzcF0K KyAgICAgICAgbW92ICAgICAgICAgICAgIHg3LCAjMTI4CisgICAgICAgIGxkcCAgICAgICAg ICAgICB4MCwgeDMsIFtzcCwgIzE2XQorICAgICAgICBhZGQgICAgICAgICAgICAgc3AsIHNw LCAjMzIKKyAgICAgICAgbG9hZF9xcGVsX2ZpbHRlcmggeDUsIHg0CisgICAgICAgIGxkMSAg ICAgICAgICAgICB7djE2LjhoLCB2MTcuOGh9LCBbc3BdLCB4NworICAgICAgICBsZDEgICAg ICAgICAgICAge3YxOC44aCwgdjE5LjhofSwgW3NwXSwgeDcKKyAgICAgICAgbGQxICAgICAg ICAgICAgIHt2MjAuOGgsIHYyMS44aH0sIFtzcF0sIHg3CisgICAgICAgIGxkMSAgICAgICAg ICAgICB7djIyLjhoLCB2MjMuOGh9LCBbc3BdLCB4NworICAgICAgICBsZDEgICAgICAgICAg ICAge3YyNC44aCwgdjI1LjhofSwgW3NwXSwgeDcKKyAgICAgICAgbGQxICAgICAgICAgICAg IHt2MjYuOGgsIHYyNy44aH0sIFtzcF0sIHg3CisgICAgICAgIGxkMSAgICAgICAgICAgICB7 djI4LjhoLCB2MjkuOGh9LCBbc3BdLCB4NworLm1hY3JvIGNhbGMgdG1wMCwgdG1wMSwgc3Jj MCwgc3JjMSwgc3JjMiwgc3JjMywgc3JjNCwgc3JjNSwgc3JjNiwgc3JjNywgc3JjOCwgc3Jj OSwgc3JjMTAsIHNyYzExLCBzcmMxMiwgc3JjMTMsIHNyYzE0LCBzcmMxNQorICAgICAgICBs ZDEgICAgICAgICAgICAge1x0bXAwXCgpLjhoLCBcdG1wMVwoKS44aH0sIFtzcF0sIHg3Cisg ICAgICAgIGNhbGNfcXBlbGggICAgICB2MSwgICAgIFxzcmMwLCAgXHNyYzEsIFxzcmMyLCAg XHNyYzMsICBcc3JjNCwgIFxzcmM1LCAgXHNyYzYsICBcc3JjNywgc3FzaHJuCisgICAgICAg IGNhbGNfcXBlbGgyICAgICB2MSwgdjIsIFxzcmMwLCBcc3JjMSwgIFxzcmMyLCAgXHNyYzMs ICBcc3JjNCwgIFxzcmM1LCAgXHNyYzYsICBcc3JjNywgc3FzaHJuMgorICAgICAgICBjYWxj X3FwZWxoICAgICAgdjIsICAgICBcc3JjOCwgXHNyYzksIFxzcmMxMCwgXHNyYzExLCBcc3Jj MTIsIFxzcmMxMywgXHNyYzE0LCBcc3JjMTUsIHNxc2hybgorICAgICAgICBjYWxjX3FwZWxo MiAgICAgdjIsIHYzLCBcc3JjOCwgXHNyYzksIFxzcmMxMCwgXHNyYzExLCBcc3JjMTIsIFxz cmMxMywgXHNyYzE0LCBcc3JjMTUsIHNxc2hybjIKKyAgICAgICAgc3VicyAgICAgICAgICAg IHczLCB3MywgIzEKKyAgICAgICAgc3QxICAgICAgICAgICAgIHt2MS44aCwgdjIuOGh9LCBb eDBdLCB4NworLmVuZG0KKzE6ICAgICAgY2FsY19hbGwyCisucHVyZ2VtIGNhbGMKKzI6ICAg ICAgcmV0CitlbmRmdW5jCisKK2Z1bmN0aW9uIGZmX2hldmNfcHV0X2hldmNfcXBlbF9odjI0 XzhfbmVvbl9pOG1tLCBleHBvcnQ9MQorICAgICAgICBzdWIgICAgICAgICAgICAgc3AsIHNw LCAjMzIKKyAgICAgICAgc3QxICAgICAgICAgICAgIHt2OC44Yi12MTEuOGJ9LCBbc3BdCisg ICAgICAgIHN1YiAgICAgICAgICAgICB4MSwgeDEsIHgyLCBsc2wgIzEKKyAgICAgICAgc3Vi ICAgICAgICAgICAgIHNwLCBzcCwgIzMyCisgICAgICAgIGFkZCAgICAgICAgICAgICB3MTAs IHczLCAjNworICAgICAgICBzdDEgICAgICAgICAgICAge3YxMi44Yi12MTUuOGJ9LCBbc3Bd CisgICAgICAgIGxzbCAgICAgICAgICAgICB4MTAsIHgxMCwgIzcKKyAgICAgICAgc3ViICAg ICAgICAgICAgIHNwLCBzcCwgeDEwICAgICAgICAgLy8gdG1wX2FycmF5CisgICAgICAgIHN0 cCAgICAgICAgICAgICB4NSwgeDMwLCBbc3AsICMtMzJdIQorICAgICAgICBzdHAgICAgICAg ICAgICAgeDAsIHgzLCBbc3AsICMxNl0KKyAgICAgICAgYWRkICAgICAgICAgICAgIHgwLCBz cCwgIzMyCisgICAgICAgIGFkZCAgICAgICAgICAgICB4MywgeDMsICM3CisgICAgICAgIHN1 YiAgICAgICAgICAgICB4MSwgeDEsIHgyCisgICAgICAgIGJsICAgICAgICAgICAgICBYKGZm X2hldmNfcHV0X2hldmNfcXBlbF9oMjRfOF9uZW9uX2k4bW0pCisgICAgICAgIGxkcCAgICAg ICAgICAgICB4NSwgeDMwLCBbc3BdCisgICAgICAgIG1vdiAgICAgICAgICAgICB4NywgIzEy OAorICAgICAgICBsZHAgICAgICAgICAgICAgeDAsIHgzLCBbc3AsICMxNl0KKyAgICAgICAg YWRkICAgICAgICAgICAgIHNwLCBzcCwgIzMyCisgICAgICAgIGxvYWRfcXBlbF9maWx0ZXJo IHg1LCB4NAorICAgICAgICBsZDEgICAgICAgICAgICAge3Y4LjhoLXYxMC44aH0sIFtzcF0s IHg3CisgICAgICAgIGxkMSAgICAgICAgICAgICB7djExLjhoLXYxMy44aH0sIFtzcF0sIHg3 CisgICAgICAgIGxkMSAgICAgICAgICAgICB7djE0LjhoLXYxNi44aH0sIFtzcF0sIHg3Cisg ICAgICAgIGxkMSAgICAgICAgICAgICB7djE3LjhoLXYxOS44aH0sIFtzcF0sIHg3CisgICAg ICAgIGxkMSAgICAgICAgICAgICB7djIwLjhoLXYyMi44aH0sIFtzcF0sIHg3CisgICAgICAg IGxkMSAgICAgICAgICAgICB7djIzLjhoLXYyNS44aH0sIFtzcF0sIHg3CisgICAgICAgIGxk MSAgICAgICAgICAgICB7djI2LjhoLXYyOC44aH0sIFtzcF0sIHg3CisxOiAgICAgIGxkMSAg ICAgICAgICAgICB7djI5LjhoLXYzMS44aH0sIFtzcF0sIHg3CisgICAgICAgIGNhbGNfcXBl bGggICAgICB2MSwgdjgsIHYxMSwgdjE0LCB2MTcsIHYyMCwgdjIzLCB2MjYsIHYyOSwgc3Fz aHJuCisgICAgICAgIGNhbGNfcXBlbGgyICAgICB2MSwgdjIsIHY4LCB2MTEsIHYxNCwgdjE3 LCB2MjAsIHYyMywgdjI2LCB2MjksIHNxc2hybjIKKyAgICAgICAgY2FsY19xcGVsaCAgICAg IHYyLCB2OSwgdjEyLCB2MTUsIHYxOCwgdjIxLCB2MjQsIHYyNywgdjMwLCBzcXNocm4KKyAg ICAgICAgY2FsY19xcGVsaDIgICAgIHYyLCB2MywgdjksIHYxMiwgdjE1LCB2MTgsIHYyMSwg djI0LCB2MjcsIHYzMCwgc3FzaHJuMgorICAgICAgICBjYWxjX3FwZWxoICAgICAgdjMsIHYx MCwgdjEzLCB2MTYsIHYxOSwgdjIyLCB2MjUsIHYyOCwgdjMxLCBzcXNocm4KKyAgICAgICAg Y2FsY19xcGVsaDIgICAgIHYzLCB2NCwgdjEwLCB2MTMsIHYxNiwgdjE5LCB2MjIsIHYyNSwg djI4LCB2MzEsIHNxc2hybjIKKyAgICAgICAgc3VicyAgICAgICAgICAgIHczLCB3MywgIzEK KyAgICAgICAgc3QxICAgICAgICAgICAgIHt2MS44aC12My44aH0sIFt4MF0sIHg3CisgICAg ICAgIGIuZXEgICAgICAgICAgICAyZgorCisgICAgICAgIGxkMSAgICAgICAgICAgICB7djgu OGgtdjEwLjhofSwgW3NwXSwgeDcKKyAgICAgICAgY2FsY19xcGVsaCAgICAgIHYxLCB2MTEs IHYxNCwgdjE3LCB2MjAsIHYyMywgdjI2LCB2MjksIHY4LCBzcXNocm4KKyAgICAgICAgY2Fs Y19xcGVsaDIgICAgIHYxLCB2MiwgdjExLCB2MTQsIHYxNywgdjIwLCB2MjMsIHYyNiwgdjI5 LCB2OCwgc3FzaHJuMgorICAgICAgICBjYWxjX3FwZWxoICAgICAgdjIsIHYxMiwgdjE1LCB2 MTgsIHYyMSwgdjI0LCB2MjcsIHYzMCwgdjksIHNxc2hybgorICAgICAgICBjYWxjX3FwZWxo MiAgICAgdjIsIHYzLCB2MTIsIHYxNSwgdjE4LCB2MjEsIHYyNCwgdjI3LCB2MzAsIHY5LCBz cXNocm4yCisgICAgICAgIGNhbGNfcXBlbGggICAgICB2MywgdjEzLCB2MTYsIHYxOSwgdjIy LCB2MjUsIHYyOCwgdjMxLCB2MTAsIHNxc2hybgorICAgICAgICBjYWxjX3FwZWxoMiAgICAg djMsIHY0LCB2MTMsIHYxNiwgdjE5LCB2MjIsIHYyNSwgdjI4LCB2MzEsIHYxMCwgc3FzaHJu MgorICAgICAgICBzdWJzICAgICAgICAgICAgdzMsIHczLCAjMQorICAgICAgICBzdDEgICAg ICAgICAgICAge3YxLjhoLXYzLjhofSwgW3gwXSwgeDcKKyAgICAgICAgYi5lcSAgICAgICAg ICAgIDJmCisKKyAgICAgICAgbGQxICAgICAgICAgICAgIHt2MTEuOGgtdjEzLjhofSwgW3Nw XSwgeDcKKyAgICAgICAgY2FsY19xcGVsaCAgICAgIHYxLCB2MTQsIHYxNywgdjIwLCB2MjMs IHYyNiwgdjI5LCB2OCwgdjExLCBzcXNocm4KKyAgICAgICAgY2FsY19xcGVsaDIgICAgIHYx LCB2MiwgdjE0LCB2MTcsIHYyMCwgdjIzLCB2MjYsIHYyOSwgdjgsIHYxMSwgc3FzaHJuMgor ICAgICAgICBjYWxjX3FwZWxoICAgICAgdjIsIHYxNSwgdjE4LCB2MjEsIHYyNCwgdjI3LCB2 MzAsIHY5LCB2MTIsIHNxc2hybgorICAgICAgICBjYWxjX3FwZWxoMiAgICAgdjIsIHYzLCB2 MTUsIHYxOCwgdjIxLCB2MjQsIHYyNywgdjMwLCB2OSwgdjEyLCBzcXNocm4yCisgICAgICAg IGNhbGNfcXBlbGggICAgICB2MywgdjE2LCB2MTksIHYyMiwgdjI1LCB2MjgsIHYzMSwgdjEw LCB2MTMsIHNxc2hybgorICAgICAgICBjYWxjX3FwZWxoMiAgICAgdjMsIHY0LCB2MTYsIHYx OSwgdjIyLCB2MjUsIHYyOCwgdjMxLCB2MTAsIHYxMywgc3FzaHJuMgorICAgICAgICBzdWJz ICAgICAgICAgICAgdzMsIHczLCAjMQorICAgICAgICBzdDEgICAgICAgICAgICAge3YxLjho LXYzLjhofSwgW3gwXSwgeDcKKyAgICAgICAgYi5lcSAgICAgICAgICAgIDJmCisKKyAgICAg ICAgbGQxICAgICAgICAgICAgIHt2MTQuOGgtdjE2LjhofSwgW3NwXSwgeDcKKyAgICAgICAg Y2FsY19xcGVsaCAgICAgIHYxLCB2MTcsIHYyMCwgdjIzLCB2MjYsIHYyOSwgdjgsIHYxMSwg djE0LCBzcXNocm4KKyAgICAgICAgY2FsY19xcGVsaDIgICAgIHYxLCB2MiwgdjE3LCB2MjAs IHYyMywgdjI2LCB2MjksIHY4LCB2MTEsIHYxNCwgc3FzaHJuMgorICAgICAgICBjYWxjX3Fw ZWxoICAgICAgdjIsIHYxOCwgdjIxLCB2MjQsIHYyNywgdjMwLCB2OSwgdjEyLCB2MTUsIHNx c2hybgorICAgICAgICBjYWxjX3FwZWxoMiAgICAgdjIsIHYzLCB2MTgsIHYyMSwgdjI0LCB2 MjcsIHYzMCwgdjksIHYxMiwgdjE1LCBzcXNocm4yCisgICAgICAgIGNhbGNfcXBlbGggICAg ICB2MywgdjE5LCB2MjIsIHYyNSwgdjI4LCB2MzEsIHYxMCwgdjEzLCB2MTYsIHNxc2hybgor ICAgICAgICBjYWxjX3FwZWxoMiAgICAgdjMsIHY0LCB2MTksIHYyMiwgdjI1LCB2MjgsIHYz MSwgdjEwLCB2MTMsIHYxNiwgc3FzaHJuMgorICAgICAgICBzdWJzICAgICAgICAgICAgdzMs IHczLCAjMQorICAgICAgICBzdDEgICAgICAgICAgICAge3YxLjhoLXYzLjhofSwgW3gwXSwg eDcKKyAgICAgICAgYi5lcSAgICAgICAgICAgIDJmCisKKyAgICAgICAgbGQxICAgICAgICAg ICAgIHt2MTcuOGgtdjE5LjhofSwgW3NwXSwgeDcKKyAgICAgICAgY2FsY19xcGVsaCAgICAg IHYxLCB2MjAsIHYyMywgdjI2LCB2MjksIHY4LCB2MTEsIHYxNCwgdjE3LCBzcXNocm4KKyAg ICAgICAgY2FsY19xcGVsaDIgICAgIHYxLCB2MiwgdjIwLCB2MjMsIHYyNiwgdjI5LCB2OCwg djExLCB2MTQsIHYxNywgc3FzaHJuMgorICAgICAgICBjYWxjX3FwZWxoICAgICAgdjIsIHYy MSwgdjI0LCB2MjcsIHYzMCwgdjksIHYxMiwgdjE1LCB2MTgsIHNxc2hybgorICAgICAgICBj YWxjX3FwZWxoMiAgICAgdjIsIHYzLCB2MjEsIHYyNCwgdjI3LCB2MzAsIHY5LCB2MTIsIHYx NSwgdjE4LCBzcXNocm4yCisgICAgICAgIGNhbGNfcXBlbGggICAgICB2MywgdjIyLCB2MjUs IHYyOCwgdjMxLCB2MTAsIHYxMywgdjE2LCB2MTksIHNxc2hybgorICAgICAgICBjYWxjX3Fw ZWxoMiAgICAgdjMsIHY0LCB2MjIsIHYyNSwgdjI4LCB2MzEsIHYxMCwgdjEzLCB2MTYsIHYx OSwgc3FzaHJuMgorICAgICAgICBzdWJzICAgICAgICAgICAgdzMsIHczLCAjMQorICAgICAg ICBzdDEgICAgICAgICAgICAge3YxLjhoLXYzLjhofSwgW3gwXSwgeDcKKyAgICAgICAgYi5l cSAgICAgICAgICAgIDJmCisKKyAgICAgICAgbGQxICAgICAgICAgICAgIHt2MjAuOGgtdjIy LjhofSwgW3NwXSwgeDcKKyAgICAgICAgY2FsY19xcGVsaCAgICAgIHYxLCB2MjMsIHYyNiwg djI5LCB2OCwgdjExLCB2MTQsIHYxNywgdjIwLCBzcXNocm4KKyAgICAgICAgY2FsY19xcGVs aDIgICAgIHYxLCB2MiwgdjIzLCB2MjYsIHYyOSwgdjgsIHYxMSwgdjE0LCB2MTcsIHYyMCwg c3FzaHJuMgorICAgICAgICBjYWxjX3FwZWxoICAgICAgdjIsIHYyNCwgdjI3LCB2MzAsIHY5 LCB2MTIsIHYxNSwgdjE4LCB2MjEsIHNxc2hybgorICAgICAgICBjYWxjX3FwZWxoMiAgICAg djIsIHYzLCB2MjQsIHYyNywgdjMwLCB2OSwgdjEyLCB2MTUsIHYxOCwgdjIxLCBzcXNocm4y CisgICAgICAgIGNhbGNfcXBlbGggICAgICB2MywgdjI1LCB2MjgsIHYzMSwgdjEwLCB2MTMs IHYxNiwgdjE5LCB2MjIsIHNxc2hybgorICAgICAgICBjYWxjX3FwZWxoMiAgICAgdjMsIHY0 LCB2MjUsIHYyOCwgdjMxLCB2MTAsIHYxMywgdjE2LCB2MTksIHYyMiwgc3FzaHJuMgorICAg ICAgICBzdWJzICAgICAgICAgICAgdzMsIHczLCAjMQorICAgICAgICBzdDEgICAgICAgICAg ICAge3YxLjhoLXYzLjhofSwgW3gwXSwgeDcKKyAgICAgICAgYi5lcSAgICAgICAgICAgIDJm CisKKyAgICAgICAgbGQxICAgICAgICAgICAgIHt2MjMuOGgtdjI1LjhofSwgW3NwXSwgeDcK KyAgICAgICAgY2FsY19xcGVsaCAgICAgIHYxLCB2MjYsIHYyOSwgdjgsIHYxMSwgdjE0LCB2 MTcsIHYyMCwgdjIzLCBzcXNocm4KKyAgICAgICAgY2FsY19xcGVsaDIgICAgIHYxLCB2Miwg djI2LCB2MjksIHY4LCB2MTEsIHYxNCwgdjE3LCB2MjAsIHYyMywgc3FzaHJuMgorICAgICAg ICBjYWxjX3FwZWxoICAgICAgdjIsIHYyNywgdjMwLCB2OSwgdjEyLCB2MTUsIHYxOCwgdjIx LCB2MjQsIHNxc2hybgorICAgICAgICBjYWxjX3FwZWxoMiAgICAgdjIsIHYzLCB2MjcsIHYz MCwgdjksIHYxMiwgdjE1LCB2MTgsIHYyMSwgdjI0LCBzcXNocm4yCisgICAgICAgIGNhbGNf cXBlbGggICAgICB2MywgdjI4LCB2MzEsIHYxMCwgdjEzLCB2MTYsIHYxOSwgdjIyLCB2MjUs IHNxc2hybgorICAgICAgICBjYWxjX3FwZWxoMiAgICAgdjMsIHY0LCB2MjgsIHYzMSwgdjEw LCB2MTMsIHYxNiwgdjE5LCB2MjIsIHYyNSwgc3FzaHJuMgorICAgICAgICBzdWJzICAgICAg ICAgICAgdzMsIHczLCAjMQorICAgICAgICBzdDEgICAgICAgICAgICAge3YxLjhoLXYzLjho fSwgW3gwXSwgeDcKKyAgICAgICAgYi5lcSAgICAgICAgICAgIDJmCisKKyAgICAgICAgbGQx ICAgICAgICAgICAgIHt2MjYuOGgtdjI4LjhofSwgW3NwXSwgeDcKKyAgICAgICAgY2FsY19x cGVsaCAgICAgIHYxLCB2MjksIHY4LCB2MTEsIHYxNCwgdjE3LCB2MjAsIHYyMywgdjI2LCBz cXNocm4KKyAgICAgICAgY2FsY19xcGVsaDIgICAgIHYxLCB2MiwgdjI5LCB2OCwgdjExLCB2 MTQsIHYxNywgdjIwLCB2MjMsIHYyNiwgc3FzaHJuMgorICAgICAgICBjYWxjX3FwZWxoICAg ICAgdjIsIHYzMCwgdjksIHYxMiwgdjE1LCB2MTgsIHYyMSwgdjI0LCB2MjcsIHNxc2hybgor ICAgICAgICBjYWxjX3FwZWxoMiAgICAgdjIsIHYzLCB2MzAsIHY5LCB2MTIsIHYxNSwgdjE4 LCB2MjEsIHYyNCwgdjI3LCBzcXNocm4yCisgICAgICAgIGNhbGNfcXBlbGggICAgICB2Mywg djMxLCB2MTAsIHYxMywgdjE2LCB2MTksIHYyMiwgdjI1LCB2MjgsIHNxc2hybgorICAgICAg ICBjYWxjX3FwZWxoMiAgICAgdjMsIHY0LCB2MzEsIHYxMCwgdjEzLCB2MTYsIHYxOSwgdjIy LCB2MjUsIHYyOCwgc3FzaHJuMgorICAgICAgICBzdWJzICAgICAgICAgICAgdzMsIHczLCAj MQorICAgICAgICBzdDEgICAgICAgICAgICAge3YxLjhoLXYzLjhofSwgW3gwXSwgeDcKKyAg ICAgICAgYi5oaSAgICAgICAgICAgIDFiCisyOiAgICAgIGxkMSAgICAgICAgICAgICB7djEy LjhiLXYxNS44Yn0sIFtzcF0sICMzMgorICAgICAgICBsZDEgICAgICAgICAgICAge3Y4Ljhi LXYxMS44Yn0sIFtzcF0sICMzMgorICAgICAgICByZXQKK2VuZGZ1bmMKKworZnVuY3Rpb24g ZmZfaGV2Y19wdXRfaGV2Y19xcGVsX2h2MzJfOF9uZW9uX2k4bW0sIGV4cG9ydD0xCisgICAg ICAgIGFkZCAgICAgICAgICAgICB3MTAsIHczLCAjNworICAgICAgICBzdWIgICAgICAgICAg ICAgeDEsIHgxLCB4MiwgbHNsICMxCisgICAgICAgIGxzbCAgICAgICAgICAgICB4MTAsIHgx MCwgIzcKKyAgICAgICAgc3ViICAgICAgICAgICAgIHgxLCB4MSwgeDIKKyAgICAgICAgc3Vi ICAgICAgICAgICAgIHNwLCBzcCwgeDEwICAgICAgICAgLy8gdG1wX2FycmF5CisgICAgICAg IHN0cCAgICAgICAgICAgICB4NSwgeDMwLCBbc3AsICMtMzJdIQorICAgICAgICBzdHAgICAg ICAgICAgICAgeDAsIHgzLCBbc3AsICMxNl0KKyAgICAgICAgYWRkICAgICAgICAgICAgIHgz LCB4MywgIzcKKyAgICAgICAgYWRkICAgICAgICAgICAgIHgwLCBzcCwgIzMyCisgICAgICAg IGJsICAgICAgICAgICAgICBYKGZmX2hldmNfcHV0X2hldmNfcXBlbF9oMzJfOF9uZW9uX2k4 bW0pCisgICAgICAgIGxkcCAgICAgICAgICAgICB4NSwgeDMwLCBbc3BdCisgICAgICAgIG1v diAgICAgICAgICAgICB4NywgIzEyOAorICAgICAgICBsZHAgICAgICAgICAgICAgeDAsIHgz LCBbc3AsICMxNl0KKyAgICAgICAgYWRkICAgICAgICAgICAgIHNwLCBzcCwgIzMyCisgICAg ICAgIGxvYWRfcXBlbF9maWx0ZXJoIHg1LCB4NAorMDogICAgICBtb3YgICAgICAgICAgICAg eDgsIHNwICAgICAgICAgIC8vIHNyYworICAgICAgICBsZDEgICAgICAgICAgICAge3YxNi44 aCwgdjE3LjhofSwgW3g4XSwgeDcKKyAgICAgICAgbW92ICAgICAgICAgICAgIHc5LCB3MyAg ICAgICAgICAvLyBoZWlnaHQKKyAgICAgICAgbGQxICAgICAgICAgICAgIHt2MTguOGgsIHYx OS44aH0sIFt4OF0sIHg3CisgICAgICAgIG1vdiAgICAgICAgICAgICB4NSwgeDAgICAgICAg ICAgLy8gZHN0CisgICAgICAgIGxkMSAgICAgICAgICAgICB7djIwLjhoLCB2MjEuOGh9LCBb eDhdLCB4NworICAgICAgICBsZDEgICAgICAgICAgICAge3YyMi44aCwgdjIzLjhofSwgW3g4 XSwgeDcKKyAgICAgICAgbGQxICAgICAgICAgICAgIHt2MjQuOGgsIHYyNS44aH0sIFt4OF0s IHg3CisgICAgICAgIGxkMSAgICAgICAgICAgICB7djI2LjhoLCB2MjcuOGh9LCBbeDhdLCB4 NworICAgICAgICBsZDEgICAgICAgICAgICAge3YyOC44aCwgdjI5LjhofSwgW3g4XSwgeDcK Ky5tYWNybyBjYWxjIHRtcDAsIHRtcDEsIHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMsIHNyYzQs IHNyYzUsIHNyYzYsIHNyYzcsIHNyYzgsIHNyYzksIHNyYzEwLCBzcmMxMSwgc3JjMTIsIHNy YzEzLCBzcmMxNCwgc3JjMTUKKyAgICAgICAgbGQxICAgICAgICAgICAgIHtcdG1wMFwoKS44 aCwgXHRtcDFcKCkuOGh9LCBbeDhdLCB4NworICAgICAgICBjYWxjX3FwZWxoICAgICAgdjEs ICAgICBcc3JjMCwgIFxzcmMxLCBcc3JjMiwgIFxzcmMzLCAgXHNyYzQsICBcc3JjNSwgIFxz cmM2LCAgXHNyYzcsIHNxc2hybgorICAgICAgICBjYWxjX3FwZWxoMiAgICAgdjEsIHYyLCBc c3JjMCwgXHNyYzEsICBcc3JjMiwgIFxzcmMzLCAgXHNyYzQsICBcc3JjNSwgIFxzcmM2LCAg XHNyYzcsIHNxc2hybjIKKyAgICAgICAgY2FsY19xcGVsaCAgICAgIHYyLCAgICAgXHNyYzgs IFxzcmM5LCBcc3JjMTAsIFxzcmMxMSwgXHNyYzEyLCBcc3JjMTMsIFxzcmMxNCwgXHNyYzE1 LCBzcXNocm4KKyAgICAgICAgY2FsY19xcGVsaDIgICAgIHYyLCB2MywgXHNyYzgsIFxzcmM5 LCBcc3JjMTAsIFxzcmMxMSwgXHNyYzEyLCBcc3JjMTMsIFxzcmMxNCwgXHNyYzE1LCBzcXNo cm4yCisgICAgICAgIHN1YnMgICAgICAgICAgICB4OSwgeDksICMxCisgICAgICAgIHN0MSAg ICAgICAgICAgICB7djEuOGgsIHYyLjhofSwgW3g1XSwgeDcKKy5lbmRtCisxOiAgICAgIGNh bGNfYWxsMgorLnB1cmdlbSBjYWxjCisyOiAgICAgIGFkZCAgICAgICAgICAgICB4MCwgeDAs ICMzMgorICAgICAgICBhZGQgICAgICAgICAgICAgc3AsIHNwLCAjMzIKKyAgICAgICAgc3Vi cyAgICAgICAgICAgIHc2LCB3NiwgIzE2CisgICAgICAgIGIuaGkgICAgICAgICAgICAwYgor ICAgICAgICBhZGQgICAgICAgICAgICAgdzEwLCB3MywgIzYKKyAgICAgICAgYWRkICAgICAg ICAgICAgIHNwLCBzcCwgIzY0ICAgICAgICAgIC8vIGRpc2NhcmQgcmVzdCBvZiBmaXJzdCBs aW5lCisgICAgICAgIGxzbCAgICAgICAgICAgICB4MTAsIHgxMCwgIzcKKyAgICAgICAgYWRk ICAgICAgICAgICAgIHNwLCBzcCwgeDEwICAgICAgICAgLy8gdG1wX2FycmF5IHdpdGhvdXQg Zmlyc3QgbGluZQorICAgICAgICByZXQKK2VuZGZ1bmMKKworZnVuY3Rpb24gZmZfaGV2Y19w dXRfaGV2Y19xcGVsX2h2NDhfOF9uZW9uX2k4bW0sIGV4cG9ydD0xCisgICAgICAgIHN0cCAg ICAgICAgICAgICB4NCwgeDUsIFtzcCwgIy02NF0hCisgICAgICAgIHN0cCAgICAgICAgICAg ICB4MiwgeDMsIFtzcCwgIzE2XQorICAgICAgICBzdHAgICAgICAgICAgICAgeDAsIHgxLCBb c3AsICMzMl0KKyAgICAgICAgc3RyICAgICAgICAgICAgIHgzMCwgW3NwLCAjNDhdCisgICAg ICAgIGJsICAgICAgICAgICAgICBYKGZmX2hldmNfcHV0X2hldmNfcXBlbF9odjI0XzhfbmVv bl9pOG1tKQorICAgICAgICBsZHAgICAgICAgICAgICAgeDQsIHg1LCBbc3BdCisgICAgICAg IGxkcCAgICAgICAgICAgICB4MiwgeDMsIFtzcCwgIzE2XQorICAgICAgICBsZHAgICAgICAg ICAgICAgeDAsIHgxLCBbc3AsICMzMl0KKyAgICAgICAgYWRkICAgICAgICAgICAgIHNwLCBz cCwgIzQ4CisgICAgICAgIGFkZCAgICAgICAgICAgICB4MSwgeDEsICMyNAorICAgICAgICBh ZGQgICAgICAgICAgICAgeDAsIHgwLCAjNDgKKyAgICAgICAgYmwgICAgICAgICAgICAgIFgo ZmZfaGV2Y19wdXRfaGV2Y19xcGVsX2h2MjRfOF9uZW9uX2k4bW0pCisgICAgICAgIGxkciAg ICAgICAgICAgICB4MzAsIFtzcF0sICMxNgorICAgICAgICByZXQKK2VuZGZ1bmMKKworZnVu Y3Rpb24gZmZfaGV2Y19wdXRfaGV2Y19xcGVsX2h2NjRfOF9uZW9uX2k4bW0sIGV4cG9ydD0x CisgICAgICAgIHN0cCAgICAgICAgICAgICB4NCwgeDUsIFtzcCwgIy02NF0hCisgICAgICAg IHN0cCAgICAgICAgICAgICB4MiwgeDMsIFtzcCwgIzE2XQorICAgICAgICBzdHAgICAgICAg ICAgICAgeDAsIHgxLCBbc3AsICMzMl0KKyAgICAgICAgc3RyICAgICAgICAgICAgIHgzMCwg W3NwLCAjNDhdCisgICAgICAgIG1vdiAgICAgICAgICAgICB4NiwgIzMyCisgICAgICAgIGJs ICAgICAgICAgICAgICBYKGZmX2hldmNfcHV0X2hldmNfcXBlbF9odjMyXzhfbmVvbl9pOG1t KQorICAgICAgICBsZHAgICAgICAgICAgICAgeDQsIHg1LCBbc3BdCisgICAgICAgIGxkcCAg ICAgICAgICAgICB4MiwgeDMsIFtzcCwgIzE2XQorICAgICAgICBsZHAgICAgICAgICAgICAg eDAsIHgxLCBbc3AsICMzMl0KKyAgICAgICAgYWRkICAgICAgICAgICAgIHNwLCBzcCwgIzQ4 CisgICAgICAgIGFkZCAgICAgICAgICAgICB4MSwgeDEsICMzMgorICAgICAgICBhZGQgICAg ICAgICAgICAgeDAsIHgwLCAjNjQKKyAgICAgICAgbW92ICAgICAgICAgICAgIHg2LCAjMzIK KyAgICAgICAgYmwgICAgICAgICAgICAgIFgoZmZfaGV2Y19wdXRfaGV2Y19xcGVsX2h2MzJf OF9uZW9uX2k4bW0pCisgICAgICAgIGxkciAgICAgICAgICAgICB4MzAsIFtzcF0sICMxNgor ICAgICAgICByZXQKK2VuZGZ1bmMKKwogLm1hY3JvIFFQRUxfVU5JX1dfSFZfSEVBREVSIHdp ZHRoCiAgICAgICAgIGxkcCAgICAgICAgICAgICB4MTQsIHgxNSwgW3NwXSAgICAgICAgICAv LyBteCwgbXkKICAgICAgICAgbGRyICAgICAgICAgICAgIHcxMywgW3NwLCAjMTZdICAgICAg ICAgIC8vIHdpZHRoCi0tIAoyLjM4LjAud2luZG93cy4xCgo= --------------07u0aFFJOjbUKwBnjkWkXTag 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". --------------07u0aFFJOjbUKwBnjkWkXTag--