[FFmpeg-devel] [RFC]rv20 should be experimental

compn tempn
Fri Sep 10 14:07:33 CEST 2010


On Fri, 10 Sep 2010 00:24:15 +0200, Michael Niedermayer wrote:
>On Fri, Sep 10, 2010 at 12:21:57AM +0200, Michael Niedermayer wrote:
>> On Thu, Sep 09, 2010 at 10:53:42PM +0200, Carl Eugen Hoyos wrote:
>> > Hi!
>> > 
>> > I wanted to suggest attached patch since ffrv20-encoded videos cannot be 
>> > decoded without artefacts with Real codecs, but I wasn't able to actually use 
>> 
>> was that always the case? or is it a problem that appeared at some ffmpeg
>> revission or a real player revission?
>
>also do videos that are stream copied from working rv20 work?
>aka does our muxer work ?

not according to my tests.

http://samples.mplayerhq.hu/real/VC-RV20/Dolby7.5fps1.rm

F:\mplayer-test>ffmpeg -acodec copy -vcodec copy -t 5 -i Dolby7.5fps1.rm out.rm
FFmpeg version SVN-r25094, Copyright (c) 2000-2010 the FFmpeg developers
  built on Sep 10 2010 04:14:15 with gcc 4.4.2
  configuration: --enable-gpl --enable-version3 --enable-libgsm --enable-pthreads --enable-libvorbi
s --enable-libtheora --enable-libspeex --enable-libmp3lame --enable-libopenjpeg --enable-libschroed
inger --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-libvpx --arch=x86 --enable-run
time-cpudetect --enable-libxvid --enable-libx264 --extra-libs='-lx264 -lpthread' --enable-librtmp -
-extra-libs='-lrtmp -lpolarssl -lws2_32 -lwinmm' --target-os=mingw32 --enable-avisynth --cross-pref
ix=i686-mingw32- --cc='ccache i686-mingw32-gcc' --enable-memalign-hack
  libavutil     50.26. 0 / 50.26. 0
  libavcore      0. 9. 0 /  0. 9. 0
  libavcodec    52.88. 0 / 52.88. 0
  libavformat   52.78. 4 / 52.78. 4
  libavdevice   52. 2. 2 / 52. 2. 2
  libavfilter    1.38. 3 /  1.38. 3
  libswscale     0.11. 0 /  0.11. 0
[rm @ 01c2cd80] max_analyze_duration reached
Input #0, rm, from 'Dolby7.5fps1.rm':
  Metadata:
    title           : Blinded By Science
    author          : Thomas Dolby
    copyright       : ?2002 Aestheti.com
    comment         :
  Duration: 00:00:42.35, start: 0.000000, bitrate: 80 kb/s
    Stream #0.0: Audio: cook, 22050 Hz, mono, s16, 16 kb/s
    Stream #0.1: Video: rv20, yuv420p, 128x96, 63 kb/s, 12.05 fps, 12 tbr, 1k tbn, 12 tbc
File 'out.rm' already exists. Overwrite ? [y/N] y
Output #0, rm, to 'out.rm':
  Metadata:
    encoder         : Lavf52.78.4
    Stream #0.0: Video: rv20, yuv420p, 128x96, q=2-31, 63 kb/s, 90k tbn, 12 tbc
    Stream #0.1: Audio: cook / 0x6B6F6F63, 22050 Hz, mono, 16 kb/s
Stream mapping:
  Stream #0.1 -> #0.0
  Stream #0.0 -> #0.1
Press [q] to stop encoding
frame=   26 fps=  0 q=-1.0 Lsize=      39kB time=5.01 bitrate=  64.6kbits/s
video:26kB audio:10kB global headers:0kB muxing overhead 9.384553%

F:\mplayer-test>mplayer out.rm
MPlayer Sherpya-SVN-r31372-4.2.5 (C) 2000-2010 MPlayer Team
158 audio & 355 video codecs
Fontconfig error: Cannot load default config file

Playing out.rm.
REAL file format detected.
Stream description: The Video Stream
Stream mimetype: video/x-pn-realvideo
[real] Video stream found, -vid 0
Stream description: The Audio Stream
Stream mimetype: audio/x-pn-realaudio
[real] Audio stream found, -aid 1
VIDEO:  [RV20]  128x96  24bpp  12.000 fps    0.0 kbps ( 0.0 kbyte/s)
Opening video filter: [scale]
Opening video filter: [eq]
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffrv20] vfm: ffmpeg (FFmpeg RV20)
==========================================================================
==========================================================================
Trying to force audio codec driver family ffmpeg...
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
[cook @ 01055b54]Necessary extradata missing!
Could not open codec.
ADecoder init failed :(
ADecoder init failed :(
Opening audio decoder: [realaud] RealAudio decoder
Error loading dll
ERROR: Could not open required DirectShow codec cook.so.
Read the RealAudio section of the DOCS!
ADecoder preinit failed :(
ADecoder init failed :(
Opening audio decoder: [realaud] RealAudio decoder
Error loading dll
ERROR: Could not open required DirectShow codec cook.so.6.0.
Read the RealAudio section of the DOCS!
ADecoder preinit failed :(
ADecoder init failed :(
Opening audio decoder: [realaud] RealAudio decoder
Error loading dll
ERROR: Could not open required DirectShow codec cook.dll.
Read the RealAudio section of the DOCS!
ADecoder preinit failed :(
ADecoder init failed :(
Opening audio decoder: [realaud] RealAudio decoder
Decoder init failed, error code: 0x80040005
ADecoder preinit failed :(
ADecoder init failed :(
Opening audio decoder: [realaud] RealAudio decoder
Error loading dll
ERROR: Could not open required DirectShow codec cook.bundle/Contents/MacOS/cook.
Read the RealAudio section of the DOCS!
ADecoder preinit failed :(
ADecoder init failed :(
Cannot find codec for audio format 0x6B6F6F63.
Audio: no sound
Starting playback...
[rv20 @ 01055b54]error, qscale:0
[rv20 @ 01055b54]HEADER ERROR
Movie-Aspect is undefined - no prescaling applied.
[swscaler @ 0115caf4]using unscaled yuv420p -> yuv420p special converter
VO: [directx] 128x96 => 128x96 Planar YV12
[rv20 @ 01055b54]I cbpc damaged at 0 0
[rv20 @ 01055b54]ERROR at MB 0 0
[rv20 @ 01055b54]concealing 48 DC, 48 AC, 48 MV errors
[rv20 @ 01055b54]I cbpc damaged at 0 0
[rv20 @ 01055b54]ERROR at MB 0 0
[rv20 @ 01055b54]concealing 48 DC, 48 AC, 48 MV errors
[rv20 @ 01055b54]I cbpc damaged at 0 0
[rv20 @ 01055b54]ERROR at MB 0 0
[rv20 @ 01055b54]concealing 48 DC, 48 AC, 48 MV errors
[rv20 @ 01055b54]I cbpc damaged at 0 0
[rv20 @ 01055b54]ERROR at MB 0 0
[rv20 @ 01055b54]concealing 48 DC, 48 AC, 48 MV errors
[rv20 @ 01055b54]I cbpc damaged at 0 0
[rv20 @ 01055b54]ERROR at MB 0 0
[rv20 @ 01055b54]concealing 48 DC, 48 AC, 48 MV errors
[rv20 @ 01055b54]I cbpc damaged at 0 0
[rv20 @ 01055b54]ERROR at MB 0 0
[rv20 @ 01055b54]concealing 48 DC, 48 AC, 48 MV errors
[rv20 @ 01055b54]I cbpc damaged at 0 0
[rv20 @ 01055b54]ERROR at MB 0 0
[rv20 @ 01055b54]concealing 48 DC, 48 AC, 48 MV errors
[rv20 @ 01055b54]I cbpc damaged at 0 0
[rv20 @ 01055b54]ERROR at MB 0 0
[rv20 @ 01055b54]concealing 48 DC, 48 AC, 48 MV errors
[rv20 @ 01055b54]I cbpc damaged at 0 0
[rv20 @ 01055b54]ERROR at MB 0 0
[rv20 @ 01055b54]concealing 48 DC, 48 AC, 48 MV errors
[rv20 @ 01055b54]I cbpc damaged at 0 0
[rv20 @ 01055b54]ERROR at MB 0 0
[rv20 @ 01055b54]concealing 48 DC, 48 AC, 48 MV errors
[rv20 @ 01055b54]I cbpc damaged at 0 0
[rv20 @ 01055b54]ERROR at MB 0 0
[rv20 @ 01055b54]concealing 48 DC, 48 AC, 48 MV errors
[rv20 @ 01055b54]I cbpc damaged at 0 0
[rv20 @ 01055b54]ERROR at MB 0 0
[rv20 @ 01055b54]concealing 48 DC, 48 AC, 48 MV errors
[rv20 @ 01055b54]I cbpc damaged at 0 0
[rv20 @ 01055b54]ERROR at MB 0 0
[rv20 @ 01055b54]concealing 48 DC, 48 AC, 48 MV errors
[rv20 @ 01055b54]I cbpc damaged at 0 0
[rv20 @ 01055b54]ERROR at MB 0 0
[rv20 @ 01055b54]concealing 48 DC, 48 AC, 48 MV errors
[rv20 @ 01055b54]I cbpc damaged at 0 0
[rv20 @ 01055b54]ERROR at MB 0 0
[rv20 @ 01055b54]concealing 48 DC, 48 AC, 48 MV errors
[rv20 @ 01055b54]I cbpc damaged at 0 0
[rv20 @ 01055b54]ERROR at MB 0 0
[rv20 @ 01055b54]concealing 48 DC, 48 AC, 48 MV errors
[rv20 @ 01055b54]I cbpc damaged at 0 0
[rv20 @ 01055b54]ERROR at MB 0 0
[rv20 @ 01055b54]concealing 48 DC, 48 AC, 48 MV errors
[rv20 @ 01055b54]I cbpc damaged at 0 0
[rv20 @ 01055b54]ERROR at MB 0 0
V:   1.5  19/ 19  4%  0%  0.0% 0 0

F:\mplayer-test>mplayer out.rm -demuxer lavf
MPlayer Sherpya-SVN-r31372-4.2.5 (C) 2000-2010 MPlayer Team
158 audio & 355 video codecs
Fontconfig error: Cannot load default config file

Playing out.rm.
libavformat file format detected.
[rm @ 02530050]sub_packet_size is invalid
LAVF_header: av_open_input_stream() failed


Exiting... (End of file)

F:\mplayer-test>ffprobe out.rm
FFprobe version SVN-r25094, Copyright (c) 2007-2010 the FFmpeg developers
  built on Sep 10 2010 04:14:15 with gcc 4.4.2
  configuration: --enable-gpl --enable-version3 --enable-libgsm --enable-pthreads --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libmp3lame --enable-libopenjpeg --enable-libschroedinger --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-libvpx --arch=x86 --enable-runtime-cpudetect --enable-libxvid --enable-libx264 --extra-libs='-lx264 -lpthread' --enable-librtmp --extra-libs='-lrtmp -lpolarssl -lws2_32 -lwinmm' --target-os=mingw32 --enable-avisynth --cross-prefix=i686-mingw32- --cc='ccache i686-mingw32-gcc' --enable-memalign-hack
  libavutil     50.26. 0 / 50.26. 0
  libavcore      0. 9. 0 /  0. 9. 0
  libavcodec    52.88. 0 / 52.88. 0
  libavformat   52.78. 4 / 52.78. 4
  libavdevice   52. 2. 2 / 52. 2. 2
  libavfilter    1.38. 3 /  1.38. 3
  libswscale     0.11. 0 /  0.11. 0
[rm @ 01c18070] sub_packet_size is invalid
out.rm: Operation not permitted

urgh , tried this file:
http://samples.mplayerhq.hu/real/VC-RV20/circuitnomusume.rm

which gives non-monotone timestamp error:
E:\mplayer-testclips>ffmpeg -acodec copy -vcodec copy -t 5 -i circuitnomusume.rm test.rm
FFmpeg version SVN-r25094, Copyright (c) 2000-2010 the FFmpeg developers
  built on Sep 10 2010 04:14:15 with gcc 4.4.2
  configuration: --enable-gpl --enable-version3 --enable-libgsm --enable-pthreads --enable-libvorbi
s --enable-libtheora --enable-libspeex --enable-libmp3lame --enable-libopenjpeg --enable-libschroed
inger --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-libvpx --arch=x86 --enable-run
time-cpudetect --enable-libxvid --enable-libx264 --extra-libs='-lx264 -lpthread' --enable-librtmp -
-extra-libs='-lrtmp -lpolarssl -lws2_32 -lwinmm' --target-os=mingw32 --enable-avisynth --cross-pref
ix=i686-mingw32- --cc='ccache i686-mingw32-gcc' --enable-memalign-hack
  libavutil     50.26. 0 / 50.26. 0
  libavcore      0. 9. 0 /  0. 9. 0
  libavcodec    52.88. 0 / 52.88. 0
  libavformat   52.78. 4 / 52.78. 4
  libavdevice   52. 2. 2 / 52. 2. 2
  libavfilter    1.38. 3 /  1.38. 3
  libswscale     0.11. 0 /  0.11. 0
[NULL @ 01c51610] Unsupported video codec
[rm @ 01c2cd70] max_analyze_duration reached
Input #0, rm, from 'circuitnomusume.rm':
  Metadata:
    title           : PUFFY - Cicuit no Musume
    author          : TruNks Z J-Fan Page?2001
    copyright       : Epic Records
    comment         :
  Duration: 00:03:20.24, start: 0.000000, bitrate: 152 kb/s
    Stream #0.0: Audio: cook, 44100 Hz, mono, s16, 32 kb/s
    Stream #0.1: Video: rv20, yuv420p, 160x120, 117 kb/s, 12.05 fps, 12 tbr, 1k tbn, 12 tbc
    Stream #0.2: Data: [0][0][0][0] / 0x0000
Output #0, rm, to 'test.rm':
  Metadata:
    encoder         : Lavf52.78.4
    Stream #0.0: Video: rv20, yuv420p, 160x120, q=2-31, 117 kb/s, 90k tbn, 12 tbc
    Stream #0.1: Audio: cook / 0x6B6F6F63, 44100 Hz, mono, 32 kb/s
Stream mapping:
  Stream #0.1 -> #0.0
  Stream #0.0 -> #0.1
Press [q] to stop encoding
[rm @ 01c6abd0] st:0 error, non monotone timestamps 85530 >= 84060
av_interleaved_write_frame(): Operation not permitted


test without audio:

E:\mplayer-testclips>ffmpeg -an -vcodec copy -i RVTR-behere-ivideo_motor-cross_interview_final-56kbps.rm out.rm
FFmpeg version SVN-r25094, Copyright (c) 2000-2010 the FFmpeg developers
  built on Sep 10 2010 04:14:15 with gcc 4.4.2
  configuration: --enable-gpl --enable-version3 --enable-libgsm --enable-pthreads --enable-libvorbi
s --enable-libtheora --enable-libspeex --enable-libmp3lame --enable-libopenjpeg --enable-libschroed
inger --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-libvpx --arch=x86 --enable-run
time-cpudetect --enable-libxvid --enable-libx264 --extra-libs='-lx264 -lpthread' --enable-librtmp -
-extra-libs='-lrtmp -lpolarssl -lws2_32 -lwinmm' --target-os=mingw32 --enable-avisynth --cross-pref
ix=i686-mingw32- --cc='ccache i686-mingw32-gcc' --enable-memalign-hack
  libavutil     50.26. 0 / 50.26. 0
  libavcore      0. 9. 0 /  0. 9. 0
  libavcodec    52.88. 0 / 52.88. 0
  libavformat   52.78. 4 / 52.78. 4
  libavdevice   52. 2. 2 / 52. 2. 2
  libavfilter    1.38. 3 /  1.38. 3
  libswscale     0.11. 0 /  0.11. 0
[rm @ 01c2cd70] max_analyze_duration reached
Input #0, rm, from 'RVTR-behere-ivideo_motor-cross_interview_final-56kbps.rm':
  Metadata:
    title           : Motor Cross Design Interview
    author          : EXPN and Be Here Corporation
    copyright       : ?2000 Be Here Corporation
    comment         :
  Duration: 00:05:06.88, start: 0.000000, bitrate: 50 kb/s
    Stream #0.0: Audio: sipr, 8000 Hz, 1 channels, flt, 6 kb/s
    Stream #0.1: Video: rv20, yuv420p, 768x192, 41 kb/s, 12.05 fps, 12 tbr, 1k tbn, 12 tbc
File 'out.rm' already exists. Overwrite ? [y/N] y
Output #0, rm, to 'out.rm':
  Metadata:
    encoder         : Lavf52.78.4
    Stream #0.0: Video: rv20, yuv420p, 768x192, q=2-31, 41 kb/s, 90k tbn, 12 tbc
Stream mapping:
  Stream #0.1 -> #0.0
Press [q] to stop encoding
frame= 1509 fps=  0 q=-1.0 Lsize=    1553kB time=306.62 bitrate=  41.5kbits/s
video:1525kB audio:0kB global headers:0kB muxing overhead 1.855992%

E:\mplayer-testclips>ffplay out.rm
FFplay version SVN-r25094, Copyright (c) 2003-2010 the FFmpeg developers
  built on Sep 10 2010 04:14:15 with gcc 4.4.2
  configuration: --enable-gpl --enable-version3 --enable-libgsm --enable-pthreads --enable-libvorbi
s --enable-libtheora --enable-libspeex --enable-libmp3lame --enable-libopenjpeg --enable-libschroed
inger --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-libvpx --arch=x86 --enable-run
time-cpudetect --enable-libxvid --enable-libx264 --extra-libs='-lx264 -lpthread' --enable-librtmp -
-extra-libs='-lrtmp -lpolarssl -lws2_32 -lwinmm' --target-os=mingw32 --enable-avisynth --cross-pref
ix=i686-mingw32- --cc='ccache i686-mingw32-gcc' --enable-memalign-hack
  libavutil     50.26. 0 / 50.26. 0
  libavcore      0. 9. 0 /  0. 9. 0
  libavcodec    52.88. 0 / 52.88. 0
  libavformat   52.78. 4 / 52.78. 4
  libavdevice   52. 2. 2 / 52. 2. 2
  libavfilter    1.38. 3 /  1.38. 3
  libswscale     0.11. 0 /  0.11. 0
Input #0, rm, from 'out.rm':
  Metadata:
    title           :
    author          :
    copyright       :
    comment         :
  Duration: 00:02:05.75, start: 0.000000, bitrate: 101 kb/s
    Stream #0.0: Video: rv20, yuv420p, 768x192, 41 kb/s, 12 tbr, 1k tbn, 12 tbc
[rv20 @ 01c88940] unknown bit set
[rv20 @ 01c88940] HEADER ERROR
[rv20 @ 01c88940] I cbpc damaged at 0 00KB vq=    7KB sq=    0B f=0/0
[rv20 @ 01c88940] ERROR at MB 0 0
[rv20 @ 01c88940] concealing 576 DC, 576 AC, 576 MV errors
[rv20 @ 01c88940] I cbpc damaged at 0 0
[rv20 @ 01c88940] ERROR at MB 0 0
[rv20 @ 01c88940] concealing 576 DC, 576 AC, 576 MV errors
[rv20 @ 01c88940] I cbpc damaged at 0 0



More information about the ffmpeg-devel mailing list