[FFmpeg-cvslog] cbs: Add a table of all supported codec IDs
Mark Thompson
git at videolan.org
Sun Mar 18 19:56:35 EET 2018
ffmpeg | branch: master | Mark Thompson <sw at jkqxz.net> | Sun Mar 11 17:27:15 2018 +0000| [84bb8327f571c4924789413efafde47d96b8b72b] | committer: Mark Thompson
cbs: Add a table of all supported codec IDs
Use it as the set of codec IDs supported by the trace_headers BSF.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=84bb8327f571c4924789413efafde47d96b8b72b
---
configure | 2 +-
libavcodec/cbs.c | 13 +++++++++++++
libavcodec/cbs.h | 8 ++++++++
libavcodec/trace_headers_bsf.c | 9 +--------
4 files changed, 23 insertions(+), 9 deletions(-)
diff --git a/configure b/configure
index f09f48c54b..87430f460f 100755
--- a/configure
+++ b/configure
@@ -2924,7 +2924,7 @@ h264_redundant_pps_bsf_select="cbs_h264"
hevc_metadata_bsf_select="cbs_h265"
mjpeg2jpeg_bsf_select="jpegtables"
mpeg2_metadata_bsf_select="cbs_mpeg2"
-trace_headers_bsf_select="cbs_h264 cbs_h265 cbs_mpeg2"
+trace_headers_bsf_select="cbs"
# external libraries
aac_at_decoder_deps="audiotoolbox"
diff --git a/libavcodec/cbs.c b/libavcodec/cbs.c
index 62f60be437..897e0bb28e 100644
--- a/libavcodec/cbs.c
+++ b/libavcodec/cbs.c
@@ -40,6 +40,19 @@ static const CodedBitstreamType *cbs_type_table[] = {
#endif
};
+const enum AVCodecID ff_cbs_all_codec_ids[] = {
+#if CONFIG_CBS_H264
+ AV_CODEC_ID_H264,
+#endif
+#if CONFIG_CBS_H265
+ AV_CODEC_ID_H265,
+#endif
+#if CONFIG_CBS_MPEG2
+ AV_CODEC_ID_MPEG2VIDEO,
+#endif
+ AV_CODEC_ID_NONE
+};
+
int ff_cbs_init(CodedBitstreamContext **ctx_ptr,
enum AVCodecID codec_id, void *log_ctx)
{
diff --git a/libavcodec/cbs.h b/libavcodec/cbs.h
index 396ff0faec..402eb39e00 100644
--- a/libavcodec/cbs.h
+++ b/libavcodec/cbs.h
@@ -202,6 +202,14 @@ typedef struct CodedBitstreamContext {
/**
+ * Table of all supported codec IDs.
+ *
+ * Terminated by AV_CODEC_ID_NONE.
+ */
+extern const enum AVCodecID ff_cbs_all_codec_ids[];
+
+
+/**
* Create and initialise a new context for the given codec.
*/
int ff_cbs_init(CodedBitstreamContext **ctx,
diff --git a/libavcodec/trace_headers_bsf.c b/libavcodec/trace_headers_bsf.c
index 0697e98943..94a3ef72a2 100644
--- a/libavcodec/trace_headers_bsf.c
+++ b/libavcodec/trace_headers_bsf.c
@@ -107,18 +107,11 @@ static int trace_headers(AVBSFContext *bsf, AVPacket *pkt)
return 0;
}
-static const enum AVCodecID trace_headers_codec_ids[] = {
- AV_CODEC_ID_H264,
- AV_CODEC_ID_HEVC,
- AV_CODEC_ID_MPEG2VIDEO,
- AV_CODEC_ID_NONE,
-};
-
const AVBitStreamFilter ff_trace_headers_bsf = {
.name = "trace_headers",
.priv_data_size = sizeof(TraceHeadersContext),
.init = &trace_headers_init,
.close = &trace_headers_close,
.filter = &trace_headers,
- .codec_ids = trace_headers_codec_ids,
+ .codec_ids = ff_cbs_all_codec_ids,
};
More information about the ffmpeg-cvslog
mailing list