---
doc/APIchanges | 3 +++
libavcodec/avcodec.h | 14 ++++++++++++++
libavcodec/options_table.h | 1 +
3 files changed, 18 insertions(+)
diff --git a/doc/APIchanges b/doc/APIchanges
index 649d35a08..677f5f7f1 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -14,6 +14,9 @@ libavutil: 2017-03-23
API changes, most recent first:
2017-04-xx - xxxxxxx - lavc 58.x+1.0 - avcodec.h
+ Add AVCodecContext.extra_hw_frames.
+
+2017-04-xx - xxxxxxx - lavc 58.x+1.0 - avcodec.h
Add AVHWAccel.device_type and avcodec_probe_hw().
2017-04-xx - xxxxxxx - lavc 58.x.y+1 - avcodec.h
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index 8f7293d02..0a50cd876 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -2724,6 +2724,20 @@ typedef struct AVCodecContext {
* AVCodecContext.get_format callback)
*/
int hwaccel_flags;
+
+ /**
+ * Video decoding only. Sets the number of extra hardware frames which
+ * the decoder will allocate for use by the caller. This is only used
+ * if hw_device_ctx is set.
+ *
+ * Some hardware decoders require all frames that they will use for
+ * output to be defined in advance before decoding starts. For such
+ * decoders, the hardware frame pool must therefore be of a fixed size.
+ * The extra frames set here are on top of any number that the decoder
+ * needs internally in order to operate normally (for example, frames
+ * used as reference pictures).
+ */
+ int extra_hw_frames;
} AVCodecContext;
/**
diff --git a/libavcodec/options_table.h b/libavcodec/options_table.h
index 925ef376f..ce871dccd 100644
--- a/libavcodec/options_table.h
+++ b/libavcodec/options_table.h
@@ -419,6 +419,7 @@ static const AVOption avcodec_options[] = {
{"side_data_only_packets", NULL, OFFSET(side_data_only_packets),
AV_OPT_TYPE_INT, { .i64 = 1 }, 0, 1, A|V|E },
#endif
{"apply_cropping", NULL, OFFSET(apply_cropping), AV_OPT_TYPE_INT, { .i64 = 1
}, 0, 1, V | D },
+{"extra_hw_frames", "Number of extra hardware frames to allocate for the
user", OFFSET(extra_hw_frames), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, V|D
},
{NULL},
};
--
2.11.0
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel