Merge commit 'f0b769c16daafa64720dcba7fa81a9f5255e1d29'
* commit 'f0b769c16daafa64720dcba7fa81a9f5255e1d29': lavc: add a packet side data type for VBV-like parameters Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
This commit is contained in:
commit
dd6ee019ea
@ -17,6 +17,7 @@ API changes, most recent first:
|
|||||||
2015-12-17 - lavc 57.18.100 / 57.11.0 - avcodec.h
|
2015-12-17 - lavc 57.18.100 / 57.11.0 - avcodec.h
|
||||||
xxxxxxx - Add av_packet_add_side_data().
|
xxxxxxx - Add av_packet_add_side_data().
|
||||||
xxxxxxx - Add AVCodecContext.coded_side_data.
|
xxxxxxx - Add AVCodecContext.coded_side_data.
|
||||||
|
xxxxxxx - Add AVCPBProperties API.
|
||||||
|
|
||||||
2015-12-11 - xxxxxxx - lavf 57.20.100 - avformat.h
|
2015-12-11 - xxxxxxx - lavf 57.20.100 - avformat.h
|
||||||
Add av_program_add_stream_index()
|
Add av_program_add_stream_index()
|
||||||
|
@ -1185,6 +1185,44 @@ typedef struct AVPanScan{
|
|||||||
int16_t position[3][2];
|
int16_t position[3][2];
|
||||||
}AVPanScan;
|
}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 27MHz
|
||||||
|
* clock.
|
||||||
|
*
|
||||||
|
* UINT64_MAX when unknown or unspecified.
|
||||||
|
*/
|
||||||
|
uint64_t vbv_delay;
|
||||||
|
} AVCPBProperties;
|
||||||
|
|
||||||
#if FF_API_QSCALE_TYPE
|
#if FF_API_QSCALE_TYPE
|
||||||
#define FF_QSCALE_TYPE_MPEG1 0
|
#define FF_QSCALE_TYPE_MPEG1 0
|
||||||
#define FF_QSCALE_TYPE_MPEG2 1
|
#define FF_QSCALE_TYPE_MPEG2 1
|
||||||
@ -1292,6 +1330,11 @@ enum AVPacketSideDataType {
|
|||||||
*/
|
*/
|
||||||
AV_PKT_DATA_FALLBACK_TRACK,
|
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
|
* Recommmends skipping the specified number of samples
|
||||||
* @code
|
* @code
|
||||||
@ -5327,6 +5370,17 @@ const AVCodecDescriptor *avcodec_descriptor_next(const AVCodecDescriptor *prev);
|
|||||||
*/
|
*/
|
||||||
const AVCodecDescriptor *avcodec_descriptor_get_by_name(const char *name);
|
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);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @}
|
* @}
|
||||||
*/
|
*/
|
||||||
|
@ -3488,3 +3488,17 @@ const uint8_t *avpriv_find_start_code(const uint8_t *av_restrict p,
|
|||||||
|
|
||||||
return p + 4;
|
return p + 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
AVCPBProperties *av_cpb_properties_alloc(size_t *size)
|
||||||
|
{
|
||||||
|
AVCPBProperties *props = av_mallocz(sizeof(AVCPBProperties));
|
||||||
|
if (!props)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
if (size)
|
||||||
|
*size = sizeof(*props);
|
||||||
|
|
||||||
|
props->vbv_delay = UINT64_MAX;
|
||||||
|
|
||||||
|
return props;
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user