[FFmpeg-devel] [PATCH] avcodec/cabac: do not use signed values for ff_h264_cabac_tables

Nuo Mi nuomi2021 at gmail.com
Sun Mar 21 06:11:38 EET 2021


On Sun, Mar 21, 2021 at 12:10 PM Nuo Mi <nuomi2021 at gmail.com> wrote:

> The type of ff_h264_cabac_tables in unit8, it's not signed.
> Also,H.264 Table 9-44 and H.265 Table 9-52 never used a signed value
> ---
>  libavcodec/cabac.c | 20 ++++++++++----------
>  1 file changed, 10 insertions(+), 10 deletions(-)
>
> diff --git a/libavcodec/cabac.c b/libavcodec/cabac.c
> index 6649feebeb..fe6bac3d47 100644
> --- a/libavcodec/cabac.c
> +++ b/libavcodec/cabac.c
> @@ -54,7 +54,7 @@ DECLARE_ASM_ALIGNED(1, const uint8_t,
> ff_h264_cabac_tables)[512 + 4*2*64 + 4*64
>      0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
>      0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
>      // LPS range
> -    -128,    -128,    -128,    -128,    -128,    -128,    123,     123,
> +    128,     128,     128,     128,     128,     128,     123,     123,
>      116,     116,     111,     111,     105,     105,     100,     100,
>      95,      95,      90,      90,      85,      85,      81,      81,
>      77,      77,      73,      73,      69,      69,      66,      66,
> @@ -70,8 +70,8 @@ DECLARE_ASM_ALIGNED(1, const uint8_t,
> ff_h264_cabac_tables)[512 + 4*2*64 + 4*64
>      10,      10,      9,       9,       9,       9,       8,       8,
>      8,       8,       7,       7,       7,       7,       7,       7,
>      6,       6,       6,       6,       6,       6,       2,       2,
> -    -80,     -80,     -89,     -89,     -98,     -98,     -106,    -106,
> -    -114,    -114,    -121,    -121,    -128,    -128,    122,     122,
> +    176,     176,     167,     167,     158,     158,     150,     150,
> +    142,     142,     135,     135,     128,     128,     122,     122,
>      116,     116,     110,     110,     104,     104,     99,      99,
>      94,      94,      89,      89,      85,      85,      80,      80,
>      76,      76,      72,      72,      69,      69,      65,      65,
> @@ -86,9 +86,9 @@ DECLARE_ASM_ALIGNED(1, const uint8_t,
> ff_h264_cabac_tables)[512 + 4*2*64 + 4*64
>      12,      12,      11,      11,      11,      11,      10,      10,
>      9,       9,       9,       9,       9,       9,       8,       8,
>      8,       8,       7,       7,       7,       7,       2,       2,
> -    -48,     -48,     -59,     -59,     -69,     -69,     -78,     -78,
> -    -87,     -87,     -96,     -96,     -104,    -104,    -112,    -112,
> -    -119,    -119,    -126,    -126,    123,     123,     117,     117,
> +    208,     208,     197,     197,     187,     187,     178,     178,
> +    169,     169,     160,     160,     152,     152,     144,     144,
> +    137,     137,     130,     130,     123,     123,     117,     117,
>      111,     111,     105,     105,     100,     100,     95,      95,
>      90,      90,      86,      86,      81,      81,      77,      77,
>      73,      73,      69,      69,      66,      66,      63,      63,
> @@ -102,10 +102,10 @@ DECLARE_ASM_ALIGNED(1, const uint8_t,
> ff_h264_cabac_tables)[512 + 4*2*64 + 4*64
>      14,      14,      13,      13,      12,      12,      12,      12,
>      11,      11,      11,      11,      10,      10,      10,      10,
>      9,       9,       9,       9,       8,       8,       2,       2,
> -    -16,     -16,     -29,     -29,     -40,     -40,     -51,     -51,
> -    -61,     -61,     -71,     -71,     -81,     -81,     -90,     -90,
> -    -98,     -98,     -106,    -106,    -114,    -114,    -121,    -121,
> -    -128,    -128,    122,     122,     116,     116,     110,     110,
> +    240,     240,     227,     227,     216,     216,     205,     205,
> +    195,     195,     185,     185,     175,     175,     166,     166,
> +    158,     158,     150,     150,     142,     142,     135,     135,
> +    128,     128,     122,     122,     116,     116,     110,     110,
>      104,     104,     99,      99,      94,      94,      89,      89,
>      85,      85,      80,      80,      76,      76,      72,      72,
>      69,      69,      65,      65,      62,      62,      59,      59,
> --
> 2.25.1
>
This passed following fate test.

make fate-h264
make fate-hevc


More information about the ffmpeg-devel mailing list