mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-13 21:28:01 +02:00
lavc doxy: add AVPacket-related stuff to a separate doxy group.
Also move AV_PKT_DATA_PARAM_CHANGE/AV_PKT_DATA_H263_MB_INFO to the proper place.
This commit is contained in:
parent
294b3a5074
commit
30f3f62563
@ -750,10 +750,48 @@ typedef struct AVPanScan{
|
|||||||
#define FF_BUFFER_HINTS_PRESERVE 0x04 // User must not alter buffer content.
|
#define FF_BUFFER_HINTS_PRESERVE 0x04 // User must not alter buffer content.
|
||||||
#define FF_BUFFER_HINTS_REUSABLE 0x08 // Codec will reuse the buffer (update).
|
#define FF_BUFFER_HINTS_REUSABLE 0x08 // Codec will reuse the buffer (update).
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @defgroup lavc_packet AVPacket
|
||||||
|
*
|
||||||
|
* Types and functions for working with AVPacket.
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
enum AVPacketSideDataType {
|
enum AVPacketSideDataType {
|
||||||
AV_PKT_DATA_PALETTE,
|
AV_PKT_DATA_PALETTE,
|
||||||
AV_PKT_DATA_NEW_EXTRADATA,
|
AV_PKT_DATA_NEW_EXTRADATA,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An AV_PKT_DATA_PARAM_CHANGE side data packet is laid out as follows:
|
||||||
|
* u32le param_flags
|
||||||
|
* if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_COUNT)
|
||||||
|
* s32le channel_count
|
||||||
|
* if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_LAYOUT)
|
||||||
|
* u64le channel_layout
|
||||||
|
* if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_SAMPLE_RATE)
|
||||||
|
* s32le sample_rate
|
||||||
|
* if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_DIMENSIONS)
|
||||||
|
* s32le width
|
||||||
|
* s32le height
|
||||||
|
*/
|
||||||
AV_PKT_DATA_PARAM_CHANGE,
|
AV_PKT_DATA_PARAM_CHANGE,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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
|
||||||
|
*/
|
||||||
AV_PKT_DATA_H263_MB_INFO,
|
AV_PKT_DATA_H263_MB_INFO,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -823,44 +861,15 @@ typedef struct AVPacket {
|
|||||||
#define AV_PKT_FLAG_KEY 0x0001 ///< The packet contains a keyframe
|
#define AV_PKT_FLAG_KEY 0x0001 ///< The packet contains a keyframe
|
||||||
#define AV_PKT_FLAG_CORRUPT 0x0002 ///< The packet content is corrupted
|
#define AV_PKT_FLAG_CORRUPT 0x0002 ///< The packet content is corrupted
|
||||||
|
|
||||||
/**
|
|
||||||
* An AV_PKT_DATA_PARAM_CHANGE side data packet is laid out as follows:
|
|
||||||
* u32le param_flags
|
|
||||||
* if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_COUNT)
|
|
||||||
* s32le channel_count
|
|
||||||
* if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_LAYOUT)
|
|
||||||
* u64le channel_layout
|
|
||||||
* if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_SAMPLE_RATE)
|
|
||||||
* s32le sample_rate
|
|
||||||
* if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_DIMENSIONS)
|
|
||||||
* s32le width
|
|
||||||
* 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 {
|
enum AVSideDataParamChangeFlags {
|
||||||
AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_COUNT = 0x0001,
|
AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_COUNT = 0x0001,
|
||||||
AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_LAYOUT = 0x0002,
|
AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_LAYOUT = 0x0002,
|
||||||
AV_SIDE_DATA_PARAM_CHANGE_SAMPLE_RATE = 0x0004,
|
AV_SIDE_DATA_PARAM_CHANGE_SAMPLE_RATE = 0x0004,
|
||||||
AV_SIDE_DATA_PARAM_CHANGE_DIMENSIONS = 0x0008,
|
AV_SIDE_DATA_PARAM_CHANGE_DIMENSIONS = 0x0008,
|
||||||
};
|
};
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Audio Video Frame.
|
* Audio Video Frame.
|
||||||
@ -3215,7 +3224,10 @@ void avsubtitle_free(AVSubtitle *sub);
|
|||||||
* @}
|
* @}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* packet functions */
|
/**
|
||||||
|
* @addtogroup lavc_packet
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @deprecated use NULL instead
|
* @deprecated use NULL instead
|
||||||
@ -3306,6 +3318,10 @@ int av_packet_shrink_side_data(AVPacket *pkt, enum AVPacketSideDataType type,
|
|||||||
uint8_t* av_packet_get_side_data(AVPacket *pkt, enum AVPacketSideDataType type,
|
uint8_t* av_packet_get_side_data(AVPacket *pkt, enum AVPacketSideDataType type,
|
||||||
int *size);
|
int *size);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
|
|
||||||
/* resample.c */
|
/* resample.c */
|
||||||
|
|
||||||
struct ReSampleContext;
|
struct ReSampleContext;
|
||||||
|
Loading…
Reference in New Issue
Block a user