[MPlayer-dev-eng] [BUG] concerning reference-files (was: [PATCH] 0 bit rle)

Fabian Franz FabianFranz at gmx.de
Mon Jan 27 21:39:12 CET 2003


Am Sonntag, 26. Januar 2003 23:11 schrieb Roberto Togni:
> On 2003.01.26 22:47 Arpi wrote:
> > Hi,
> >
> > > > > This patch solves the 0-bit rle problem.
> > > > > 32 bit is a valid depth, and means rgb + alpha channel.
> > >
> > > [...]
> > > I also implemented 32 bit rle decoder. It works with the 32x2 movie
> > >
> > :),
> > :
> > > but i don't have any other sample to test it (files on mphq are 24
> >
> > bit
> >
> > > or less).
> >
> > no.
> > *** FYI: This Quicktime file is using 0-bit RLE Animation
> > printed for:
> > ftp/MPlayer/samples/V-codecs/QTRLE/Hole_Dollparts_MSTR.mov
> > ftp/MPlayer/samples/V-codecs/QTRLE/Jag-finder-renaming.mov
>
> [...]
> Jag... looks ok (i'll compare with qt as soon as i boot win), the other
> one is detected as a reference file and does nothing.
>
> ----------------------
>
> Using GNU internationalization
> Original domain: messages
> Original dirname: /usr/share/locale
> Current domain: mplayer
> Current dirname: /usr/local/share/locale
>
>
> MPlayer CVS-030126-13:16-2.95.4 (C) 2000-2003 Arpad Gereoffy (vedi
> DOCS!)
>
> CPU: Intel  (Family: 8, Stepping: 4)
> Detected cache-line size is 64 bytes
> CPUflags:  MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
> Compilato per CPU x86 con estensioni: MMX MMX2 SSE SSE2
>
> Reading config file /usr/local/etc/mplayer/mplayer.conf: No such file
> or directory
> Reading config file /home/r/.mplayer/config
> Reading /home/r/.mplayer/codecs.conf: can't open
> '/home/r/.mplayer/codecs.conf': No such file or directory
> Reading /usr/local/etc/mplayer/codecs.conf: 49 audio & 130 video codecs
> CommandLine: '-v' 'Hole_Dollparts_MSTR.mov'
> get_path('font/font.desc') -> '/home/r/.mplayer/font/font.desc'
> font: can't open file: /home/r/.mplayer/font/font.desc
> Font /usr/local/share/mplayer/font/font.desc loaded successfully! (206
> chars)
> Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
> Failed to open /dev/rtc: Permission denied (mplayer should be setuid
> root or /dev/rtc should be readable by the user.)
> Using usleep() timing
> get_path('input.conf') -> '/home/r/.mplayer/input.conf'
> Can't open input config file /home/r/.mplayer/input.conf : No such file
> or directory
> Can't open input config file /usr/local/etc/mplayer/input.conf : No
> such file or directory
> Falling back on default (hardcoded) input config
> get_path('Hole_Dollparts_MSTR.mov.conf') ->
> '/home/r/.mplayer/Hole_Dollparts_MSTR.mov.conf'
>
> In riproduzione Hole_Dollparts_MSTR.mov
> Not an URL!
> File size is 12622 bytes
> Checking for YUV4MPEG2
> DEMUXER: freeing demuxer at 0x8471180  ASF_check: not ASF guid!
> DEMUXER: freeing demuxer at 0x8471180  Checking for NuppelVideo
> DEMUXER: freeing demuxer at 0x8471180  Checking for REAL
> DEMUXER: freeing demuxer at 0x8471180  Checking for SMJPEG
> DEMUXER: freeing demuxer at 0x8471180  Searching demuxer type for
> filename Hole_Dollparts_MSTR.mov ext: .mov
> Trying demuxer 7 based on filename extension
> Checking for MOV
> MOV: Movie header found!
> MOV: Reference Media file!!!
> Added reference to playlist
>    min. data rate: 1400 bits/sec
>    quality index: 0
> Added reference to playlist
>    min. data rate: 2800 bits/sec
>    quality index: 2
> Added reference to playlist
>    min. data rate: 5600 bits/sec
>    quality index: 4
> Added reference to playlist
>    min. data rate: 150000 bits/sec
>    quality index: 8
> MOV: 'WIDE' chunk found!
> MOV: Movie DATA found!
> MOV: Movie DATA found!

Here the problems begin:

It has references AND Movie Data! What should be done ?

As the demuxer->video-buffer is already initialised and sued by the 
reference-playlist it would be wise to use it that way, then line 

450 should be changed from:

-if (flags==5) // reference & header sent
-        return 1;

to:
+if ((flags==5) || (flags==7)) // reference & header sent
+        return 1;
or:

+if (flags&5==5) // reference & header sent
+        return 1;

But there remains one problem, that could occur if there was a big file with a 
big DAT-Section ...

In lines 418-422:

          if(flags==3){
            // if we're over the headers, then we can stop parsing here!
            demuxer->priv=priv;
            return 1;
          }

This should be done also, if a playlist was detected (flag|=4 set), but with 
the difference that flag 4 set means:

free(priv); return 1;

However all solutions I could think of very much complicate the code and I 
disliked them, so I wait for a helping hand from heaven or Arpi ;-)

cu

Fabian

PS: Sorry, for this Bug, I remember well that we talked about silly files 
having REF- and -MDAT-section and then in the end I forgot about it :-(

> DEMUXER: freeing demuxer at 0x84721f8  Checking for MOV
> MOV: Movie header found!
> MOV: Reference Media file!!!
> Added reference to playlist
>    min. data rate: 1400 bits/sec
>    quality index: 0
> Added reference to playlist
>    min. data rate: 2800 bits/sec
>    quality index: 2
> Added reference to playlist
>    min. data rate: 5600 bits/sec
>    quality index: 4
> Added reference to playlist
>    min. data rate: 150000 bits/sec
>    quality index: 8
> MOV: 'WIDE' chunk found!
> MOV: Movie DATA found!
> MOV: Movie DATA found!
> DEMUXER: freeing demuxer at 0x84721f8  Checking for VIVO
> header block 1 size: 0
> DEMUXER: freeing demuxer at 0x84721f8  DEMUXER: freeing demuxer at
> 0x84721f8  DEMUXER: freeing demuxer at 0x84721f8  DEMUXER: freeing
> demuxer at 0x84721f8  DEMUXER: freeing demuxer at 0x84721f8  DEMUXER:
> freeing demuxer at 0x84721f8  Checking for PVA
> DEMUXER: freeing demuxer at 0x84721f8  MPEG Stream reached EOF
> ds_fill_buffer: EOF reached (stream: video)  MPEG packet stats: p100:
> 26  p101: 0 p1B6: 0 p12x: 0 PES: 0  MP3: 0 il formato non è 'MPEG
> System Stream'... (forse è 'Transport Stream'?)
> DEMUXER: freeing demuxer at 0x84721f8  DEMUXER: freeing demuxer at
> 0x84721f8  Falling back on trying to parse playlist
> Hole_Dollparts_MSTR.mov...
> Trying asx...
> Trying winamp playlist...
> Trying extended m3u playlist...
> Trying reference-ini playlist...
> Error while parsing playlist
> Warning empty playlist
> ===== Mi dispiace, questo formato file non è riconosciuto/supportato
> ======
> === Se questo è un file AVI, ASF o MPEG, per favore contatta l'autore!
> ===
>
> vo: x11 uninit called but X11 not inited..
>
> In uscita... (Fine del file)
>
> ------------------------------
>
> Sorry for messeges in Italian, i was testing the translation: it's
> saying that the format is not recognized.
>
> > > Should i commit it or wait after 0.90?
> >
> > commit
>
> Done.
>
>
> [...]
>
> Ciao,
>   Roberto
> _______________________________________________
> MPlayer-dev-eng mailing list
> MPlayer-dev-eng at mplayerhq.hu
> http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng




More information about the MPlayer-dev-eng mailing list