diff options
author | Martin Storsjö <martin@martin.st> | 2012-02-27 23:23:45 +0200 |
---|---|---|
committer | Martin Storsjö <martin@martin.st> | 2012-03-01 16:08:31 +0200 |
commit | bdc1220eebd0a57a85b423335d7a67888ed4ca07 (patch) | |
tree | dc584eb711218f89fd61baacdb8eb845a23d3ec2 /libavcodec/avcodec.h | |
parent | 442c1320e72a13d02c9c477aab7100ef910c33c7 (diff) | |
download | ffmpeg-bdc1220eebd0a57a85b423335d7a67888ed4ca07.tar.gz |
h263enc: Add an option for outputting info about MBs as side data
Signed-off-by: Martin Storsjö <martin@martin.st>
Diffstat (limited to 'libavcodec/avcodec.h')
-rw-r--r-- | libavcodec/avcodec.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index af2a5ca3f2..798cac6696 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -743,6 +743,7 @@ enum AVPacketSideDataType { AV_PKT_DATA_PALETTE, AV_PKT_DATA_NEW_EXTRADATA, AV_PKT_DATA_PARAM_CHANGE, + AV_PKT_DATA_H263_MB_INFO, }; typedef struct AVPacket { @@ -825,6 +826,24 @@ typedef struct AVPacket { * s32le height */ +/** + * An AV_PKT_DATA_H263_MB_INFO side data packet contains a number of + * structures with info about macroblocks relevant to splitting the + * packet into smaller packets on macroblock edges (e.g. as for RFC 2190). + * That is, it does not necessarily contain info about all macroblocks, + * as long as the distance between macroblocks in the info is smaller + * than the target payload size. + * Each MB info structure is 12 bytes, and is laid out as follows: + * u32le bit offset from the start of the packet + * u8 current quantizer at the start of the macroblock + * u8 GOB number + * u16le macroblock address within the GOB + * u8 horizontal MV predictor + * u8 vertical MV predictor + * u8 horizontal MV predictor for block number 3 + * u8 vertical MV predictor for block number 3 + */ + enum AVSideDataParamChangeFlags { AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_COUNT = 0x0001, AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_LAYOUT = 0x0002, |