mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-28 20:53:54 +02:00
avcodec/av1_metadata: add an option to remove Padding OBUs
Reviewed-by: Mark Thompson <sw@jkqxz.net> Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
parent
1125277bc6
commit
ee16d14b0a
@ -87,6 +87,9 @@ the timing info in the sequence header.
|
||||
Set the number of ticks in each picture, to indicate that the stream
|
||||
has a fixed framerate. Ignored if @option{tick_rate} is not also set.
|
||||
|
||||
@item delete_padding
|
||||
Deletes Padding OBUs.
|
||||
|
||||
@end table
|
||||
|
||||
@section chomp
|
||||
|
@ -46,6 +46,8 @@ typedef struct AV1MetadataContext {
|
||||
|
||||
AVRational tick_rate;
|
||||
int num_ticks_per_picture;
|
||||
|
||||
int delete_padding;
|
||||
} AV1MetadataContext;
|
||||
|
||||
|
||||
@ -158,6 +160,19 @@ static int av1_metadata_filter(AVBSFContext *bsf, AVPacket *out)
|
||||
}
|
||||
}
|
||||
|
||||
if (ctx->delete_padding) {
|
||||
for (i = 0; i < frag->nb_units; i++) {
|
||||
if (frag->units[i].type == AV1_OBU_PADDING) {
|
||||
err = ff_cbs_delete_unit(ctx->cbc, frag, i);
|
||||
if (err < 0) {
|
||||
av_log(bsf, AV_LOG_ERROR, "Failed to delete Padding OBU.\n");
|
||||
goto fail;
|
||||
}
|
||||
--i;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
err = ff_cbs_write_packet(ctx->cbc, out, frag);
|
||||
if (err < 0) {
|
||||
av_log(bsf, AV_LOG_ERROR, "Failed to write packet.\n");
|
||||
@ -275,6 +290,10 @@ static const AVOption av1_metadata_options[] = {
|
||||
OFFSET(num_ticks_per_picture), AV_OPT_TYPE_INT,
|
||||
{ .i64 = -1 }, -1, INT_MAX, FLAGS },
|
||||
|
||||
{ "delete_padding", "Delete all Padding OBUs",
|
||||
OFFSET(delete_padding), AV_OPT_TYPE_BOOL,
|
||||
{ .i64 = 0 }, 0, 1, FLAGS},
|
||||
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
|
@ -29,7 +29,7 @@
|
||||
|
||||
#define LIBAVCODEC_VERSION_MAJOR 58
|
||||
#define LIBAVCODEC_VERSION_MINOR 48
|
||||
#define LIBAVCODEC_VERSION_MICRO 100
|
||||
#define LIBAVCODEC_VERSION_MICRO 101
|
||||
|
||||
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
|
||||
LIBAVCODEC_VERSION_MINOR, \
|
||||
|
Loading…
Reference in New Issue
Block a user