diff options
author | Marton Balint <cus@passwd.hu> | 2018-05-18 21:06:17 +0200 |
---|---|---|
committer | Marton Balint <cus@passwd.hu> | 2018-06-08 23:20:27 +0200 |
commit | 183db8a80bba620092b7547c58e7e88721793e0d (patch) | |
tree | 506917888d3d63bbc46fc0bebbaf12f09dcd1886 | |
parent | 9c12938ec504bfaf9e389ea603fe89502e8d1cac (diff) | |
download | ffmpeg-183db8a80bba620092b7547c58e7e88721793e0d.tar.gz |
avformat/mxfdec: use MXFCodecUL struct to store essence description for data_essence_container_uls
Signed-off-by: Marton Balint <cus@passwd.hu>
-rw-r--r-- | libavformat/mxf.h | 1 | ||||
-rw-r--r-- | libavformat/mxfdec.c | 16 |
2 files changed, 5 insertions, 12 deletions
diff --git a/libavformat/mxf.h b/libavformat/mxf.h index ffcc429a8b..19f8d8a9f5 100644 --- a/libavformat/mxf.h +++ b/libavformat/mxf.h @@ -68,6 +68,7 @@ typedef struct MXFCodecUL { UID uid; unsigned matching_len; int id; + const char *desc; } MXFCodecUL; typedef struct { diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c index bd46572e48..1099616174 100644 --- a/libavformat/mxfdec.c +++ b/libavformat/mxfdec.c @@ -1278,14 +1278,10 @@ static const MXFCodecUL mxf_sound_essence_container_uls[] = { }; static const MXFCodecUL mxf_data_essence_container_uls[] = { - { { 0x06,0x0e,0x2b,0x34,0x04,0x01,0x01,0x09,0x0d,0x01,0x03,0x01,0x02,0x0e,0x00,0x00 }, 16, 0 }, + { { 0x06,0x0e,0x2b,0x34,0x04,0x01,0x01,0x09,0x0d,0x01,0x03,0x01,0x02,0x0e,0x00,0x00 }, 16, AV_CODEC_ID_NONE, "vbi_vanc_smpte_436M" }, { { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, 0, AV_CODEC_ID_NONE }, }; -static const char * const mxf_data_essence_descriptor[] = { - "vbi_vanc_smpte_436M", -}; - static int mxf_get_sorted_table_segments(MXFContext *mxf, int *nb_sorted_segments, MXFIndexTableSegment ***sorted_segments) { int i, j, nb_segments = 0; @@ -2354,13 +2350,9 @@ static int mxf_parse_structural_metadata(MXFContext *mxf) st->need_parsing = AVSTREAM_PARSE_FULL; } } else if (st->codecpar->codec_type == AVMEDIA_TYPE_DATA) { - int codec_id = mxf_get_codec_ul(mxf_data_essence_container_uls, - essence_container_ul)->id; - if (codec_id >= 0 && - codec_id < FF_ARRAY_ELEMS(mxf_data_essence_descriptor)) { - av_dict_set(&st->metadata, "data_type", - mxf_data_essence_descriptor[codec_id], 0); - } + container_ul = mxf_get_codec_ul(mxf_data_essence_container_uls, essence_container_ul); + if (container_ul->desc) + av_dict_set(&st->metadata, "data_type", container_ul->desc, 0); } if (descriptor->extradata) { if (!ff_alloc_extradata(st->codecpar, descriptor->extradata_size)) { |