[Ffmpeg-devel] FFmpeg Roadmap

Rick Harris rickharris
Thu Feb 2 02:36:08 CET 2006


Hi all,

As a member of this mailing list, I'm a long time reader, first time poster.

I am all in favour of CVS snapshots as releases, as they do provide a historic timeline where
if a bug that is not immediately noticeable, is introduced via newly comitted code,
a developer can easily roll back and asess at which point things started to break.

The only support needed in my opinion is to ensure that the snapshot builds.
IE. Stick with current disclaimer of
"Never ask for help or report bugs if you are using a formal release instead of CVS."

Here is an example where having snapshots comes in handy...

Two areas that crrently require attention are the .MOV parser & framerate detection.
These used to work, but over time have been broken.
The following examples use a .MOV file downloaded from bmwfilms.com (no longer available).
It contains several video & audio streams.

Example using CVS snapshot from 26/02/2005:
ffmpeg -i Hostage_EFE.mov

ffmpeg version 0.4.9-pre1, build 4743, Copyright (c) 2000-2004 Fabrice Bellard
  configuration:  --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --enable-shared-pp --enable-shared --disable-static --enable-mmx --disable-altivec --disable-debug --enable-mp3lame --enable-a52 --disable-a52bin --enable-audio-oss --enable-v4l --enable-dv1394 --enable-dc1394 --enable-pthreads --enable-xvid --enable-ogg --enable-vorbis --enable-dts --enable-network --enable-zlib --enable-ffplay --enable-faad --enable-faac --disable-faadbin --enable-gpl --enable-pp --disable-opts --build=i686-pc-linux-gnu
  built on Feb  2 2006 10:58:12, gcc: 3.4.4 (Gentoo 3.4.4-r1, ssp-3.4.4-1.0, pie-8.7.8)
Input #0, mov,mp4,m4a,3gp,3g2, from 'Hostage_EFE.mov':
  Duration: 00:10:37.3, start: 0.000000, bitrate: 1419 kb/s
  Stream #0.0: Video: svq3, 720x300, 23.98 fps
  Stream #0.1: Audio: mp2, 44100 Hz, stereo
  Stream #0.2: Audio: mp2, 44100 Hz, stereo
  Stream #0.3: Video: svq3, 400x238, 6.00 fps
  Stream #0.4: Video: svq3, 400x238, 6.00 fps
  Stream #0.5: Video: svq3, 400x238, 6.00 fps
  Stream #0.6: Video: svq3, 400x238, 6.00 fps
  Stream #0.7: Video: svq3, 400x238, 6.00 fps
  Stream #0.8: Video: svq3, 400x238, 6.00 fps
Must supply at least one output file


Example using CVS snapshot from 06/09/2005:
ffmpeg -i Hostage_EFE.mov

ffmpeg version CVS, build 3211266, Copyright (c) 2000-2004 Fabrice Bellard
  configuration:  --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --enable-shared-pp --enable-shared --disable-static --enable-mmx --disable-altivec --disable-debug --enable-mp3lame --enable-a52 --disable-a52bin --enable-audio-oss --enable-v4l --enable-dv1394 --enable-dc1394 --enable-pthreads --enable-xvid --enable-libogg --enable-vorbis --enable-theora --enable-dts --enable-network --enable-zlib --enable-ffplay --enable-faad --enable-faac --disable-faadbin --enable-gpl --enable-pp --disable-opts --build=i686-pc-linux-gnu
  built on Feb  2 2006 11:18:53, gcc: 3.4.4 (Gentoo 3.4.4-r1, ssp-3.4.4-1.0, pie-8.7.8)

Seems that stream 0 comes from film source: 23976.00 (23976/1) -> 23.98 (24000/1001)
Input #0, mov,mp4,m4a,3gp,3g2, from 'Hostage_EFE.mov':
  Duration: 00:09:42.3, start: 0.000000, bitrate: 1553 kb/s
  Stream #0.0: Video: svq3, yuv420p, 720x300, 23976.00 fps
  Stream #0.1: Audio: mp2, 44100 Hz, stereo
  Stream #0.2: Audio: mp2, 44100 Hz, stereo
  Stream #0.3: Video: svq3, yuv420p, 400x238, 600.00 fps
  Stream #0.4: Video: svq3, yuv420p, 400x238, 600.00 fps
  Stream #0.5: Video: svq3, yuv420p, 400x238, 600.00 fps
  Stream #0.6: Video: svq3, yuv420p, 400x238, 600.00 fps
  Stream #0.7: Video: svq3, yuv420p, 400x238, 600.00 fps
  Stream #0.8: Video: svq3, yuv420p, 400x238, 600.00 fps
Must supply at least one output file


Example using CVS snapshot from 16/12/2005:
ffmpeg -i Hostage_EFE.mov

ffmpeg version CVS, build 3342336, Copyright (c) 2000-2004 Fabrice Bellard
  configuration:  --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --enable-shared-pp --enable-shared --disable-static --enable-mmx --disable-altivec --disable-debug --enable-mp3lame --enable-a52 --disable-a52bin --enable-audio-oss --enable-v4l --enable-dv1394 --enable-dc1394 --enable-pthreads --enable-xvid --enable-libogg --enable-vorbis --enable-theora --enable-dts --enable-network --enable-zlib --enable-ffplay --enable-faad --enable-faac --disable-faadbin --enable-gpl --enable-pp --disable-opts --build=i686-pc-linux-gnu
  built on Feb  2 2006 11:53:09, gcc: 3.4.4 (Gentoo 3.4.4-r1, ssp-3.4.4-1.0, pie-8.7.8)

Seems that stream 0 comes from film source: 23976.00 (23976/1) -> 23.98 (24000/1001)
Input #0, mov,mp4,m4a,3gp,3g2, from 'Hostage_EFE.mov':
  Duration: 00:09:42.3, start: 0.000000, bitrate: 1553 kb/s
  Stream #0.0, 23.98 fps: Video: svq3, yuv420p, 720x300
  Stream #0.1: Audio: mp2, 44100 Hz, stereo
  Stream #0.2: Audio: mp2, 44100 Hz, stereo
  Stream #0.3, 600.00 fps: Video: svq3, yuv420p, 400x238
  Stream #0.4, 600.00 fps: Video: svq3, yuv420p, 400x238
  Stream #0.5, 600.00 fps: Video: svq3, yuv420p, 400x238
  Stream #0.6, 600.00 fps: Video: svq3, yuv420p, 400x238
  Stream #0.7, 600.00 fps: Video: svq3, yuv420p, 400x238
  Stream #0.8, 600.00 fps: Video: svq3, yuv420p, 400x238
Must supply at least one output file


Example using latest CVS snapshot:
ffmpeg -i Hostage_EFE.mov

FFmpeg version CVS, Copyright (c) 2000-2004 Fabrice Bellard
  configuration:  --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --enable-shared --enable-dc1394 --disable-altivec --disable-debug --enable-a52 --enable-faac --enable-faad --enable-dts --enable-libgsm --enable-mp3lame --enable-libogg --enable-theora --enable-pthreads --enable-vorbis --enable-xvid --enable-gpl --enable-pp --disable-opts
  libavutil version: 49.0.0
  libavcodec version: 51.1.0
  libavformat version: 50.0.0
  built on Feb  2 2006 11:37:56, gcc: 3.4.4 (Gentoo 3.4.4-r1, ssp-3.4.4-1.0, pie-8.7.8)
Hostage_EFE.mov: could not find codec parameters


Aside from the work needed to make it function again, it can be seen from the above info that the snapshot from 26/02/2005 would be a good place to start cross referencing for code added up to 06/09/2005 for framerate detection.
And cross reference the code added between the snapshot from 16/12/2005 and the present with respect to .MOV parsing.
Having CVS snapshots like this would make bug tracking easier in the case of "it used to work, why doesn't it now".


This is just my 2 cents anyway,
Rick





More information about the ffmpeg-devel mailing list