FourCC

FourCC (bogstaveligt fire-tegns kode - engelsk fire  - c karakter kode ) er en sekvens på fire bytes , der bruges til entydigt at identificere dataformater . Udbredt til at identificere video-codecs i mediecontainere.

Konceptet stammer fra OSType- skemaet , brugt i Macintosh -systemsoftware , og er blevet brugt til Amiga / Electronic Arts -filudvekslingsformatet og dets derivater. Denne idé blev senere genbrugt til at identificere komprimerede datatyper i QuickTime og DirectShow .

Tekniske detaljer

Bytesekvensen er normalt begrænset til udskrivbare ASCII -tegn, med mellemrum reserveret til at udfylde kortere sekvenser. Store og små bogstaver er bevaret i modsætning til .

Fire-byte identifikatorer er nyttige, fordi de kan bestå af fire menneskelig læsbare tegn med mnemoniske kvaliteter, mens de stadig passer ind i den fire-byte hukommelsesplads, der normalt er reserveret til heltal på 32-bit systemer (selvom endianness problemer kan gøre dem mindre læsbare) . På denne måde kan koder effektivt bruges i programkoden som heltal og også give hints i binære datastrømme, når de er afkrydset.

Nogle FourCC'er indeholder dog ikke-udskrivbare tegn og kan ikke læses af mennesker uden speciel skærmformatering; for eksempel kan en 10-bit Y'CbCr 4:2:2 video have FourCC ('Y', '3', 10, 10) [1] , som ffmpeg gengiver som rawvideo (Y3[10][10] / 0x0A0A3359), yuv422p10le.

Historie

I 1985 introducerede Electronic Arts metaformatet Interchange File Format (IFF) (familie af filformater ), oprindeligt udviklet til brug på Amiga . Disse filer bestod af en sekvens af "chunks", der kunne indeholde vilkårlige data, hver begyndende med en fire-byte identifikator. IFF-specifikationen nævner udtrykkeligt, at oprindelsen til FourCC-ideen ligger i Apple [2] .

Denne IFF er blevet vedtaget af en række udviklere, herunder Apple til AIFF-filer og Microsoft til RIFF- filer (som blev brugt som grundlag for AVI- og WAV -filformaterne ). Apple kalder mange af disse koder OSTypes . Microsoft- og Windows - udviklere omtaler deres fire-byte-id'er som FourCC'er eller fire-tegnskoder. FourCC-koderne blev også vedtaget af Microsoft for at identificere de dataformater, der bruges i DirectX , især DirectShow og DirectX Graphics.

Generel brug

En af de mest kendte anvendelser af FourCC er at identificere video-codec eller videokodningsformat i AVI-filer. Fælles identifikatorer inkluderer DIVX , XVID og H264 . Til lydkodningsformater bruger AVI- og WAV-filer en to-byte-id, normalt skrevet i hexadecimal (f.eks. 0055 for MP3 ). I QuickTime-filer er disse to-byte identifikatorer foranstillet med bogstaverne "ms" for at danne en kode på fire tegn. RealMedia - filer bruger også fire-tegns koder, men de faktiske koder, der bruges, adskiller sig fra dem, der findes i AVI- eller QuickTime-filer.

Andre filformater, hvor det er vigtigt at bruge fire-byte identifikator konceptet, er Standard MIDI File (SMF) format, PNG Image File Format, 3DS Mesh File Format ( 3D Studio Max ) og ICC Profile Format .

Se også

Noter

  1. FFmpeg: libavcodec/raw.c Kildefil . ffmpeg.org. Hentet 9. juni 2019. Arkiveret fra originalen 19. januar 2019.
  2. Morrison, Jerry "EA IFF 85" Standard for Interchange Format Files . Electronic Arts (14. januar 1985). Hentet 17. januar 2019. Arkiveret fra originalen 21. februar 2015.

Links