Commit 7cb2863b8e for ffmpeg

commit 7cb2863b8e0e9f904531bd0bf8c9e4f543577dc9
Author: Zhao Zhili <quinkblack@foxmail.com>
Date:   Fri Sep 11 21:57:11 2026 +0800

    avcodec/sao: fix swapped 45 and 135 degree EO class comments

    The position tables are indexed by sao_eo_class: index 2 is SAO_EO_135D,
    with neighbours at (-1,-1) and (1,1), and index 3 is SAO_EO_45D.

    Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>

diff --git a/libavcodec/aarch64/h26x/sao_neon.S b/libavcodec/aarch64/h26x/sao_neon.S
index 354614ecab..90022fcfc7 100644
--- a/libavcodec/aarch64/h26x/sao_neon.S
+++ b/libavcodec/aarch64/h26x/sao_neon.S
@@ -103,14 +103,14 @@ endfunc
 .Lhevc_sao_edge_pos:
 .word 1 // horizontal
 .word HEVC_SAO_STRIDE // vertical
-.word HEVC_SAO_STRIDE + 1 // 45 degree
-.word HEVC_SAO_STRIDE - 1 // 135 degree
+.word HEVC_SAO_STRIDE + 1 // 135 degree
+.word HEVC_SAO_STRIDE - 1 // 45 degree

 .Lvvc_sao_edge_pos:
 .word 1 // horizontal
 .word VVC_SAO_STRIDE // vertical
-.word VVC_SAO_STRIDE + 1 // 45 degree
-.word VVC_SAO_STRIDE - 1 // 135 degree
+.word VVC_SAO_STRIDE + 1 // 135 degree
+.word VVC_SAO_STRIDE - 1 // 45 degree

 function ff_vvc_sao_edge_filter_16x16_8_neon, export=1
         adr             x7, .Lvvc_sao_edge_pos
diff --git a/libavcodec/arm/hevcdsp_init_neon.c b/libavcodec/arm/hevcdsp_init_neon.c
index 6f113618c0..1bda997ceb 100644
--- a/libavcodec/arm/hevcdsp_init_neon.c
+++ b/libavcodec/arm/hevcdsp_init_neon.c
@@ -177,8 +177,8 @@ void ff_hevc_sao_edge_filter_neon_8_wrapper(uint8_t *_dst, const uint8_t *_src,
     static const int8_t pos[4][2][2] = {
         { { -1,  0 }, {  1, 0 } }, // horizontal
         { {  0, -1 }, {  0, 1 } }, // vertical
-        { { -1, -1 }, {  1, 1 } }, // 45 degree
-        { {  1, -1 }, { -1, 1 } }, // 135 degree
+        { { -1, -1 }, {  1, 1 } }, // 135 degree
+        { {  1, -1 }, { -1, 1 } }, // 45 degree
     };
     uint8_t *dst = _dst;
     const uint8_t *src = _src;
diff --git a/libavcodec/h26x/h2656_sao_template.c b/libavcodec/h26x/h2656_sao_template.c
index b3eb8a3deb..a5028315a7 100644
--- a/libavcodec/h26x/h2656_sao_template.c
+++ b/libavcodec/h26x/h2656_sao_template.c
@@ -54,8 +54,8 @@ static void FUNC(sao_edge_filter)(uint8_t *_dst, const uint8_t *_src, ptrdiff_t
     static const int8_t pos[4][2][2] = {
         { { -1,  0 }, {  1, 0 } }, // horizontal
         { {  0, -1 }, {  0, 1 } }, // vertical
-        { { -1, -1 }, {  1, 1 } }, // 45 degree
-        { {  1, -1 }, { -1, 1 } }, // 135 degree
+        { { -1, -1 }, {  1, 1 } }, // 135 degree
+        { {  1, -1 }, { -1, 1 } }, // 45 degree
     };
     pixel *dst = (pixel *)_dst;
     const pixel *src = (const pixel *)_src;
diff --git a/libavcodec/wasm/hevc/sao.c b/libavcodec/wasm/hevc/sao.c
index a863b8e720..89e6b2cf07 100644
--- a/libavcodec/wasm/hevc/sao.c
+++ b/libavcodec/wasm/hevc/sao.c
@@ -124,8 +124,8 @@ void ff_hevc_sao_edge_filter_8x8_8_simd128(uint8_t *dst, const uint8_t *src,
     static const int8_t pos[4][2][2] = {
             { { -1,  0 }, {  1, 0 } }, // horizontal
             { {  0, -1 }, {  0, 1 } }, // vertical
-            { { -1, -1 }, {  1, 1 } }, // 45 degree
-            { {  1, -1 }, { -1, 1 } }, // 135 degree
+            { { -1, -1 }, {  1, 1 } }, // 135 degree
+            { {  1, -1 }, { -1, 1 } }, // 45 degree
     };
     int a_stride, b_stride;
     ptrdiff_t stride_src = (2 * HEVC_MAX_PB_SIZE + AV_INPUT_BUFFER_PADDING_SIZE);
@@ -194,8 +194,8 @@ void ff_hevc_sao_edge_filter_16x16_8_simd128(uint8_t *dst, const uint8_t *src,
     static const int8_t pos[4][2][2] = {
             { { -1,  0 }, {  1, 0 } }, // horizontal
             { {  0, -1 }, {  0, 1 } }, // vertical
-            { { -1, -1 }, {  1, 1 } }, // 45 degree
-            { {  1, -1 }, { -1, 1 } }, // 135 degree
+            { { -1, -1 }, {  1, 1 } }, // 135 degree
+            { {  1, -1 }, { -1, 1 } }, // 45 degree
     };
     int a_stride, b_stride;
     ptrdiff_t stride_src = (2 * HEVC_MAX_PB_SIZE + AV_INPUT_BUFFER_PADDING_SIZE);