[Mplayer-dev-eng] VP3 Codec

Felix Buenemann atmosfear at users.sourceforge.net
Fri Sep 21 17:44:34 CEST 2001


On Friday, 21. September 2001 12:33, Arpi wrote:
> Hi,
>
> > a friend just mailed me about the VP3 codec, which seems to be the
> > predecessor of On2's TrueMotion codec and whose source is freely
> > available.
> >
> > It claims to be one of the most effective video codecs available.
> >
> > More info @ http://www.vp3.com/
>
> Hmm. Just downloaded the source, it is plain c. it has som elinux subdirs
> too!
>
> > Is it worth implementing into MPlayer?
>
> dunno. you should make some quality tests, or ask gabucino ;)
>
Quality seems quite ok, blurrier then divx but ok, I've encoded a sample clip 
from 1400kbits SBC DivX sample.
> did you tried the vfw dll? maybe it works with dll loader.
loads ok with RGB and YUY2 but gives sig11 on playback start, here is the not 
to usable gdb session (seems to crash in codec, as theres no debug info):

(gdb) run /download/samples/blow-sample-vp3-2.avi -v
Starting program: /home/atmosfear/develop/mplayer/main/mplayer 
/download/samples/blow-sample-vp3-2.avi -v
[New Thread 1024 (LWP 8565)]


MPlayer CVS-010921-17:32(C) 2000-2001 Arpad Gereoffy (see DOCS/AUTHORS)

CommandLine: '/download/samples/blow-sample-vp3-2.avi' '-v'
num_filenames: 1
Reading /home/atmosfear/.mplayer/codecs.conf: 16 audio & 38 video codecs
Font /home/atmosfear/.mplayer/font/font.desc loaded successfully! (138 chars)
Playing /download/samples/blow-sample-vp3-2.avi
File size is 11016192 bytes
Detected AVI file format!
======= AVI Header =======
us/frame: 41708  (fps=23.976)
max bytes/sec: 0
padding: 0
MainAVIHeader.dwFlags: (272) HAS_INDEX IS_INTERLEAVED
frames  total: 1477   initial: 0
streams: 2
Suggested BufferSize: 0
Size:  640 x 272
==> Found video stream: 0
======= STREAM Header =======
Type: vids   FCC: vp31 (31337076)
Flags: 0
Priority: 0   Language: 0
InitialFrames: 0
Rate: 23976023/1000000 = 23.976
Start: 0   Len: 1477
Suggested BufferSize: 35808
Quality 10000
Sample size: 0
found 'bih', 40 bytes of 40
======= VIDEO Format ======
  biSize 40
  biWidth 640
  biHeight 272
  biPlanes 1
  biBitCount 24
  biCompression 825446486='VP31'
  biSizeImage 356352
===========================
==> Found audio stream: 1
======= STREAM Header =======
Type: auds   FCC:  (0)
Flags: 0
Priority: 0   Language: 0
InitialFrames: 1
Rate: 48000/1152 = 41.667
Start: 0   Len: 2457
Suggested BufferSize: 672
Quality -1
Sample size: 0
found 'wf', 30 bytes of 20
======= WAVE Format =======
Format Tag: 85 (0x55)
Channels: 2
Samplerate: 48000
avg byte/sec: 18267
Block align: 1152
bits/sample: 0
cbSize: 12
Software  : Nandub v1.0rc2
Name      : Blow Sample Clip
Title     : Blow Sample Clip
Author    : AEN Crew
Copyright :
Comment   : Recompressed to VP3 and remultiplexed by Atmosfear using 
VirtualDub/Nandub.
Found movie at 0x280C - 0xA72062
Reading INDEX block, 3934 chunks for 1477 frames
AVI index offset: 10248
Auto-selected AVI audio ID = 1
Auto-selected AVI video ID = 0
AVI: Searching for audio stream (id:1)
AVI video length=10908621
VIDEO:  [VP31]  640x272  24bpp  23.98 fps  1416.6 kbps (172.9 kbyte/s)
[V] filefmt:3  fourcc:0x31335056  size:640x272  fps:23.98  ftime:=0.0417
Detected audio codec: [mp3] drv:1 (MPEG layer-2, layer-3)
Initializing audio codec...
dec_audio: Allocating 4608 + 65536 = 70144 bytes for output buffer
mp3lib: Processor ID: 686
mp3lib: Using SSE! optimized decore.
AUDIO: srate=48000  chans=2  bps=2  sfmt=0x10  ratio: 20000->192000
Detected video codec: [vp3] drv:2 (On2 VP3-Codec (former TrueMotion))
======= Win32 (VFW) VIDEO Codec init =======
Loading DLL: /usr/lib/win32/vp31vfw.dll  OK
ICDecompressGetFormat OK
Starting decompression, format:
  biSize 40
  biWidth 640
  biHeight 272
  biPlanes 1
  biBitCount 24
  biCompression 0x31335056 ('VP31')
  biSizeImage 356352
Dest fmt:
  biSize 40
  biWidth 640
  biHeight -272
  biPlanes 1
  biBitCount 16
  biCompression 0x32595559 ('YUY2')
  biSizeImage 348160
ICDecompressQuery OK
VIDEO CODEC Init OK!!! ;-)
INFO: Win32 video codec init OK!
VO: [xv] 640x272 => 640x272 Packed YUY2
VO: Description: X11/Xv
VO: Author: Gerd Knorr <kraxel at goldbach.in-berlin.de>
video_out->init(640x272->640x272,flags=0,'MPlayer',0x32595559)
vo: X11 color mask:  FFFF  (R:F800 G:7E0 B:1F)
vo: X11 running at 1024x768 with depth 16 and 16 bits/pixel (":0" => local 
display)
Xvideo image format: 0x32595559 (YUY2) packed
Xvideo image format: 0x32315659 (YV12) planar
Xvideo image format: 0x30323449 (I420) planar
Xvideo image format: 0x36315652 (RV16) packed
Xvideo image format: 0x35315652 (RV15) packed
Xvideo image format: 0x31313259 (Y211) packed
Xvideo image format: 0x0 (    ) packed
using Xvideo port 41 for hw scaling
[xv] dcx: 0 dcy: 0 dx: 0 dy: 0 dw: 640 dh: 272
INFO: Video OUT driver init OK!
AO: [oss] 48000Hz Stereo Signed 16-bit (Little-Endian)
AO: Description: OSS/ioctl audio output
AO: Author: A'rpi
audio_setup: using '/dev/dsp' dsp device
audio_setup: sample format: Signed 16-bit (Little-Endian) (requested: Signed 
16-bit (Little-Endian))
audio_setup: using 48000 Hz samplerate (requested: 48000)
audio_setup: frags:   8/8  (8192 bytes/frag)  free:  65536
Start playing...

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 8565)]
0x10004bd6 in ?? ()
(gdb) bt
#0  0x10004bd6 in ?? ()
#1  0x1000a5fa in ?? ()
(gdb) run /download/samples/blow-sample-vp3-2.avi -v -v -v -v
The program being debugged has been started already.
Start it from the beginning? (y or n) n
Program not restarted.
(gdb) p $eip-32 $eip+32
A parse error in expression, near `+32'.
(gdb) disass $eip-32 $eip+32
Dump of assembler code from 0x10004bb6 to 0x10004bf6:
0x10004bb6:     je     0x10004bc6
0x10004bb8:     mov    $0xc,%eax
0x10004bbd:     pop    %esi
0x10004bbe:     ret
0x10004bbf:     mov    $0x3,%eax
0x10004bc4:     pop    %esi
0x10004bc5:     ret
0x10004bc6:     mov    %esi,%eax
0x10004bc8:     pop    %esi
0x10004bc9:     ret
0x10004bca:     nop
0x10004bcb:     nop
0x10004bcc:     nop
0x10004bcd:     nop
0x10004bce:     nop
0x10004bcf:     nop
0x10004bd0:     push   %esi
0x10004bd1:     push   %edi
0x10004bd2:     push   %ebp
0x10004bd3:     push   %ebx
0x10004bd4:     push   %ecx
0x10004bd5:     push   %edx
0x10004bd6:     mov    %cr0,%edx
0x10004bd9:     bt     $0x2,%edx
0x10004bdd:     jb     0x10004bef
0x10004bdf:     mov    %cr4,%edx
0x10004be2:     bt     $0x9,%edx
0x10004be6:     jae    0x10004bef
0x10004be8:     mov    $0x1,%eax
0x10004bed:     jmp    0x10004bef
0x10004bef:     pop    %edx
0x10004bf0:     pop    %ecx
0x10004bf1:     pop    %ebx
0x10004bf2:     pop    %ebp
0x10004bf3:     pop    %edi
0x10004bf4:     pop    %esi
0x10004bf5:     ret
End of assembler dump.
(gdb)
>
>
> A'rpi / Astral & ESP-team

-- 
Best Regards,
	Atmos

_____
640K are ought to be enough.
	- Bill Gates



More information about the MPlayer-dev-eng mailing list