Commit 84bb8327 authored by Mark Thompson's avatar 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.
parent 94d42cb4
......@@ -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"
......
......@@ -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)
{
......
......@@ -201,6 +201,14 @@ typedef struct CodedBitstreamContext {
} 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.
*/
......
......@@ -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,
};
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment