[Mplayer-felhasznalok] RAW RGB AVI lejatszas. (masodik fordulo)

Arpi arpi at thot.banki.hu
Mon May 27 01:48:07 CEST 2002


Hi,

> > > Lehet, hogy a problema a kovetkezo:
> > > A kep 174x174-es, viszont nem 522x174-es matrixban van tarolva, hanem 
> > > 524-es sorokat hasznal (pad to 4-byte boundary).
> > mi ez a pad-to-4 ? sos ehallottam ilyenrol avi-nal
> Ez a BMP vagy DIB (Device Independent Bitmap)-nal van elasva. Ugye a RAW 
> AVI az DIB-ek sorozata.
Az latod lehet. Meg kene neznem DIB/BMP doxokat...

> Csinalj egy 1x3-es RGB kepet Gimp-el es latni fogod, hogy szepen feltolti 
> a sorokat 4-el oszthato szelessegre.
> Vagyis ez igy szabvanyos.... :(
> 
> > a kerdes inkabb az, hogy hol van ez az avi-ban tarolva???
> Implicit van tarolva. Az AVI tartalmazza a kepkocka meretet.
> Ezutan raengeded a CODEC-et ;) amely DIB-kent ertelmezi es jol kiszamolja 
> a sorhosszat.
> Szoval valami ilyesmit kell osszeutni. Majd megnezem, hogy mire jutok a 
> forrassal.
imho nem nehez fixelni


> Nekem az is megoldas lenne, ha a winfos drivert be lehetne konfigolni a 
> raw cuccra. De nekem nem sikerult rabeszelni. Az AVI-ban cvid-van, de 
> szerintem nem ezt hasznalja, hanem az msvideo.dll-ben elrejtett alap 
> rutinokat.

======= STREAM Header =======
Type: vids   FCC: cvid (64697663)
Flags: 0
Priority: 0   Language: 0
InitialFrames: 0
Rate: 10000/1500 = 6.667
Start: 0   Len: 3
Suggested BufferSize: 91176
Quality -1
Sample size: 0
found 'bih', 40 bytes of 40
======= VIDEO Format ======
  biSize 40
  biWidth 174
  biHeight 174
  biPlanes 1
  biBitCount 24
  biCompression 0=''
  biSizeImage 91176
===========================

tehat igen, a biCompression az 0, tehat uncompressed.
nemtom az a cvid mit keres ott, de az ugyse szamit.
174*3=522
igen, es valoban, 524*174 adja ki a 91176-ot :(

ez viszont azt jelenti, hogy sokmindent kell fixalnom.
lehet, hogy ez megold majd mas bugokat is, ahol win32 codecek
hulye kepmeretnel bugzottak/crasheltek...

amugy a vd_raw.c vegen kene ezt:
        mpi->stride[0]=mpi->width*(mpi->bpp/8);
atirni ilyesmire:
        mpi->stride[0]=(mpi->width*(mpi->bpp/8)+3)&(~3);

igy felkerekiti jol.

lehet, hogy kell majd egy -vop expand
is, ha a valasztott out device nem szereti a stride-t.


A'rpi / Astral & ESP-team

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



More information about the MPlayer-felhasznalok mailing list