Page 1 of 1

PictView: podpora HD Photo obrázků (Windows Media Photo)

Posted: 27 Mar 2009, 16:46
by zarevak
Dobrý den,
doplňte prosím podporu pro HD Photo obrázky do PictView 8)

Virtual Earth 3D používá HD Photo pro výškové mapy a pro high resolution textury (jenom město Tampa, Florida (ukázka - po přiblížení přečtete i texty na modré ceduli)). Rád bych nabídnul extrakci těchti textur v mém UnVE3D pluginu, ale uživatel si je pak v Salamanderu stejně neprohlídne...

HD Photo je využito v XPS dokumentech...

Informace:
- HD Photo Specification
- HD Photo Device Porting Kit - obsahuje referenční dekodér a kodér v ANSI C ;)

Posted: 27 Mar 2009, 17:24
by Jan Rysavy
To vypadá na docela komplikovanou záležitost. Jakou velikost má binárně referenční dekodér?

Posted: 27 Mar 2009, 17:58
by zarevak
Při prvním pohledu na seznam podporoaných formátů bitmap se mi trochu zatočila hlava, ale nakonec těch "Basic" je jen pár:
Barevné:
- PixelFormat24bppRGB
- PixelFormat24bppBGR
- PixelFormat48bppRGB
- PixelFormat48bppRGBFixedPoint
Šedé:
- PixelFormat8bppGray
- PixelFormat16bppGray
- PixelFormat16bppGrayFixedPoint - toto používá VE3D pro uložení výškových map...
Advanced:
- PixelFormat32bppBGRA - toto používá VE3D pro uložení HighRes textur
- PixelFormat16bppBGR565 - toto používá VE3D 4.0 pro uložení textur domů (konvertuje se automaticky do DXT1, takže nižší počet bitů nevadí)
- ...

Nejhorší je samotný dekodér, kolik jakých kanálu myslím už je celkem jedno.

Zkompiloval jsem ten balíček a jak WMPEncApp.exe tak WMPDecApp.exe jsou 276KB velké a mají závislost jen na Kernel32.dll a podporují všechny odrůdy HD Photo.

Jednoduchým řešením by bylo zkompilovat tuto referenčí implementaci jako (statickou) knihovnu a použít ji z PictView. Tak jsou také ty dva programy napsány - většina zdrojáku těchto programů je ošetření vstupu - vlastní práce s knihovnou a dekódování je na cca 150 řádek.

Posted: 27 Mar 2009, 18:06
by zarevak
Tak si říkám, že mne za ten nápad nebudete mít rádi - přece jen kvůli jednomu formátu zvětšovat PictView o 50% je přehnané :oops:

Co takhle, kdyby mohl jiný Salamanderův plugin data načíst a poslat je v nějakém standardizovaném formátu do PictView, podobně jako je teď možné využít Internal Viewer na výstup textu? :D Lidé by pak psali pluginy pro různé obskurní formáty, ale UI by zůstávalo stále stejné ;)

HD Photo plugin by se pak stal dodatečným pluginem a byl využit jen lidmi, kteří ho potřebují 8)

Posted: 27 Mar 2009, 18:08
by Jan Rysavy
Vzhledem k tomu, že celý PV engine (pvw32cnv.dll) má dneska 265KB mi to nepřipadá jako dobrej nápad.

Kdyby šlo o podporu formátu, o který si zde žádají desítky uživatelů, díval bych se na to jinak. Ale podpořit formát, o kterém dnes slyším prvně v životě za cenu, že velikost jádra PV vyskočí na dvojnásobek?

To už bych viděl lépe investovaný čas do otevření PV pro vstupní (případně výstupní) filtry. Ostatně ani Irfan neumí JPG2000 v základní programu, je potřeba přidat plugin.

Edit: to jsme se pěkně shodli :)