move motion_val & mb_type to AVFrame patch by (Wolfgang Hesseler <qv at multimediaware dot com>)

cleanups & fixes by me

Originally committed as revision 2579 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Wolfgang Hesseler
2003-12-09 01:49:56 +00:00
committed by Michael Niedermayer
parent a0b8f70c29
commit 8d7ec294c4
8 changed files with 209 additions and 182 deletions

View File

@@ -17,7 +17,7 @@ extern "C" {
#define FFMPEG_VERSION_INT 0x000408
#define FFMPEG_VERSION "0.4.8"
#define LIBAVCODEC_BUILD 4694
#define LIBAVCODEC_BUILD 4695
#define LIBAVCODEC_VERSION_INT FFMPEG_VERSION_INT
#define LIBAVCODEC_VERSION FFMPEG_VERSION
@@ -282,6 +282,30 @@ static const __attribute__((unused)) int Motion_Est_QTab[] =
#define CODEC_CAP_PARSE_ONLY 0x0004
#define CODEC_CAP_TRUNCATED 0x0008
//the following defines might change, so dont expect compatibility if u use them
#define MB_TYPE_INTRA4x4 0x0001
#define MB_TYPE_INTRA16x16 0x0002 //FIXME h264 specific
#define MB_TYPE_INTRA_PCM 0x0004 //FIXME h264 specific
#define MB_TYPE_16x16 0x0008
#define MB_TYPE_16x8 0x0010
#define MB_TYPE_8x16 0x0020
#define MB_TYPE_8x8 0x0040
#define MB_TYPE_INTERLACED 0x0080
#define MB_TYPE_DIRECT2 0x0100 //FIXME
#define MB_TYPE_ACPRED 0x0200
#define MB_TYPE_GMC 0x0400
#define MB_TYPE_SKIP 0x0800
#define MB_TYPE_P0L0 0x1000
#define MB_TYPE_P1L0 0x2000
#define MB_TYPE_P0L1 0x4000
#define MB_TYPE_P1L1 0x8000
#define MB_TYPE_L0 (MB_TYPE_P0L0 | MB_TYPE_P1L0)
#define MB_TYPE_L1 (MB_TYPE_P0L1 | MB_TYPE_P1L1)
#define MB_TYPE_L0L1 (MB_TYPE_L0 | MB_TYPE_L1)
#define MB_TYPE_QUANT 0x00010000
#define MB_TYPE_CBP 0x00020000
//Note bits 24-31 are reserved for codec specific use (h264 ref0, mpeg1 0mv, ...)
/**
* Pan Scan area.
* this specifies the area which should be displayed. Note there may be multiple such areas for one frame
@@ -403,6 +427,28 @@ typedef struct AVPanScan{
* - decoding: set by lavc\
*/\
uint8_t *mbskip_table;\
\
/**\
* Motion vector table\
* - encoding: unused\
* - decoding: set by lavc\
*/\
int16_t (*motion_val[2])[2];\
\
/**\
* Macroblock type table\
* mb_type_base + mb_width + 2\
* - encoding: unused\
* - decoding: set by lavc\
*/\
uint32_t *mb_type;\
\
/**\
* Macroblock size: (0->16x16, 1->8x8, 2-> 4x4, 3-> 2x2)\
* - encoding: unused\
* - decoding: set by lavc\
*/\
uint8_t motion_subsample_log2;\
\
/**\
* for some private data of the user\