[FFmpeg-devel] [PATCH 1/3][RFC] avutil/frame: add AV_FRAME_FLAG_DISPOSABLE

James Almer jamrial at gmail.com
Mon Aug 26 19:17:25 EEST 2019


Used to signal frames that can be safely discarded without losing
any picture data, side data, or metadata other than timing info.

Signed-off-by: James Almer <jamrial at gmail.com>
---
This implements the "disposable frame" solution to allow library
users to drop duplicate frames before further processing if desired,
instead of forcing decoders to output vfr content when cfr is coded
in the bitstream.

 doc/APIchanges      | 3 +++
 libavutil/frame.h   | 5 +++++
 libavutil/version.h | 2 +-
 3 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/doc/APIchanges b/doc/APIchanges
index 682b67aa25..b28d702bae 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -15,6 +15,9 @@ libavutil:     2017-10-21
 
 API changes, most recent first:
 
+2019-08-xx - xxxxxxxxxx - lavu 58.34.100 - avframe.h
+  Add AV_FRAME_FLAG_DISPOSABLE
+
 2019-08-xx - xxxxxxxxxx - lavf 58.31.101 - avio.h
   4K limit removed from avio_printf.
 
diff --git a/libavutil/frame.h b/libavutil/frame.h
index 5d3231e7bb..e1bf8795d2 100644
--- a/libavutil/frame.h
+++ b/libavutil/frame.h
@@ -522,6 +522,11 @@ typedef struct AVFrame {
  * A flag to mark the frames which need to be decoded, but shouldn't be output.
  */
 #define AV_FRAME_FLAG_DISCARD   (1 << 2)
+/**
+ * A flag to indicate frames that can be discarded by the encoder. I.e. frames
+ * that are an exact duplicate of the previous one.
+ */
+#define AV_FRAME_FLAG_DISPOSABLE    (1 << 3)
 /**
  * @}
  */
diff --git a/libavutil/version.h b/libavutil/version.h
index ecc6a7c9e2..658a508284 100644
--- a/libavutil/version.h
+++ b/libavutil/version.h
@@ -79,7 +79,7 @@
  */
 
 #define LIBAVUTIL_VERSION_MAJOR  56
-#define LIBAVUTIL_VERSION_MINOR  33
+#define LIBAVUTIL_VERSION_MINOR  34
 #define LIBAVUTIL_VERSION_MICRO 100
 
 #define LIBAVUTIL_VERSION_INT   AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
-- 
2.22.0



More information about the ffmpeg-devel mailing list