[MPlayer-dev-eng] [PATCH] Realplayer codec support

Arpi arpi at thot.banki.hu
Fri Jun 7 23:55:20 CEST 2002


Hi,

> but after about 50 times re-reading this, i think i found the purpose of
> this hack. this is just a table (pair of dwords) of sub-blocks (offset + size),
> and this routine is called to fill up bit-buffers (or its pointers). this
> explains those 8* multiplications before comparing start/end (bit)position

yep, i got it!!!!! mplayer plays rv30 video!

let's see the real stuff:

transin1[pointer_to_transin1]: {subpackets-1/totallength} x0/x1 x2/x3 x4/x5 ...
(printed only first 2*subpackets of x values)

transin1[0x841ec78]: {0/90}  0x1(0)
transin1[0x841ecb0]: {2/1466}  0x1(0) 0x1(598) 0x1(1174)
transin1[0x84207e0]: {0/67}  0x1(0)
transin1[0x8421068]: {0/204}  0x1(0)
transin1[0x81e5e28]: {0/347}  0x1(0)
transin1[0x81e5e78]: {0/286}  0x1(0)
transin1[0x81e5ec8]: {0/324}  0x1(0)
transin1[0x81e5f18]: {0/339}  0x1(0)
transin1[0x81e60b8]: {0/224}  0x1(0)
transin1[0x81e6b28]: {1/719}  0x1(0) 0x1(600)
transin1[0x81e5f68]: {0/360}  0x1(0)
transin1[0x81e6058]: {0/228}  0x1(0)
transin1[0x8420080]: {0/474}  0x1(0)
transin1[0x81e63c8]: {0/318}  0x1(0)
transin1[0x81e6418]: {0/343}  0x1(0)
transin1[0x81e64b8]: {0/298}  0x1(0)
transin1[0x81e6558]: {1/637}  0x1(0) 0x1(598)
transin1[0x81e6c58]: {0/241}  0x1(0)
transin1[0x81e65a8]: {0/356}  0x1(0)
transin1[0x81e6d48]: {0/391}  0x1(0)
transin1[0x81e6648]: {0/158}  0x1(0)
transin1[0x841ff38]: {0/491}  0x1(0)
...

so, the first value of the long pairs is always 0x1, teh second one is the
offset of sub-packet in the assembled packet (always 0 for the first)

and it DOES WORK with mplayer! ;)

i won't commit yet, it needs "some" cleanup...
and i want to move that sub-packet "demuxer" to the codec, where it belongs to


A'rpi / Astral & ESP-team

--
Developer of MPlayer, the Movie Player for Linux - http://www.MPlayerHQ.hu



More information about the MPlayer-dev-eng mailing list