aspose.info
RO

VP6 - Fișier video TrueMotion

Actualizat

Ce este un fișier VP6?

VP6 este un format video cu compresie cu pierderi care a fost introdus de tehnologiile On2 în mai 2003. Face parte dintr-o serie de codecuri video dezvoltate de TrueMotion, inclusiv V3, V4 și V5. Formatul a fost folosit în scurt timp în domeniul radiodifuziunii, cum ar fi rapoartele BBC și software-ul QuickLink. VP6 a fost succedat de VP7 Codec în ianuarie 2005, cu o compatibilitate mai bună cu compresia.

Format de fișier VP6

Specificațiile complete pentru fișierele V6 nu sunt disponibile public. On2 a făcut publice specificațiile inițial, dar în curând acestea au fost făcute indisponibile pentru utilizatorii generali. O documentație neoficială a formatului de fișier VP6 este disponibilă la multimedia wiki care poate fi trimisă pentru referință de către dezvoltatori.

Macroblocuri (MB)

Similar cu MPEG-2, MPEG-4 părțile 2 și 10, fiecare cadru video al unui fișier VP6 este compus dintr-o matrice de macroblocuri de 16x16 (MB). Fiecare MB poate fi în unul dintre următoarele moduri:

  • Intra MB
  • Inter MB, null MV, referință cadru anterior
  • Inter MB, diferenţial MV, cadru de referinţă anterior
  • Inter MB, patru MV, referință de cadru anterior
  • Inter MB, MV 1, referință cadru anterior
  • Inter MB, MV 2, referință cadru anterior
  • Inter MB, null MV, referință cadru marcat
  • Inter MB, diferenţial MV, cadru de referinţă marcat
  • Inter MB, MV 1, referință cadru marcat
  • Inter MB, MV 2, cadru de referință marcat

Antet cadru

Antetul cadrului unui VP6 este așa cum se arată mai jos, care urmează împachetarea biților big-endian.

SintaxăNumăr de bițiTipSymantecs
frame_mode1Enum0x0 semnifică un intra cadru
qp6NesemnatInterval valid al parametrului de cuantizare 0..63
marcator1Constant0=VP61/62, 1=VP60
dacă (mod_cadru == 0) {0egal cu INTRA_FRAME
versiunea5Constant6=VP60/61, 7=VP60(Arte electronice), 8=VP62
versiunea22Constanta0=VP60, 3=VP61/62
interlace1Booleantrue (1) înseamnă că se va folosi interlace
dacă (marcator==1 sau versiunea2==0) {
offset16Nesemnatoffset buffer secundar (octeți relaționați la începutul bufferului)
}
dim_y8NesemnatÎnălțimea macroblocului video
dim_x8NesemnatLățimea macrobloc video
render_y8NesemnatÎnălțimea afișajului videoclipului
render_x8NesemnatLățimea de afișare a videoclipului
}altfel{
dacă (marcator==1 sau versiunea2==0) {
offset16NesemnatDecalaj tampon secundar (octeți relevanți la începutul tamponului)
}
}

Referințe

Vezi și