[FFmpeg-devel] [PATCH] matroskaenc: add codec_tag lists back.

Paul B Mahol onemda at gmail.com
Wed Jan 23 10:43:54 CET 2013


On 1/23/13, Michael Niedermayer <michaelni at gmx.at> wrote:
> From: Carl Eugen Hoyos <cehoyos at ag.or.at>
>
> This reverts "Do not set codec_tag property for matroska muxers."
> 	312645e0304cb9bc7c1bdf1bd5bdc736601a00de.
>
> And also adds dummy codec tags for supported but otherwise
> missing codec tags.
>
> Fixes Ticket2169
>
> Patch mixed together by michael from changes authored by carl
>
> Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> ---
>  libavformat/matroskaenc.c |   20 ++++++++++++++++++++
>  1 file changed, 20 insertions(+)
>
> diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
> index 1840f90..dccadb7 100644
> --- a/libavformat/matroskaenc.c
> +++ b/libavformat/matroskaenc.c
> @@ -1353,6 +1353,22 @@ static int mkv_query_codec(enum AVCodecID codec_id,
> int std_compliance)
>      return 0;
>  }
>
> +const AVCodecTag missing_audio_tags[] = {
> +    { CODEC_ID_EAC3,      0XFFFFFFFF },
> +    { CODEC_ID_MLP,       0xFFFFFFFF },
> +    { CODEC_ID_PCM_S16BE, 0xFFFFFFFF },
> +    { CODEC_ID_PCM_S24BE, 0xFFFFFFFF },
> +    { CODEC_ID_PCM_S32BE, 0xFFFFFFFF },
> +    { CODEC_ID_QDM2,      0xFFFFFFFF },
> +    { CODEC_ID_RA_144,    0xFFFFFFFF },
> +    { CODEC_ID_RA_288,    0xFFFFFFFF },
> +    { CODEC_ID_COOK,      0xFFFFFFFF },
> +    { CODEC_ID_TRUEHD,    0xFFFFFFFF },
> +    { CODEC_ID_TTA,       0xFFFFFFFF },
> +    { CODEC_ID_WAVPACK,   0xFFFFFFFF },

I'm not sure about wavpack and tta, their storage in matroska is known
and defined and not hard to implement.
Dunno for others but make sure to check specification because muxing stuff
that only ffmpeg recognise is stupid.

> +    { CODEC_ID_NONE,      0xFFFFFFFF }
> +};
> +
>  #if CONFIG_MATROSKA_MUXER
>  AVOutputFormat ff_matroska_muxer = {
>      .name              = "matroska",
> @@ -1369,6 +1385,9 @@ AVOutputFormat ff_matroska_muxer = {
>      .write_trailer     = mkv_write_trailer,
>      .flags             = AVFMT_GLOBALHEADER | AVFMT_VARIABLE_FPS |
>                           AVFMT_TS_NONSTRICT,
> +    .codec_tag         = (const AVCodecTag* const []){
> +         ff_codec_bmp_tags, ff_codec_wav_tags, missing_audio_tags, 0
> +    },
>      .subtitle_codec    = AV_CODEC_ID_SSA,
>      .query_codec       = mkv_query_codec,
>  };
> @@ -1405,5 +1424,6 @@ AVOutputFormat ff_matroska_audio_muxer = {
>      .write_packet      = mkv_write_packet,
>      .write_trailer     = mkv_write_trailer,
>      .flags             = AVFMT_GLOBALHEADER | AVFMT_TS_NONSTRICT,
> +    .codec_tag         = (const AVCodecTag* const []){ ff_codec_wav_tags, 0
> },
>  };
>  #endif
> --
> 1.7.9.5
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>


More information about the ffmpeg-devel mailing list