mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-01-11 18:09:36 +00:00
lavc: add an option to enable side data-only packets during encoding
Some encoders (e.g. flac) need to send side data when there is no more data to be output. This enables them to output a packet with no data in it, only side data.
This commit is contained in:
parent
eb800f120d
commit
0957b274e3
@ -13,6 +13,11 @@ libavutil: 2013-12-xx
|
|||||||
|
|
||||||
API changes, most recent first:
|
API changes, most recent first:
|
||||||
|
|
||||||
|
2014-04-xx - xxxxxxx - lavc 55.54.0 - avcodec.h
|
||||||
|
Add AVCodecContext.side_data_only_packets to allow encoders to output packets
|
||||||
|
with only side data. This option may become mandatory in the future, so all
|
||||||
|
users are recommended to update their code and enable this option.
|
||||||
|
|
||||||
2014-xx-xx - xxxxxxx - lavu 53.16.0 - frame.h, pixfmt.h
|
2014-xx-xx - xxxxxxx - lavu 53.16.0 - frame.h, pixfmt.h
|
||||||
Move all color-related enums (AVColorPrimaries, AVColorSpace, AVColorRange,
|
Move all color-related enums (AVColorPrimaries, AVColorSpace, AVColorRange,
|
||||||
AVColorTransferCharacteristic, and AVChromaLocation) inside lavu.
|
AVColorTransferCharacteristic, and AVChromaLocation) inside lavu.
|
||||||
|
@ -2730,6 +2730,21 @@ typedef struct AVCodecContext {
|
|||||||
* - decoding: unused.
|
* - decoding: unused.
|
||||||
*/
|
*/
|
||||||
uint64_t vbv_delay;
|
uint64_t vbv_delay;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Encoding only. Allow encoders to output packets that do not contain any
|
||||||
|
* encoded data, only side data.
|
||||||
|
*
|
||||||
|
* Some encoders need to output such packets, e.g. to update some stream
|
||||||
|
* parameters at the end of encoding.
|
||||||
|
*
|
||||||
|
* All callers are strongly recommended to set this option to 1 and update
|
||||||
|
* their code to deal with such packets, since this behaviour may become
|
||||||
|
* always enabled in the future (then this option will be deprecated and
|
||||||
|
* later removed). To avoid ABI issues when this happens, the callers should
|
||||||
|
* use AVOptions to set this field.
|
||||||
|
*/
|
||||||
|
int side_data_only_packets;
|
||||||
} AVCodecContext;
|
} AVCodecContext;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -399,6 +399,7 @@ static const AVOption avcodec_options[] = {
|
|||||||
{"fltp", "32-bit float planar", 0, AV_OPT_TYPE_CONST, {.i64 = AV_SAMPLE_FMT_FLTP }, INT_MIN, INT_MAX, A|D, "request_sample_fmt"},
|
{"fltp", "32-bit float planar", 0, AV_OPT_TYPE_CONST, {.i64 = AV_SAMPLE_FMT_FLTP }, INT_MIN, INT_MAX, A|D, "request_sample_fmt"},
|
||||||
{"dblp", "64-bit double planar", 0, AV_OPT_TYPE_CONST, {.i64 = AV_SAMPLE_FMT_DBLP }, INT_MIN, INT_MAX, A|D, "request_sample_fmt"},
|
{"dblp", "64-bit double planar", 0, AV_OPT_TYPE_CONST, {.i64 = AV_SAMPLE_FMT_DBLP }, INT_MIN, INT_MAX, A|D, "request_sample_fmt"},
|
||||||
{"refcounted_frames", NULL, OFFSET(refcounted_frames), AV_OPT_TYPE_INT, {.i64 = 0}, 0, 1, A|V|D },
|
{"refcounted_frames", NULL, OFFSET(refcounted_frames), AV_OPT_TYPE_INT, {.i64 = 0}, 0, 1, A|V|D },
|
||||||
|
{"side_data_only_packets", NULL, OFFSET(side_data_only_packets), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, A|V|E },
|
||||||
{NULL},
|
{NULL},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
#include "libavutil/version.h"
|
#include "libavutil/version.h"
|
||||||
|
|
||||||
#define LIBAVCODEC_VERSION_MAJOR 55
|
#define LIBAVCODEC_VERSION_MAJOR 55
|
||||||
#define LIBAVCODEC_VERSION_MINOR 53
|
#define LIBAVCODEC_VERSION_MINOR 54
|
||||||
#define LIBAVCODEC_VERSION_MICRO 0
|
#define LIBAVCODEC_VERSION_MICRO 0
|
||||||
|
|
||||||
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
|
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
|
||||||
|
Loading…
Reference in New Issue
Block a user