]> git.sesse.net Git - ffmpeg/commitdiff
h264_metadata: Support overscan_appropriate_flag
authorMark Thompson <sw@jkqxz.net>
Sun, 28 Jul 2019 18:23:16 +0000 (19:23 +0100)
committerMark Thompson <sw@jkqxz.net>
Mon, 29 Jul 2019 18:57:09 +0000 (19:57 +0100)
Fixes #8041.

doc/bitstream_filters.texi
libavcodec/h264_metadata_bsf.c

index 023945e9be5df315aebfb565c7d72c0265cd1ff1..50a1679fc7aa44a245d5993ce9d0e338ebc46d9b 100644 (file)
@@ -224,6 +224,10 @@ Insert or remove AUD NAL units in all access units of the stream.
 @item sample_aspect_ratio
 Set the sample aspect ratio of the stream in the VUI parameters.
 
+@item overscan_appropriate_flag
+Set whether the stream is suitable for display using overscan
+or not (see H.264 section E.2.1).
+
 @item video_format
 @item video_full_range_flag
 Set the video format in the stream (see H.264 section E.2.1 and
index 3684e6bf7f5830aed427fe2736ed2954ff6ac50b..5de74be9d60bc29b42baf71bc3b3019f0b0d9d77 100644 (file)
@@ -57,6 +57,8 @@ typedef struct H264MetadataContext {
 
     AVRational sample_aspect_ratio;
 
+    int overscan_appropriate_flag;
+
     int video_format;
     int video_full_range_flag;
     int colour_primaries;
@@ -129,6 +131,11 @@ static int h264_metadata_update_sps(AVBSFContext *bsf,
         } \
     } while (0)
 
+    if (ctx->overscan_appropriate_flag >= 0) {
+        SET_VUI_FIELD(overscan_appropriate_flag);
+        sps->vui.overscan_info_present_flag = 1;
+    }
+
     if (ctx->video_format             >= 0 ||
         ctx->video_full_range_flag    >= 0 ||
         ctx->colour_primaries         >= 0 ||
@@ -630,6 +637,10 @@ static const AVOption h264_metadata_options[] = {
         OFFSET(sample_aspect_ratio), AV_OPT_TYPE_RATIONAL,
         { .dbl = 0.0 }, 0, 65535, FLAGS },
 
+    { "overscan_appropriate_flag", "Set VUI overscan appropriate flag",
+        OFFSET(overscan_appropriate_flag), AV_OPT_TYPE_INT,
+        { .i64 = -1 }, -1, 1, FLAGS },
+
     { "video_format", "Set video format (table E-2)",
         OFFSET(video_format), AV_OPT_TYPE_INT,
         { .i64 = -1 }, -1, 7, FLAGS},