PR #24217 opened by mkver
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/24217
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/24217.patch

In particular, don't use MMX in it.


>From fd1d320bfe6529da6c4c138205ea950f2ea7c980 Mon Sep 17 00:00:00 2001
From: Andreas Rheinhardt <[email protected]>
Date: Thu, 20 Aug 2026 13:47:01 +0200
Subject: [PATCH 1/5] avcodec/x86/h264_deblock: Write lines in original order

I.e. not lines 9-16, then lines 1-8. No changes in benchmarks
here; it is mainly done to reduce differences with the 32bit code.

Signed-off-by: Andreas Rheinhardt <[email protected]>
---
 libavcodec/x86/h264_deblock.asm | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/libavcodec/x86/h264_deblock.asm b/libavcodec/x86/h264_deblock.asm
index 379adb3290..2a6b024d4b 100644
--- a/libavcodec/x86/h264_deblock.asm
+++ b/libavcodec/x86/h264_deblock.asm
@@ -758,9 +758,9 @@ cglobal deblock_h_luma_intra_8, 4,9,0,0x80
 
     ; transpose 8x16 -> tmp space
     TRANSPOSE8x8_MEM  PASS8ROWS(r6, r5, r1, r8), PASS8ROWS(pix_tmp, 
pix_tmp+0x30, 0x10, 0x30)
-    lea    r6, [r6+r1*8]
+    lea    r0, [r6+r1*8]
     lea    r5, [r5+r1*8]
-    TRANSPOSE8x8_MEM  PASS8ROWS(r6, r5, r1, r8), PASS8ROWS(pix_tmp+8, 
pix_tmp+0x38, 0x10, 0x30)
+    TRANSPOSE8x8_MEM  PASS8ROWS(r0, r5, r1, r8), PASS8ROWS(pix_tmp+8, 
pix_tmp+0x38, 0x10, 0x30)
 
     lea    r0,  [pix_tmp+0x40]
     mov    r1,  0x10
@@ -768,12 +768,10 @@ cglobal deblock_h_luma_intra_8, 4,9,0,0x80
 
     ; transpose 16x6 -> original space (but we can't write only 6 pixels, so 
really 16x8)
     lea    r5, [r6+r8]
-    TRANSPOSE8x8_MEM  PASS8ROWS(pix_tmp+8, pix_tmp+0x38, 0x10, 0x30), 
PASS8ROWS(r6, r5, r7, r8)
-    shl    r7,  3
-    sub    r6,  r7
-    sub    r5,  r7
-    shr    r7,  3
     TRANSPOSE8x8_MEM  PASS8ROWS(pix_tmp, pix_tmp+0x30, 0x10, 0x30), 
PASS8ROWS(r6, r5, r7, r8)
+    lea    r6, [r6+8*r7]
+    lea    r5, [r5+8*r7]
+    TRANSPOSE8x8_MEM  PASS8ROWS(pix_tmp+8, pix_tmp+0x38, 0x10, 0x30), 
PASS8ROWS(r6, r5, r7, r8)
     RET
 %else
 cglobal deblock_h_luma_intra_8, 2,4,8,0x80
-- 
2.52.0


>From 3abd486033c1f28b259c53e5f2522a050c378c7a Mon Sep 17 00:00:00 2001
From: Andreas Rheinhardt <[email protected]>
Date: Thu, 20 Aug 2026 14:35:59 +0200
Subject: [PATCH 2/5] avcodec/x86/h264_deblock: Combine 32,64 code for
 deblock_h_luma_intra_8

Signed-off-by: Andreas Rheinhardt <[email protected]>
---
 libavcodec/x86/h264_deblock.asm | 90 +++++++++++++++------------------
 1 file changed, 41 insertions(+), 49 deletions(-)

diff --git a/libavcodec/x86/h264_deblock.asm b/libavcodec/x86/h264_deblock.asm
index 2a6b024d4b..8e35218375 100644
--- a/libavcodec/x86/h264_deblock.asm
+++ b/libavcodec/x86/h264_deblock.asm
@@ -741,15 +741,23 @@ cglobal deblock_v_luma_intra_8, 
4,6,16,ARCH_X86_64*0x50-0x50
     RET
 
 INIT_MMX cpuname
-%if ARCH_X86_64
 ;-----------------------------------------------------------------------------
 ; void ff_deblock_h_luma_intra(uint8_t *pix, ptrdiff_t stride, int alpha, int 
beta)
 ;-----------------------------------------------------------------------------
-cglobal deblock_h_luma_intra_8, 4,9,0,0x80
-    lea    r8,  [r1*3]
-    lea    r6,  [r0-4]
-    lea    r5,  [r0-4+r8]
-    mov    r7,  r1
+%if ARCH_X86_64
+cglobal deblock_h_luma_intra_8, 4,9,0,0x80, pix0, stride0, alpha, beta, 
unused, pix3, pix, stride, stride3
+    lea         stride3q,  [stride0q*3]
+    lea             pixq,  [pix0q-4]
+    mov          strideq,  stride0q
+    lea            pix3q,  [pix0q-4+stride3q]
+%else
+cglobal deblock_h_luma_intra_8, 2,4,8,0x80, pix, stride, pix3, stride3
+%define stride0q strideq
+%define pix0q pixq
+    lea         stride3q,  [strideq*3]
+    sub             pixq,  4
+    lea            pix3q,  [pixq+stride3q]
+%endif
 %if WIN64
     %define pix_tmp rsp+0x20 ; shadow space
 %else
@@ -757,55 +765,39 @@ cglobal deblock_h_luma_intra_8, 4,9,0,0x80
 %endif
 
     ; transpose 8x16 -> tmp space
-    TRANSPOSE8x8_MEM  PASS8ROWS(r6, r5, r1, r8), PASS8ROWS(pix_tmp, 
pix_tmp+0x30, 0x10, 0x30)
-    lea    r0, [r6+r1*8]
-    lea    r5, [r5+r1*8]
-    TRANSPOSE8x8_MEM  PASS8ROWS(r0, r5, r1, r8), PASS8ROWS(pix_tmp+8, 
pix_tmp+0x38, 0x10, 0x30)
+    TRANSPOSE8x8_MEM  PASS8ROWS(pixq, pix3q, stride0q, stride3q), 
PASS8ROWS(pix_tmp, pix_tmp+0x30, 0x10, 0x30)
+    lea            pix0q, [pixq +stride0q*8]
+    lea            pix3q, [pix3q+stride0q*8]
+    TRANSPOSE8x8_MEM  PASS8ROWS(pix0q, pix3q, stride0q, stride3q), 
PASS8ROWS(pix_tmp+8, pix_tmp+0x38, 0x10, 0x30)
 
-    lea    r0,  [pix_tmp+0x40]
-    mov    r1,  0x10
-    call   deblock_v_luma_intra_8
-
-    ; transpose 16x6 -> original space (but we can't write only 6 pixels, so 
really 16x8)
-    lea    r5, [r6+r8]
-    TRANSPOSE8x8_MEM  PASS8ROWS(pix_tmp, pix_tmp+0x30, 0x10, 0x30), 
PASS8ROWS(r6, r5, r7, r8)
-    lea    r6, [r6+8*r7]
-    lea    r5, [r5+8*r7]
-    TRANSPOSE8x8_MEM  PASS8ROWS(pix_tmp+8, pix_tmp+0x38, 0x10, 0x30), 
PASS8ROWS(r6, r5, r7, r8)
-    RET
+    lea            pix0q,  [pix_tmp+0x40]
+%if ARCH_X86_64
+    mov         stride0d,  0x10
 %else
-cglobal deblock_h_luma_intra_8, 2,4,8,0x80
-    lea    r3,  [r1*3]
-    sub    r0,  4
-    lea    r2,  [r0+r3]
-    %define pix_tmp rsp
-
-    ; transpose 8x16 -> tmp space
-    TRANSPOSE8x8_MEM  PASS8ROWS(r0, r2, r1, r3), PASS8ROWS(pix_tmp, 
pix_tmp+0x30, 0x10, 0x30)
-    lea    r0,  [r0+r1*8]
-    lea    r2,  [r2+r1*8]
-    TRANSPOSE8x8_MEM  PASS8ROWS(r0, r2, r1, r3), PASS8ROWS(pix_tmp+8, 
pix_tmp+0x38, 0x10, 0x30)
-
-    lea    r0,  [pix_tmp+0x40]
-    PUSH   dword r3m
-    PUSH   dword r2m
-    PUSH   dword 16
-    PUSH   r0
+    PUSH       dword r3m
+    PUSH       dword r2m
+    PUSH       dword 16
+    PUSH       pixd
+%endif
     call   deblock_v_luma_intra_8
-    ADD    esp, 16
+%if ARCH_X86_64
+    lea            pix3q, [pixq+stride3q]
+%else
+    mov          strided,  stridem
+    mov             pixd,  pixm
+
+    ADD              esp, 16
+    lea         stride3d,  [strided*3]
+    sub             pixd,  4
+    lea            pix3d,  [pixd+stride3d]
+%endif
 
-    mov    r1,  r1m
-    mov    r0,  r0mp
-    lea    r3,  [r1*3]
-    sub    r0,  4
-    lea    r2,  [r0+r3]
     ; transpose 16x6 -> original space (but we can't write only 6 pixels, so 
really 16x8)
-    TRANSPOSE8x8_MEM  PASS8ROWS(pix_tmp, pix_tmp+0x30, 0x10, 0x30), 
PASS8ROWS(r0, r2, r1, r3)
-    lea    r0,  [r0+r1*8]
-    lea    r2,  [r2+r1*8]
-    TRANSPOSE8x8_MEM  PASS8ROWS(pix_tmp+8, pix_tmp+0x38, 0x10, 0x30), 
PASS8ROWS(r0, r2, r1, r3)
+    TRANSPOSE8x8_MEM  PASS8ROWS(pix_tmp,   pix_tmp+0x30, 0x10, 0x30), 
PASS8ROWS(pixq, pix3q, strideq, stride3q)
+    lea             pixq, [pixq +8*strideq]
+    lea            pix3q, [pix3q+8*strideq]
+    TRANSPOSE8x8_MEM  PASS8ROWS(pix_tmp+8, pix_tmp+0x38, 0x10, 0x30), 
PASS8ROWS(pixq, pix3q, strideq, stride3q)
     RET
-%endif ; ARCH_X86_64
 %endmacro ; DEBLOCK_LUMA_INTRA
 
 INIT_XMM sse2
-- 
2.52.0


>From 101227ab8d00634fe0189be2f4ded4065b2b90b4 Mon Sep 17 00:00:00 2001
From: Andreas Rheinhardt <[email protected]>
Date: Thu, 20 Aug 2026 17:02:25 +0200
Subject: [PATCH 3/5] avcodec/x86/h264_deblock: Avoid mmx in
 deblock_h_luma_intra_8

Old benchmarks:
  h_loop_filter_luma_intra_8bpp_c:        28.0
  h_loop_filter_luma_intra_8bpp_sse2:     74.5 ( 0.38x)
  h_loop_filter_luma_intra_8bpp_avx:      74.6 ( 0.38x)

New benchmarks:
  h_loop_filter_luma_intra_8bpp_c:        26.3
  h_loop_filter_luma_intra_8bpp_sse2:     57.4 ( 0.46x)
  h_loop_filter_luma_intra_8bpp_avx:      57.6 ( 0.46x)

Signed-off-by: Andreas Rheinhardt <[email protected]>
---
 libavcodec/x86/h264_deblock.asm | 69 +++++++++++++++++++++++++++++----
 1 file changed, 62 insertions(+), 7 deletions(-)

diff --git a/libavcodec/x86/h264_deblock.asm b/libavcodec/x86/h264_deblock.asm
index 8e35218375..6243c89e3a 100644
--- a/libavcodec/x86/h264_deblock.asm
+++ b/libavcodec/x86/h264_deblock.asm
@@ -740,12 +740,11 @@ cglobal deblock_v_luma_intra_8, 
4,6,16,ARCH_X86_64*0x50-0x50
     LUMA_INTRA_P012 [r0], [r0+r1], [r0+2*r1], [r0+r5]
     RET
 
-INIT_MMX cpuname
 ;-----------------------------------------------------------------------------
 ; void ff_deblock_h_luma_intra(uint8_t *pix, ptrdiff_t stride, int alpha, int 
beta)
 ;-----------------------------------------------------------------------------
 %if ARCH_X86_64
-cglobal deblock_h_luma_intra_8, 4,9,0,0x80, pix0, stride0, alpha, beta, 
unused, pix3, pix, stride, stride3
+cglobal deblock_h_luma_intra_8, 4,9,9,0x80, pix0, stride0, alpha, beta, 
unused, pix3, pix, stride, stride3
     lea         stride3q,  [stride0q*3]
     lea             pixq,  [pix0q-4]
     mov          strideq,  stride0q
@@ -764,11 +763,67 @@ cglobal deblock_h_luma_intra_8, 2,4,8,0x80, pix, stride, 
pix3, stride3
     %define pix_tmp rsp
 %endif
 
-    ; transpose 8x16 -> tmp space
-    TRANSPOSE8x8_MEM  PASS8ROWS(pixq, pix3q, stride0q, stride3q), 
PASS8ROWS(pix_tmp, pix_tmp+0x30, 0x10, 0x30)
+    movq              m0, [pixq]
+    movq              m1, [pixq+stride0q]
+    movq              m2, [pixq+2*stride0q]
+    movq              m3, [pix3q]
+    movq              m4, [pix3q+stride0q]
     lea            pix0q, [pixq +stride0q*8]
-    lea            pix3q, [pix3q+stride0q*8]
-    TRANSPOSE8x8_MEM  PASS8ROWS(pix0q, pix3q, stride0q, stride3q), 
PASS8ROWS(pix_tmp+8, pix_tmp+0x38, 0x10, 0x30)
+    movq              m5, [pix3q+2*stride0q]
+    punpcklbw         m0, m1
+    movq              m6, [pix3q+stride3q]
+    punpcklbw         m2, m3
+    movq              m7, [pix3q+4*stride0q]
+    punpcklbw         m4, m5
+    lea            pix3q, [pix3q+8*stride0q]
+    movq              m1, [pix0q]
+    SBUTTERFLY        wd, 0, 2, 5
+    movq              m3, [pix0q+stride0q]
+    punpcklbw         m6, m7
+    movq              m5, [pix0q+2*stride0q]
+    SBUTTERFLY        wd, 4, 6, 7
+    movq              m7, [pix3q]
+    punpcklbw         m1, m3
+    SBUTTERFLY        dq, 0, 4, 3
+%if ARCH_X86_32
+    movq       [pix_tmp], m0
+%endif
+    movq              m3, [pix3q+stride0q]
+    punpcklbw         m5, m7
+%if ARCH_X86_32
+    movhps  [pix_tmp+16], m0
+%endif
+    SBUTTERFLY        dq, 2, 6, 7
+    movq              m7, [pix3q+2*stride0q]
+%if ARCH_X86_64
+    SWAP               0, 8
+%endif
+    SBUTTERFLY        wd, 1, 5, 0
+    movq              m0, [pix3q+stride3q]
+    punpcklbw         m3, m7
+    movq              m7, [pix3q+4*stride0q]
+    punpcklbw         m0, m7
+    SBUTTERFLY        wd, 3, 0, 7
+    SBUTTERFLY        dq, 1, 3, 7
+%if ARCH_X86_32
+    movq     [pix_tmp+8], m1
+    movhps  [pix_tmp+24], m1
+%endif
+    SBUTTERFLY       qdq, 4, 3, 7
+    mova    [pix_tmp+32], m4
+    mova    [pix_tmp+48], m3
+    SBUTTERFLY        dq, 5, 0, 7
+    SBUTTERFLY       qdq, 2, 5, 7
+    mova    [pix_tmp+64], m2
+    mova    [pix_tmp+80], m5
+%if ARCH_X86_64
+    SBUTTERFLY       qdq, 8, 1, 7
+    mova    [pix_tmp+16], m1
+    mova       [pix_tmp], m8
+%endif
+    SBUTTERFLY       qdq, 6, 0, 7
+    mova    [pix_tmp+96], m6
+    mova   [pix_tmp+112], m0
 
     lea            pix0q,  [pix_tmp+0x40]
 %if ARCH_X86_64
@@ -791,7 +846,7 @@ cglobal deblock_h_luma_intra_8, 2,4,8,0x80, pix, stride, 
pix3, stride3
     sub             pixd,  4
     lea            pix3d,  [pixd+stride3d]
 %endif
-
+INIT_MMX cpuname
     ; transpose 16x6 -> original space (but we can't write only 6 pixels, so 
really 16x8)
     TRANSPOSE8x8_MEM  PASS8ROWS(pix_tmp,   pix_tmp+0x30, 0x10, 0x30), 
PASS8ROWS(pixq, pix3q, strideq, stride3q)
     lea             pixq, [pixq +8*strideq]
-- 
2.52.0


>From c2b3bec71281cfea6d6dd7f059c49ba988b5986c Mon Sep 17 00:00:00 2001
From: Andreas Rheinhardt <[email protected]>
Date: Thu, 20 Aug 2026 17:08:50 +0200
Subject: [PATCH 4/5] avcodec/x86/h264_deblock: Remove obsolete macro
 parameters

Forgotten in b1140d3c982e0720d2dd638f2d7ae0ca6552ac13.

Signed-off-by: Andreas Rheinhardt <[email protected]>
---
 libavcodec/x86/h264_deblock.asm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/libavcodec/x86/h264_deblock.asm b/libavcodec/x86/h264_deblock.asm
index 6243c89e3a..961cf84a0c 100644
--- a/libavcodec/x86/h264_deblock.asm
+++ b/libavcodec/x86/h264_deblock.asm
@@ -649,7 +649,7 @@ DEBLOCK_LUMA 16
     %define mask1p mask1q
 %endmacro
 
-%macro DEBLOCK_LUMA_INTRA 1
+%macro DEBLOCK_LUMA_INTRA 0
     %define p1 m0
     %define p0 m1
     %define q0 m2
@@ -856,10 +856,10 @@ INIT_MMX cpuname
 %endmacro ; DEBLOCK_LUMA_INTRA
 
 INIT_XMM sse2
-DEBLOCK_LUMA_INTRA v
+DEBLOCK_LUMA_INTRA
 %if HAVE_AVX_EXTERNAL
 INIT_XMM avx
-DEBLOCK_LUMA_INTRA v
+DEBLOCK_LUMA_INTRA
 %endif
 
 %macro LOAD_8_ROWS 8
-- 
2.52.0


>From a2e7b15475ceffae674093d4d3abb4d1d9d7e9da Mon Sep 17 00:00:00 2001
From: Andreas Rheinhardt <[email protected]>
Date: Thu, 20 Aug 2026 17:52:07 +0200
Subject: [PATCH 5/5] avcodec/x86/h264_deblock: Don't use mmx in
 deblock_h_luma_intra_8

Old benchmarks:
  h_loop_filter_luma_intra_8bpp_c:        26.3
  h_loop_filter_luma_intra_8bpp_sse2:     57.4 ( 0.46x)
  h_loop_filter_luma_intra_8bpp_avx:      57.6 ( 0.46x)

New benchmarks:
  h_loop_filter_luma_intra_8bpp_c:        26.5
  h_loop_filter_luma_intra_8bpp_sse2:     52.2 ( 0.51x)
  h_loop_filter_luma_intra_8bpp_avx:      52.3 ( 0.51x)

Signed-off-by: Andreas Rheinhardt <[email protected]>
---
 libavcodec/x86/h264_deblock.asm | 92 ++++++++++++++++++---------------
 1 file changed, 50 insertions(+), 42 deletions(-)

diff --git a/libavcodec/x86/h264_deblock.asm b/libavcodec/x86/h264_deblock.asm
index 961cf84a0c..b47d84effb 100644
--- a/libavcodec/x86/h264_deblock.asm
+++ b/libavcodec/x86/h264_deblock.asm
@@ -96,43 +96,6 @@ cextern pb_3
     RESET_MM_PERMUTATION
 %endmacro
 
-; in: 8 rows of 8 in %1..%8
-; out: 8 rows of 8 in %9..%16
-%macro TRANSPOSE8x8_MEM 16
-    RESET_MM_PERMUTATION
-    movq  m0, %1
-    movq  m1, %2
-    movq  m2, %3
-    movq  m3, %4
-    movq  m4, %5
-    movq  m5, %6
-    movq  m6, %7
-    SBUTTERFLY bw, 0, 1, 7
-    SBUTTERFLY bw, 2, 3, 7
-    SBUTTERFLY bw, 4, 5, 7
-    SBUTTERFLY3 bw, m6, %8, m7
-    movq  %9,  m5
-    SBUTTERFLY wd, 0, 2, 5
-    SBUTTERFLY wd, 4, 6, 5
-    SBUTTERFLY wd, 1, 3, 5
-    movq  %11, m6
-    movq  m6,  %9
-    SBUTTERFLY wd, 6, 7, 5
-    SBUTTERFLY dq, 0, 4, 5
-    SBUTTERFLY dq, 1, 6, 5
-    movq  %9,  m0
-    movq  %10, m4
-    movq  %13, m1
-    movq  %14, m6
-    SBUTTERFLY3 dq, m2, %11, m0
-    SBUTTERFLY dq, 3, 7, 4
-    movq  %11, m2
-    movq  %12, m0
-    movq  %15, m3
-    movq  %16, m7
-    RESET_MM_PERMUTATION
-%endmacro
-
 ; out: %4 = |%1-%2|>%3
 ; clobbers: %5
 %macro DIFF_GT 5
@@ -846,12 +809,57 @@ cglobal deblock_h_luma_intra_8, 2,4,8,0x80, pix, stride, 
pix3, stride3
     sub             pixd,  4
     lea            pix3d,  [pixd+stride3d]
 %endif
-INIT_MMX cpuname
-    ; transpose 16x6 -> original space (but we can't write only 6 pixels, so 
really 16x8)
-    TRANSPOSE8x8_MEM  PASS8ROWS(pix_tmp,   pix_tmp+0x30, 0x10, 0x30), 
PASS8ROWS(pixq, pix3q, strideq, stride3q)
-    lea             pixq, [pixq +8*strideq]
+    RESET_MM_PERMUTATION
+    mova              m0, [pix_tmp]
+    mova              m1, [pix_tmp+16]
+    mova              m2, [pix_tmp+32]
+    mova              m3, [pix_tmp+48]
+    SBUTTERFLY        bw, 0, 1, 7
+    mova              m4, [pix_tmp+64]
+    mova              m5, [pix_tmp+80]
+    SBUTTERFLY        bw, 2, 3, 7
+    mova              m6, [pix_tmp+96]
+    SBUTTERFLY        wd, 0, 2, 7
+%if ARCH_X86_64
+    mova              m8, [pix_tmp+112]
+%endif
+    SBUTTERFLY        wd, 1, 3, 7
+    SBUTTERFLY        bw, 4, 5, 7
+%if ARCH_X86_64
+    SBUTTERFLY        bw, 6, 8, 7
+%else
+    punpcklbw         m6, [pix_tmp+112]
+%endif
+    SBUTTERFLY        wd, 4, 6, 7
+    SBUTTERFLY        dq, 0, 4, 7
+    movq          [pixq], m0
+    movhps [pixq+strideq], m0
+%if ARCH_X86_64
+    SWAP               0, 8
+%else
+    mova              m0, [pix_tmp+96]
+    punpckhbw         m0, [pix_tmp+112]
+%endif
+    SBUTTERFLY        dq, 2, 6, 7
+    movq [pixq+2*strideq], m4
+    movhps       [pix3q], m4
+    SBUTTERFLY        wd, 5, 0, 7
+    movq [pix3q+strideq], m2
+    movhps [pix3q+2*strideq], m2
+    lea             pixq, [pixq+8*strideq]
+    SBUTTERFLY        dq, 1, 5, 7
+    movq [pix3q+stride3q], m6
+    movhps [pix3q+4*strideq], m6
     lea            pix3q, [pix3q+8*strideq]
-    TRANSPOSE8x8_MEM  PASS8ROWS(pix_tmp+8, pix_tmp+0x38, 0x10, 0x30), 
PASS8ROWS(pixq, pix3q, strideq, stride3q)
+    SBUTTERFLY        dq, 3, 0, 7
+    movq          [pixq], m1
+    movhps [pixq+strideq], m1
+    movq [pixq+2*strideq], m5
+    movhps       [pix3q], m5
+    movq [pix3q+strideq], m3
+    movhps [pix3q+2*strideq], m3
+    movq [pix3q+stride3q], m0
+    movhps [pix3q+4*strideq], m0
     RET
 %endmacro ; DEBLOCK_LUMA_INTRA
 
-- 
2.52.0

_______________________________________________
ffmpeg-devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to