Re: [FFmpeg-devel] [PATCH 1/6] avformat/mxfdec: use MXFCodecUL struct to store essence description for data_essence_container_uls

2018-06-05 Thread Marton Balint



On Tue, 5 Jun 2018, Tomas Härdin wrote:


tor 2018-05-31 klockan 02:05 +0200 skrev Marton Balint:

Signed-off-by: Marton Balint 

---
 libavformat/mxf.h|  1 +
 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;


Is "id" really needed now?


Yes, there are other tables which are also using the MXFCodecUL struct.

Regards,
Marton
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH 1/6] avformat/mxfdec: use MXFCodecUL struct to store essence description for data_essence_container_uls

2018-06-05 Thread Tomas Härdin
tor 2018-05-31 klockan 02:05 +0200 skrev Marton Balint:
> > Signed-off-by: Marton Balint 
> ---
>  libavformat/mxf.h|  1 +
>  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;

Is "id" really needed now?

> +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(>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(>metadata, "data_type", container_ul->desc, 
> 0);
>  }
>  if (descriptor->extradata) {
>  if (!ff_alloc_extradata(st->codecpar, 
> descriptor->extradata_size)) {

Else it looks good

/Tomas
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] [PATCH 1/6] avformat/mxfdec: use MXFCodecUL struct to store essence description for data_essence_container_uls

2018-05-30 Thread Marton Balint
Signed-off-by: Marton Balint 
---
 libavformat/mxf.h|  1 +
 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(>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(>metadata, "data_type", container_ul->desc, 0);
 }
 if (descriptor->extradata) {
 if (!ff_alloc_extradata(st->codecpar, descriptor->extradata_size)) 
{
-- 
2.16.3

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel