avcodec: Add discard_sample_percentage
authorMichael Niedermayer <michael@niedermayer.cc>
Fri, 18 Jan 2019 23:00:48 +0000 (00:00 +0100)
committerMichael Niedermayer <michael@niedermayer.cc>
Mon, 28 Jan 2019 00:09:38 +0000 (01:09 +0100)
Suggested-by: BBB
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
doc/APIchanges
libavcodec/avcodec.h
libavcodec/options_table.h
libavcodec/version.h
tests/ref/fate/api-mjpeg-codec-param
tests/ref/fate/api-png-codec-param

index a39a3ff..784a5e5 100644 (file)
@@ -15,6 +15,9 @@ libavutil:     2017-10-21
 
 API changes, most recent first:
 
+2019-01-27 - XXXXXXXXXX - lavc 58.46.100 - avcodec.h
+  Add discard_damaged_percentage
+
 2019-01-08 - xxxxxxxxxx - lavu 56.26.100 - frame.h
   Add AV_FRAME_DATA_REGIONS_OF_INTEREST
 
index 72dc277..f554c53 100644 (file)
@@ -3345,6 +3345,14 @@ typedef struct AVCodecContext {
      * used as reference pictures).
      */
     int extra_hw_frames;
+
+    /**
+     * The percentage of damaged samples to discard a frame.
+     *
+     * - decoding: set by user
+     * - encoding: unused
+     */
+    int discard_damaged_percentage;
 } AVCodecContext;
 
 #if FF_API_CODEC_GET_SET
index 2f36ec7..a3235bc 100644 (file)
@@ -479,6 +479,7 @@ static const AVOption avcodec_options[] = {
 {"allow_high_depth", "allow to output YUV pixel formats with a different chroma sampling than 4:2:0 and/or other than 8 bits per component", 0, AV_OPT_TYPE_CONST, {.i64 = AV_HWACCEL_FLAG_ALLOW_HIGH_DEPTH }, INT_MIN, INT_MAX, V | D, "hwaccel_flags"},
 {"allow_profile_mismatch", "attempt to decode anyway if HW accelerated decoder's supported profiles do not exactly match the stream", 0, AV_OPT_TYPE_CONST, {.i64 = AV_HWACCEL_FLAG_ALLOW_PROFILE_MISMATCH }, INT_MIN, INT_MAX, V | D, "hwaccel_flags"},
 {"extra_hw_frames", "Number of extra hardware frames to allocate for the user", OFFSET(extra_hw_frames), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, INT_MAX, V|D },
+{"discard_damaged_percentage", "Percentage of damaged samples to discard a frame", OFFSET(discard_damaged_percentage), AV_OPT_TYPE_INT, {.i64 = 95 }, 0, 100, V|D },
 {NULL},
 };
 
index 5c9b688..6a10536 100644 (file)
@@ -28,7 +28,7 @@
 #include "libavutil/version.h"
 
 #define LIBAVCODEC_VERSION_MAJOR  58
-#define LIBAVCODEC_VERSION_MINOR  45
+#define LIBAVCODEC_VERSION_MINOR  46
 #define LIBAVCODEC_VERSION_MICRO 100
 
 #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
index 0d2b55c..0815919 100644 (file)
@@ -138,6 +138,7 @@ stream=0, decode=0
     max_pixels=2147483647
     hwaccel_flags=0x00000001
     extra_hw_frames=-1
+    discard_damaged_percentage=95
 stream=0, decode=1
     b=0
     ab=0
@@ -278,3 +279,4 @@ stream=0, decode=1
     max_pixels=2147483647
     hwaccel_flags=0x00000001
     extra_hw_frames=-1
+    discard_damaged_percentage=95
index 1ae94a2..a47d096 100644 (file)
@@ -138,6 +138,7 @@ stream=0, decode=0
     max_pixels=2147483647
     hwaccel_flags=0x00000001
     extra_hw_frames=-1
+    discard_damaged_percentage=95
 stream=0, decode=1
     b=0
     ab=0
@@ -278,3 +279,4 @@ stream=0, decode=1
     max_pixels=2147483647
     hwaccel_flags=0x00000001
     extra_hw_frames=-1
+    discard_damaged_percentage=95