Browse Source

avcodec/mpeg12: Reduce size of motion-vector VLC

It currently uses 9 bits per table, but there are no codes with
nine bits at all, while there are codes with eight, ten and eleven bits.
So reducing the table size to eight bits will not reduce the amount of
codes that can be parsed in the first step, but it allows to reduce the
size of the motion-vector VLC.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
tags/n4.4
Andreas Rheinhardt 5 years ago
parent
commit
c4990409f2
2 changed files with 2 additions and 2 deletions
  1. +1
    -1
      libavcodec/mpeg12.c
  2. +1
    -1
      libavcodec/mpeg12vlc.h

+ 1
- 1
libavcodec/mpeg12.c View File

@@ -149,7 +149,7 @@ av_cold void ff_mpeg12_init_vlcs(void)
ff_mpeg12_vlc_dc_chroma_code, 2, 2, 514);
INIT_VLC_STATIC(&ff_mv_vlc, MV_VLC_BITS, 17,
&ff_mpeg12_mbMotionVectorTable[0][1], 2, 1,
&ff_mpeg12_mbMotionVectorTable[0][0], 2, 1, 518);
&ff_mpeg12_mbMotionVectorTable[0][0], 2, 1, 266);
INIT_VLC_STATIC(&ff_mbincr_vlc, MBINCR_VLC_BITS, 36,
&ff_mpeg12_mbAddrIncrTable[0][1], 2, 1,
&ff_mpeg12_mbAddrIncrTable[0][0], 2, 1, 538);


+ 1
- 1
libavcodec/mpeg12vlc.h View File

@@ -31,7 +31,7 @@
#include "vlc.h"

#define DC_VLC_BITS 9
#define MV_VLC_BITS 9
#define MV_VLC_BITS 8
#define TEX_VLC_BITS 9

#define MBINCR_VLC_BITS 9


Loading…
Cancel
Save