:

Szerző: Gálffy Csaba

2018. január 23. 15:51

Flicks: új időegységet talált ki a Facebook

Elkerülhető a lebegőpontos időábrázolás a kódban a Flicks használatával - ha fontos a precizitás, ez jól jöhet.

Egy új időegységet vezetne be a Facebook (pontosabban annak VR-os fejlesztéssel foglalkozó divíziója, az Oculus. A "flick" definíciója szerint ez a másodperc mintegy 705 milliomod része (egész pontosan 1/705600000 másodperc). Amitől érdekes a koncepció: a flick kód szintű implementációt is kapott (meglehetősen triviálisat), amely lehetővé teszi, hogy az st::chrono::duration és std::ratio hívásokon keresztül elérhető legyen a nagy felbontású belső órával rendelkező számítógépes rendszereken. Ezzel a programozók kapnak egy olyan egységet, ami a nanoszekundumoktől eltérően egész osztója a népszerűbb videós és hangos felbontásoknak.

Jellemző egyébként, hogy a flicket a Facebookon belül az Oculus csapat találta ki és implementálta, a virtuális valóságnál ugyanis nagyon fontos a videós és hangos anyagok pontos időzítése és szinkronban tartása, így ezek a fejlesztők folyamatosan gondban vannak ezzel.

Közös osztó

A flick lényege, hogy a népszerűbb másodperctöredékeket egész számú többszörösként tudja megjeleníteni. Így például az 1/24 másodperc az 29400000 flick időtartamnak felel meg, az 1/44100 (vagy 44,1 kHz) az pontosan 16000 flick. Ahogy ebből a két példából is látszik, a flick elsősorban az audiovizuális média kezelésénél releváns, ahol a különböző szabványokat használó forrásanyagok eltérő mintavételezéssel készülnek, az ezek közötti váltás, illetve ezek összehangolása a flick bevezetésével könnyebb, egyszerűbb lehet.

Nyerd meg az 5 darab, 1000 eurós Craft konferenciajegy egyikét!

A kétnapos, nemzetközi fejlesztői konferencia apropójából a HWSW kraftie nyereményjátékot indít.

Nyerd meg az 5 darab, 1000 eurós Craft konferenciajegy egyikét! A kétnapos, nemzetközi fejlesztői konferencia apropójából a HWSW kraftie nyereményjátékot indít.

A flick egyébként az általánosan használt 24 Hz, 25 Hz, 30 Hz, 48 Hz, 60 Hz, 90 Hz, 100 Hz, 120 Hz frekvenciáknak egész osztója, sőt, az 1000 flick is az. Egy fontos formátumot viszont kihagyott a Facebook: az észak-amerikai televíziózásban általános NTSC által használt szokatlan frekvenciák, mint a 29.97 Hz támogatása már nem fért bele a flick definíciójába. A magyarázat: ez még a másodpercnek sem osztója, így esélytelen lett volna a flickkel kombinálni.

A gyakorlatban ez azt jelenti, hogy mind a másodperc, mind egy-egy frame kifejezhető egész flickekben úgy, hogy egyáltalán nem kell lebegőpontos számoláshoz nyúlni - ez is a projekt célja. Az eltelt és szimulált idő esetében ugyanis a lebegőpontos ábrázolás használata idővel egyre komolyabb pontosságvesztést hoz, ami csúszáshoz, szinkronvesztéshez vezet.

A kiadott kódot a Facebook a szabványos BSD licenc alatt nyújtja, amelyből ezúttal kihagyta a hírhedt szabadalmi kitételt. A kód használata meglehetősen egyszerű, a projekt GitHub oldalán részletesen is olvasható.

Milyen technológiai és munkaerőpiaci hatások érhetik a backendes szakmát? Május 8-án végre elindul az idei kraftie! meetup-sorozat is (helyszíni vagy online részvétellel).

a címlapról

Hirdetés

Security témákkal folyatódik az AWS hazai online meetup-sorozata!

2024. április 27. 01:12

A sorozat május 28-i, harmadik állomásán az AWS-ben biztonsági megoldásait vesszük nagyító alá. Átnézzük a teljes AWS security portfóliót a konténerbiztonságtól a gépi tanulásos alkalmazások védelmén át, egészen az incidenskezelésig.