Message ID | 20201229215350.659208-1-andreas.rheinhardt@gmail.com |
---|---|
State | Accepted |
Commit | 9f38fac053010205806ece11e6aea9b7d3bde041 |
Headers | show |
Series | Make mpegvideo encoders init-threadsafe | expand |
Context | Check | Description |
---|---|---|
andriy/configure | warning | Failed to apply patch |
Andreas Rheinhardt: > The VLC for the macroblock address increment uses nine bits; > yet there is no code with this length: All codes are either shorter or > longer. So one can make the table smaller without changing the amount of > codes that need more than one round of parsing. > > Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> > --- > libavcodec/h261dec.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/libavcodec/h261dec.c b/libavcodec/h261dec.c > index 817453f60c..2b3408d7b3 100644 > --- a/libavcodec/h261dec.c > +++ b/libavcodec/h261dec.c > @@ -35,7 +35,7 @@ > #include "h261.h" > #include "internal.h" > > -#define H261_MBA_VLC_BITS 9 > +#define H261_MBA_VLC_BITS 8 > #define H261_MTYPE_VLC_BITS 6 > #define H261_MV_VLC_BITS 7 > #define H261_CBP_VLC_BITS 9 > @@ -52,7 +52,7 @@ static av_cold void h261_decode_init_static(void) > { > INIT_VLC_STATIC(&h261_mba_vlc, H261_MBA_VLC_BITS, 35, > ff_h261_mba_bits, 1, 1, > - ff_h261_mba_code, 1, 1, 662); > + ff_h261_mba_code, 1, 1, 540); > INIT_VLC_STATIC(&h261_mtype_vlc, H261_MTYPE_VLC_BITS, 10, > ff_h261_mtype_bits, 1, 1, > ff_h261_mtype_code, 1, 1, 80); > Will apply tomorrow unless there are objections. - Andreas
diff --git a/libavcodec/h261dec.c b/libavcodec/h261dec.c index 817453f60c..2b3408d7b3 100644 --- a/libavcodec/h261dec.c +++ b/libavcodec/h261dec.c @@ -35,7 +35,7 @@ #include "h261.h" #include "internal.h" -#define H261_MBA_VLC_BITS 9 +#define H261_MBA_VLC_BITS 8 #define H261_MTYPE_VLC_BITS 6 #define H261_MV_VLC_BITS 7 #define H261_CBP_VLC_BITS 9 @@ -52,7 +52,7 @@ static av_cold void h261_decode_init_static(void) { INIT_VLC_STATIC(&h261_mba_vlc, H261_MBA_VLC_BITS, 35, ff_h261_mba_bits, 1, 1, - ff_h261_mba_code, 1, 1, 662); + ff_h261_mba_code, 1, 1, 540); INIT_VLC_STATIC(&h261_mtype_vlc, H261_MTYPE_VLC_BITS, 10, ff_h261_mtype_bits, 1, 1, ff_h261_mtype_code, 1, 1, 80);
The VLC for the macroblock address increment uses nine bits; yet there is no code with this length: All codes are either shorter or longer. So one can make the table smaller without changing the amount of codes that need more than one round of parsing. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> --- libavcodec/h261dec.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)