aspose.info
SV

VP6 - TrueMotion Video File

Uppdaterad

Vad är VP6 fil?

VP6 är ett förlustformat komprimerat videoformat som introducerades av On2-teknologier i maj 2003. Det är en del av en serie videocodecs som utvecklats av TrueMotion, inklusive V3, V4 och V5. Formatet användes inom kort inom sändningsområdet som med BBC-rapporter och QuickLink-mjukvara. VP6 efterträddes av VP7 Codec i januari 2005 med bättre kompressionskompatibilitet.

VP6 filformat

Fullständiga specifikationer för V6-filer är inte tillgängliga offentligt. On2 offentliggjorde till en början specifikationerna men snart gjordes dessa otillgängliga för allmänna användare. En inofficiell dokumentation av VP6-filformatet finns tillgänglig på multimedia wiki som kan hänvisas till utvecklarens referens.

Makroblock (MB)

I likhet med MPEG-2, MPEG-4 delar 2 och 10, är varje videobildruta i en VP6-fil sammansatt av en array med 16x16 makroblock (MB). Varje MB kan vara i ett av följande lägen:

  • Intra MB
  • Inter MB, noll MV, tidigare ramreferens
  • Inter MB, differential MV, tidigare ramreferens
  • Inter MB, fyra MV, föregående ramreferens
  • Inter MB, MV 1, föregående ramreferens
  • Inter MB, MV 2, föregående ramreferens
  • Inter MB, noll MV, bokmärkt ramreferens
  • Inter MB, differential MV, bokmärkt ramreferens
  • Inter MB, MV 1, bokmärkt ramreferens
  • Inter MB, MV 2, bokmärkt ramreferens

Ramhuvud

Ramhuvudet för en VP6 är som visas nedan som följer big-endian bitpackningen.

SyntaxAntal bitarTypSymantecs
frame_mode1Enum0x0 anger en intraram
qp6OsigneradGiltigt intervall för kvantiseringsparameter 0..63
markör1Konstant0=VP61/62, 1=VP60
om (ramläge == 0) {0lika med INTRA_FRAME
version5Konstant6=VP60/61, 7=VP60(Electronic Arts), 8=VP62
version22Konstant0=VP60, 3=VP61/62
interlace1Booleantrue (1) betyder att interlace kommer att användas
if (markör==1 eller version2==0) {
offset16Osigneradsekundär buffertförskjutning (byte i förhållande till buffertstart)
}
dim_y8OsigneradMakroblockhöjd på video
dim_x8OsigneradMakroblockbredd på video
render_y8OsigneradVisningshöjd på video
render_x8OsigneradVisningsbredd på video
}annat{
if (markör==1 eller version2==0) {
offset16OsigneradSekundär buffertförskjutning (byte relaterad till start av buffert)
}
}

Referenser

Se även