[FFmpeg-cvslog] matroska: switch stereo mode from int to string and add support in the demuxer too

Reimar Döffinger Reimar.Doeffinger at gmx.de
Sat May 21 18:20:42 CEST 2011


Sorry for being late, but:

On Sat, May 21, 2011 at 05:25:13PM +0200, Kirill Gavrilov wrote:
> @@ -1475,6 +1512,86 @@ static int matroska_read_header(AVFormatContext *s, AVFormatParameters *ap)
>              st->need_parsing = AVSTREAM_PARSE_HEADERS;
>              if (track->default_duration)
>                  st->avg_frame_rate = av_d2q(1000000000.0/track->default_duration, INT_MAX);
> +
> +            /* restore stereo mode flag as metadata tag */
> +            switch (track->video.stereoMode) {
[...]
> +                case MATROSKA_VIDEO_STEREOMODE_MONO:
> +                default:
> +                    /**av_metadata_set2(&st->metadata, "STEREO_MODE", "mono", 0);*/
> +                    break;


> +                if ((tag = av_metadata_get(st->metadata, "STEREO_MODE", NULL, 0)) ||
> +                    (tag = av_metadata_get( s->metadata, "STEREO_MODE", NULL, 0))) {
[...]
> +                    } else if (!strcmp(tag->value, "block_rl")) {
> +                        stereo_fmt = MATROSKA_VIDEO_STEREOMODE_BOTH_EYES_BLOCK_RL;
> +                    }

The default case above and the else case here IMO should print a warning
message.
Particularly since it seems to me otherwise a mistyped stereo mode name
would be silently ignored.
It probably should also print a list of supported modes in the later
case.


More information about the ffmpeg-cvslog mailing list