Keresés

Új hozzászólás Aktív témák

  • madgie

    titán

    válasz lenox #8 üzenetére

    Az összes 5-ös szériás ATi küldi kifelé a jelet 10 biten, DP-n legalábbis tuti.

  • dezz

    nagyúr

    válasz lenox #8 üzenetére

    Amire te gondolsz, az a 3x10 bites frame-buffer kezelés. Ezt tényleg csak a professzionális kártyák tudják.

    De nem feltétlenül kell eleve 30 bites kép ehhez: a videokártyák kimeneti LUT-ja 3x16 bites. (A frame-buffer színcsatornánkénti 8-bites értékei helyettesítődnek be 1-1 16-bites értékre.) Ezt a LUT-ot használja a sw-es kalibráció, illetve ha pl. CCC-ből állítod a gammát, fényerőt vagy kontrasztot.

    Ebből DP-n -- ha a monitor is támogatja -- 3x10 bit mehet ki. A DVI is tudhatja ezt (nem szabványos módban), de azt nagyon kevés monitor támogatja. HDMI-n 10, 12, vagy akár mind a 16 is kimenet. Támogatás hiányában ditherezés formájában kerül rá a 8 bitekre +2 bit, legalábbis ATI kártyáknál.

    [ Szerkesztve ]

  • dezz

    nagyúr

    válasz lenox #14 üzenetére

    Nem csak arra gondolhattál, hiszen ezt is írtad: "10 bitet, displayporton is csak nvidia oldalon nemelyik quadro tudja, atikat nem tudom." -- Ezért "kevertem ide" a kalibrációt és a kimeneti LUT-ot...

    Egyébként a ditherelés hw-ből megy, felhasználva a LUT plusz bitjei közül (legalább) kettőt, így ha nem is natív 3x10 bit megy át DVI-n, effektíve mégis annyi... 60 centiről nem nagyon van különbség. Persze grafikus alkalmazásban sokszor közelebbről is oda-oda kell nézni a képre, olyankor észre lehet venni a dithert... Ugyanakkor egyes monitorok maguk is bevetik a ditherelést, komolyabbak is...

    "Nemelyik quadroban az a specialis, hogy az egesz pipeline supportal 10 bitet, dithereles nelkul, tehat konkretan megjelenitheto 1024 kulonbozo arnyalat csatornankent egy kepen belul."

    Igen, éppen erről beszéltem. :)

    Igen, léteznek spéci kártyák akár 3x16 bites framebufferrel (pl. renderelt mozis animok filmszalagra írásához), de elterjedten használt kártyán a 3x10 bit is újdonság, és OpenGL támogatás is tudtommal csak ahhoz van, ez sem rég óta.

    [ Szerkesztve ]

  • dezz

    nagyúr

    válasz lenox #18 üzenetére

    Ha beleszól a 3x16 bites LUT, akkor onnantól kezdve már nem csak 3x8 bittel van dolgunk, ezt értsd meg. Igaz, a 3x8 bites frame-buffer miatt továbbra is 2^24 különböző árnyalattal dolgozunk, no de egy 2^48 elemes palettából.

    "En nem latom, hol beszeltel errol. Errol en beszeltem. Te framebufferrol beszeltel meg ditherelesrol, nem?"

    Hát itt: "Amire te gondolsz, az a 3x10 bites frame-buffer kezelés. Ezt tényleg csak a professzionális kártyák tudják." (= Quadro, FireGL, FirePro)

    Egyébként meg "konkretan megjelenitheto 1024 kulonbozo arnyalat csatornankent egy kepen belul" = 3x10 bites frame-buffer...

    "Hat majd utananezek az atiknak, de szerintem nincs elterjedt kartyan ilyen."

    Nem a kommersz kártyákra gondoltam, de a profi kártyák is sokkal elterjedtebbek (ezerszámra adják el őket), mint azok a bizonyos nagyon spéci kártyák, amikről még szó volt.

    "En ezt talaltam:
    http://www.amd.com/us/Documents/10-Bit.pdf"

    Ismerem (Oliverda jóvoltából), már én is többször linkeltem itt-ott. Egyébként itt is említésre kerül egy szabványon kívüli, de mégis több kártya és monitor által támogatott, 3x8 bitnél többet kezelő DVI üzemmód.

    "Amugy HDSDI kimeneten meg ugye regota van 10 bit, nvidiaeknak 2004 ota van olyan kartyajuk."

    Itt is csak a LUT általi pluszbitekről van szó, vagy esetleg frame-buffer szinten is megvolt a 3x10 bit? LUT-os 3x10 bites kimenet kommersz kártyákon sem tegnap óta van. (A komolyabb kommersz kártyákon lévő GPU frame-buffer szinten is tudja, mivel maga a GPU ugyanaz, mint a profi kártyákon, csak ez le van tiltva, de a DP/HDMI kimeneti 3x10 bit kezelést nem tiltották le.)

    [ Szerkesztve ]

  • dezz

    nagyúr

    válasz lenox #20 üzenetére

    "Erre mondtam, hogy ha 32 bites floatokat renderelek, akkor ezek szerint 2^96 elemes palettabol dolgozom? Nyilvan nem. Egy szinatmeneten rogton latszik, hogy 8 bit, lehet a kalibralas akarhany bites. De ezt szerintem te is pontosan tudod."

    Ott előzetesen van 32 bit, amiből a végén 8 bit lesz. A LUT-olás viszont utólagos! Minden 8 bites értékhez hozzárendel egy 16 bites értéket, és a továbbiakban azzal dolgozik. Abból megy tovább 8, 10, 12, 16, vagy éppen a 8 + dither.

    "Ez csak a framebuffer, nem az egesz pipeline, de mind1..."

    Jogos, de nyilván hozzáértendő, hogy ki is tudnak menni a értékek.

    "1x10 bites az a specko uzemmod."

    Az lehet. Viszont minden további nélkül át tudna vinni a DVI 3x10, sőt akár 3x16 bitet is, mivel kompatibilis HDMI-vel, ami támogatja a DeepColort (HDMI 1.3-tól) -- persze egy sima DVI bemenet csak akkor fogja tudni, ha erre eleve felkészítették.

    "16 bit half floatokat kell renderelni a framebufferbe. Eleg fura, de ezt talaltak ki. Ujabban 12 bitet is tud kiadni."

    Gondolom, így több szempontból egyszerűbb volt (hw és sw támogatás), mint ha bevezettek volna egy új integer módot, ahogy pl. az ATI tette (R10, B10, G10, x2).

    [ Szerkesztve ]

  • dezz

    nagyúr

    válasz lenox #22 üzenetére

    "Nem tudom, ez mi mellett vagy ellen erv"

    Semmi ellen, csak amellett, hogy 3x8 bites frame-buffer mellett is van értelme a 3x10+ bites képátvitelnek DP-n és HDMI-n. A plusz bitek a LUT-ból jönnek.

    "ha 32 bitbol csinalok 8 bitet (esetleg szoftverbol ditherelek akar temporalisan is), az jobb vegeredmenyt produkal, mintha 8-bol csinalnek eloszor 16-ot aztan vissza megint 8-at."

    Természetesen! Csak hát a kommersz kártyáknál nem adott a 3x10+ bites forrás-kép, az viszont nem teljesen mindegy, hogy a LUT-ból milyen formában megy tovább az adat.

    "Tegyuk hozza, hogy eloszor a dvi kimenet kene tudja, de nem ismerek ilyen vga kartyat, ami tudna"

    Egyes(?) ATI-kon a DVI kimenet működhet HDMI módban (adtak is hozzájuk DVI->HDMI adaptert). Ehhez csak az adatcsomag-formátumot kell módosítani, mert a többiben kompatibilis a DVI és a HDMI.

    "meg monitort sem, ami fogadni tudna 3x10 bitet dvi-on."

    Ami a 3x10 bitet illeti (nem a HDMI módot): Eizo RadiForce R31.

    Ugyanitt maradva, volt egy ilyen rész az ATI/AMD-s doksiban:
    "AMD’s most recent series of workstation graphics cards give full support to various types of 10-bit displays including all of the models mentioned above. The communication interface can currently be single link DVI, dual link DVI, and DisplayPort depending on the input/output ports configuration of the monitor and the graphics card."

    Egyébként pár napig úgy hittem, ezt pl. a HP Dreamcolor LP2480zx is tudja (mármint DVI-n is), ami szerepelt a fenti "models mentioned above" között is. Épp most vizsgálgatom, és többek között azt találtam, hogy akkor is megmaradt a 256 fokozat, ha a LUT-ban feleztem vagy még tovább csökkentettem az értékeket. Ekkor még nem tudtam, hogy az újabb kártyák (legalábbis a Radeonok) csatornánként 8 bit + 2 bit dither formában küldik ki a képet a LUT-ból DVI-n (és talán DP-n és HDMI-n is, ha a fogadó oldal nem támogat több bitet). És nem is tűnt fel a ditherelés, mert a monitor maga is ditherelést használ a különféle gamma-profiljaihoz (ellentétben a CG-s Eizo-kkal). Másik monitoron nézve kiderült a "turpiszság", majd a HP-n is egy fw-frissítés(! :) ) után, mivel utána már másféle dithert alkalmazott, így meg lehetett különböztetni a kettőt. (Mindenesetre, akár tudhatta is volna a 3x10 bites DVI-t.)

    "Amugy az elobb meg azt irtad, hogy nem szabvanyos."

    Van egy nem-szabványos megoldás (lásd fent) és a HDMI-féle DeepColor csomag-formátum. (Bár az is lehet, hogy a kettő valójában ugyanaz, legalábbis ha 3x10 bitről van szó.)

    szerk: ja, ami az Nvidiát illeti, gondolom, először azért alkalmazták a half-floatos frame-buffert, mert ahhoz csak a kimeneti csatornát kellett módosítani, nem? A 3x10 bites frame-bufferhez a belsőbb részeket is módosítani kellett, hogy kezeljék ezt a pixel-formátumot.

    [ Szerkesztve ]

Új hozzászólás Aktív témák