[FFmpeg-devel] [PATCH] Video decoder and demuxer for AMV files
Vitor Sessak
vitor1001
Wed Sep 26 17:47:40 CEST 2007
Hi
Vladimir Voroshilov wrote:
> 2007/9/26, Aurelien Jacobs <aurel at gnuage.org>:
>> On Wed, 26 Sep 2007 17:40:21 +0700
>> "Vladimir Voroshilov" <voroshil at gmail.com> wrote:
>>
>>> 2007/9/25, Vladimir Voroshilov <voroshil at gmail.com>:
>>> [...]
>>>> Fake fourcc code removed.
>>>> I've also changed CODEC_ID_ADPCM_IMA_WS to CODEC_ID_ADPCM_IMA_AMV,
>>>> thus Vitor's patch is required too (his codec provides better sound).
>>> Small nit: AMV files are currently reported as "avi", but strictly
>>> speaking they are broken AVI files.
>>> Thus, i suggest to add separate AVInputFormat structure especially for
>>> AMV files (with apropriate name and comment) and
>>> register it with AVI's config variable (IOW, REGISTER_DEMUXER (AVI, amv))
>> I don't think it's worth. I much prefer your previous patch.
>> Note that you will have to update it (simplify it) according to
>> my recent commit on avidec.c.
>
> Attached file is previous patch, synced with latest svn.
> I suppose it is latest version.
> If separate format will be really required it can be easily
> implemented sometime in the future.
>
>>>> I haven't checked the surrounding code but if stream_index can
>>>> only be 0 or 1, you can replace your whole switch() by:
>>>>
>>>> tag1 = stream_index ? MKTAG('a','u','d','s') : MKTAG('v','i','d','s');
>>> I have no info about streams count, so kept as is
>> I gave a deeper look at the source. My proposition is safe.
>> tag1 will always be video for the first stream and audio for
>> the second stream (and all subsequent stream if they happen
>> to exist).
>
> Ok. Got suggested line.
>
> P.S. Can anybody commit all three AMV patches ? Michael?
I guess Michael is the maintainer for adding new codecs/formats. So
after he review and ok the patches (he will do probably one at a time),
I (or anyone else with commit rights) can commit it.
> ------------------------------------------------------------------------
>
> Index: mplayer/libavformat/avienc.c
> ===================================================================
> --- mplayer/libavformat/avienc.c (revision 10592)
> +++ mplayer/libavformat/avienc.c (working copy)
> @@ -572,4 +572,5 @@
> avi_write_trailer,
> .codec_tag= (const AVCodecTag*[]){codec_bmp_tags, codec_wav_tags, 0},
> };
> +
I guess that shouldn't be there...
[...]
>
> ------------------------------------------------------------------------
The documentation changes are missing (Changelog, doc/ffmpeg-doc.texi).
Also, maybe it would be nice to add a line to libavcodec/Makefile like
OBJS-$(CONFIG_AMVVIDEO_DECODER) += sp5xdec.o mjpegdec.o mjpeg.o
but that should be in the decoder patch, not in the demuxer one...
-Vitor
More information about the ffmpeg-devel
mailing list