@ -1185,6 +1185,44 @@ typedef struct AVPanScan{
int16_t position [ 3 ] [ 2 ] ;
} AVPanScan ;
/**
* This structure describes the bitrate properties of an encoded bitstream . It
* roughly corresponds to a subset the VBV parameters for MPEG - 2 or HRD
* parameters for H .264 / HEVC .
*/
typedef struct AVCPBProperties {
/**
* Maximum bitrate of the stream , in bits per second .
* Zero if unknown or unspecified .
*/
int max_bitrate ;
/**
* Minimum bitrate of the stream , in bits per second .
* Zero if unknown or unspecified .
*/
int min_bitrate ;
/**
* Average bitrate of the stream , in bits per second .
* Zero if unknown or unspecified .
*/
int avg_bitrate ;
/**
* The size of the buffer to which the ratecontrol is applied , in bits .
* Zero if unknown or unspecified .
*/
int buffer_size ;
/**
* The delay between the time the packet this structure is associated with
* is received and the time when it should be decoded , in periods of a 27 MHz
* clock .
*
* UINT64_MAX when unknown or unspecified .
*/
uint64_t vbv_delay ;
} AVCPBProperties ;
# if FF_API_QSCALE_TYPE
# define FF_QSCALE_TYPE_MPEG1 0
# define FF_QSCALE_TYPE_MPEG2 1
@ -1292,6 +1330,11 @@ enum AVPacketSideDataType {
*/
AV_PKT_DATA_FALLBACK_TRACK ,
/**
* This side data corresponds to the AVCPBProperties struct .
*/
AV_PKT_DATA_CPB_PROPERTIES ,
/**
* Recommmends skipping the specified number of samples
* @ code
@ -5327,6 +5370,17 @@ const AVCodecDescriptor *avcodec_descriptor_next(const AVCodecDescriptor *prev);
*/
const AVCodecDescriptor * avcodec_descriptor_get_by_name ( const char * name ) ;
/**
* Allocate a CPB properties structure and initialize its fields to default
* values .
*
* @ param size if non - NULL , the size of the allocated struct will be written
* here . This is useful for embedding it in side data .
*
* @ return the newly allocated struct or NULL on failure
*/
AVCPBProperties * av_cpb_properties_alloc ( size_t * size ) ;
/**
* @ }
*/