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

Vítáme všechny návrhy na nové funkce a vylepšení programu Altap Salamander. Pro každý návrh prosím vytvořte samostatný příspěvek.
User avatar
zarevak
Plugin Developer
Plugin Developer
Posts: 789
Joined: 04 Feb 2006, 16:49
Location: Prague, Czech Republic

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

Post 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 ;)
Jan Rysavy
ALTAP Staff
ALTAP Staff
Posts: 5231
Joined: 08 Dec 2005, 06:34
Location: Novy Bor, Czech Republic
Contact:

Post by Jan Rysavy »

To vypadá na docela komplikovanou záležitost. Jakou velikost má binárně referenční dekodér?
User avatar
zarevak
Plugin Developer
Plugin Developer
Posts: 789
Joined: 04 Feb 2006, 16:49
Location: Prague, Czech Republic

Post 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.
Last edited by zarevak on 11 Apr 2009, 11:22, edited 1 time in total.
User avatar
zarevak
Plugin Developer
Plugin Developer
Posts: 789
Joined: 04 Feb 2006, 16:49
Location: Prague, Czech Republic

Post 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)
Jan Rysavy
ALTAP Staff
ALTAP Staff
Posts: 5231
Joined: 08 Dec 2005, 06:34
Location: Novy Bor, Czech Republic
Contact:

Post 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 :)
Post Reply