mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-12-08 06:09:50 +00:00
avcodec/mpegutils: Remap MB_TYPE_ACPRED, add codec-specific MB_TYPE
MB_TYPE_ACPRED is currently reused for MB_TYPE_REF0 by H.264, so that the value fits into an uint16_t. Given that MB_TYPE_ACPRED is not subject to any such restriction (apart from fitting into 32bits), it can be remapped to a hithereto unused bit. The then available bit will be declared to be codec-specific (i.e. unused by generic code), so that H.264 can use it for MB_TYPE_REF0 and so that it can be reused later for e.g. MB_TYPE_H261_FIL. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
parent
5805b860fe
commit
dd1e804a98
3 changed files with 6 additions and 3 deletions
|
|
@ -45,7 +45,6 @@
|
|||
#define MB_TYPE_8x8 (1 << 6)
|
||||
#define MB_TYPE_INTERLACED (1 << 7)
|
||||
#define MB_TYPE_DIRECT2 (1 << 8) // FIXME
|
||||
#define MB_TYPE_ACPRED (1 << 9)
|
||||
#define MB_TYPE_GMC (1 << 10)
|
||||
#define MB_TYPE_SKIP (1 << 11)
|
||||
#define MB_TYPE_P0L0 (1 << 12)
|
||||
|
|
@ -57,9 +56,13 @@
|
|||
#define MB_TYPE_L0L1 (MB_TYPE_L0 | MB_TYPE_L1)
|
||||
#define MB_TYPE_QUANT (1 << 16)
|
||||
#define MB_TYPE_CBP (1 << 17)
|
||||
#define MB_TYPE_ACPRED (1 << 18)
|
||||
|
||||
#define MB_TYPE_INTRA MB_TYPE_INTRA4x4 // default mb_type if there is just one type
|
||||
|
||||
// The following MB-type can be used by each codec as it sees fit.
|
||||
#define MB_TYPE_CODEC_SPECIFIC (1 << 9)
|
||||
|
||||
#define IS_INTRA4x4(a) ((a) & MB_TYPE_INTRA4x4)
|
||||
#define IS_INTRA16x16(a) ((a) & MB_TYPE_INTRA16x16)
|
||||
#define IS_PCM(a) ((a) & MB_TYPE_INTRA_PCM)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue