Historie a současnost Avivo Converteru
Tenkrát v Americe
Možná si pamatujete listopad/november 2005, kdy ATI uvedla poprvé svůj Avivo Video Converter (zkráceně AVC, neplést s MPEG-4 AVC), který sliboval mnohonásobně rychlejší převod než kdy dřív. A skutečně tomu tak bylo. Podle různých testů bylo zrychlení asi pětinásobné a fakt, že AVC fungoval jen na kartách ATI (generace X1000), vzbuzoval domnění možné hardwarové akcelerace převodu. Později se na světlo dostala cracknutá verze, která umožnila spuštění i na kartách jiných značek a převod byl stále rychlý. Vysvětlení bylo jediné: vysoká optimalizace a dobrá práce programatárů. I to mělo svůj háček, optimalizovalo se tak, že výsledná kvalita videa byla bídná. Od doby, co se záhada vyřešila, se přestalo o AVC mluvit.
Návrat do budoucnosti
Nyní se vraťme o 3 roky dopředu. Píše se rok 2008, dne 10. prosince/decembra vychází možná přelomové ovladače Catalyst 8.12, které přinášejí podporu GPGPU rozhraní ATI Stream. To se má stát jakousi obdobou Nvidia CUDA. V době uvedení GeForce GT2x0 byla jednou z prvních užitečných CUDA aplikací Badaboom Converter od Elemental Technologies. S její pomocí jste mohli dosáhnout rychlého převodu videa právě za účasti GPU.
Není proto divu, že se na podobné vlně hodlalo svést i ATI a do stařičkého Avivo Converteru přidává podporu Streamu. Zatím se však týká pouze karet sérií Radeon HD 4600 a 4800.
Mlčení jehňátek
Pojďme si ukázat, co ATI slibuje na oficiálním webu Avivo.
The ATI Video Converter transcodes up to 17 times faster2 than with the CPU alone, one hour of video can be converted to a portable player format in about 12 minutes.2 Combined with one of the recent ATI Radeon™ HD 4800 or ATI Radeon™ HD 4600 Series graphics card offerings, the ATI Video Converter helps deliver video conversion at up to twice the speed of competing solutions at just over half of the suggested retail price.3
Klasická reklamština slibující 17x rychlejší převod než při použití CPU samotného. Důležité jsou malé poznámky, které jsou pak dole titěrným a světlým písmem vysvětleny. Hlavní ale je, že se nepíše o převodu GPU only, ale o kombinaci CPU a GPU při výpočtech.
2 The pre-release version of ATI Video Converter demonstrates that ATI Stream technology allows video conversion that is faster than ever before. ATI Video Converter using ATI Stream technology converted an HD MPEG2 video at 1920x1080 resolution @ 24fps running 3600 seconds to an MPEG4 video at 320x240 resolution at 24 fps in 3 hours 23 minutes, while iTunes 8.0.1 with WinQuickTimeMPEG2 pack converted the same source video to the same output specifications in 3 hours and 23 minutes, demonstrating a 17x speed up. System specifications: Intel Core 2 Duo QX9650 3.0 GHz processor, 6GB of Corsair CM2X1024-8500C5D 1066 MHz memory, Windows Vista Ultimate® 64-bit with Service Pack 1, ATI Radeon™ HD 4850 512MB. Performance of ATI Video Converter will vary based on system configuration, ATI Radeon product, source file and output settings used. Accelerated stream capabilities are dependent on enablement in individual software titles. Not all software is ATI Stream enabled, nor do all ATI Radeon graphics processors provide ATI Stream capabilities.
Vysvětlení zázračného zrychlení je prosté. Srovnání s velmi pomalým převodem v iTunes. Rovněž je podstatné, že na stejném hardware jako testovali v ATI nemusíte dosáhnout stejné rychlosti a závisí to jak na zdrojovém souboru, tak výstupním nastavení.
Šifra mistra Leonarda
3 The combination of an ATI Radeon™ HD 4870 512MB graphics card (~$246) + ATI Video Converter using ATI Stream technology (free) compared to the combination of GeForce® GTX 280 graphics card (~$414) + Badaboom™ Media Converter 1.0 ($29.99) shows that an HD MPEG2 video at 1920x1080 resolution @ 29.97 fps, 19000 kb/s VBR and MPEG1 Layer2 48000HZ audio that runs 1 minute 31 seconds is converted to an AVC1-MPEG4 video at 1280x720 @ 29.97 fps, 7304 kbps with MPEG4 44100 Hz 160kb/s stereo audio on the AMD solution in 48 seconds, and is converted to an AVC1-MPEG4 video at 1280x720 resolution @ 29.97 fps, 7734kbps with MPEG4 48000Hz 62Kb/s stereo audio on the Nvidia/Badaboom solution in 113 seconds. Prices based on average Newegg.com pricing after mail-in rebates as of October 29, 2008. System specifications: AMD Phenom™ X4 9950 processor, MSI 790FX K9A2 Platinum motherboard, 2GB of Corsair CM2X1024-8500C5D 1066 MHz memory, Windows Vista Ultimate® 64-bit with Service Pack 1, Western Digital Raptor WD1500 hard drive, ATI Radeon™ HD 4870 512MB with ATI Catalyst™ version 8.9 and ATI Video Converter, or GeForce® GTX 280 with Badaboom™ Media Converter 1.0 and CUDA driver 178.08 INT. Performance will vary based on system configuration, ATI Radeon product, source file and output settings used.
Nesrozumitelnou změť písmen a čísel jsem luštil dlouho i já. Dochází k troufalému srovnání s už zmíněným Badaboomem. Nejdříve je nutné zmínit nižší cenu jak samotné karty, tak i konvertoru, který je v podání ATI zdarma. Nacházím ale první nesrovnalosti a nemyslím tím špatné označení formátů audia a videa podle jakýchkoli standardů.
Nelítostný souboj
Pojďme si tedy srovnání trochu přiblížit.
Zdrojový soubor: délka 1:31
video | MPEG-2, 1920 x 1080, 29,97 fps, VBR bitrate 19 000 kbps |
audio | MPEG-1 Layer 2, 48 000 Hz |
Výsledné soubory.
ATI Avivo Converter | Badaboom Media Converter 1.0 |
|
formát | MPEG-4 AVC | MPEG-4 AVC |
rozlišení | 1280 x 720 @ 29.97 fps | 1280 x 720 @ 29.97 fps |
bitrate | 7304 kbps | 7734 kbps |
audio | AAC LC, 44 100 Hz, 160 kbps | AAC LC, 48 000 Hz, 62 kbps |
čas převodu | 48 s | 113 s |
Podfu(c)k
Podmínky jsou plus mínus podobné, ATI vítězí s méně než polovičním časem. Realita je ovšem taková, že Avivo Converter takový výstup neumí a jediná možnost formátu MPEG-4 AVC (aka H.264) je zvolení iPod profilu, který takové parametry nemá. Jak tedy ATI porovnala výsledky s konkurencí, když sama v tomto konkurovat ani nemůže? Poslední poznámka už zní jako vtip.
H.264/AVC profile supported when using Apple iPod format.
Test Expreview
Hodný, zlý a ošklivý
Po vydání Catalyst 8.12 se o přínosu Streamu a Avivo Converteru začly vést vášnivé debaty. Zahraniční weby testovaly, ale výsledkem si nebyl nikdo jist a vůbec kolem tématu působí velký zmatek i díky ATI, která se k ničemu nevyjádřila. Korunu tomu včera nasadil Expreview, který vyřkl verdikt, že AVC rozhraní Stream nevyužívá. Je velká škoda, že nepřidali i grafy využití GPU, čímž by potvrdili své tvrzení, ale na ty se podíváme v předposlední kapitole článku.
Podmínky testu:
Dokonalý trik
Jako testovací soubor posloužilo demo Panasonicu v MPEG-2 formátu, rozlišení 1920 x 1080 px a bitrate 2,46 mbps. Délka videa je 12:43. Výsledkem měl být MPEG-4 v rozlišení 640 x 360 a datovým tokem 1,5 mbps. V tom je ovšem kámen úrazu. U Avivo je zvolen formát MPEG-4 ASP (neboli to, co dnes produkují DivX, Xvid, Nero Digital, 3ivx, Quicktime, ...). Badaboom 1.1 si však musí poradit s výpočetně náročnějším formátem MPEG-4 AVC, který se dnes využívá například u Blu-ray. Test tedy porovnáná jablka s hruškami, je způsoben neznalostí autorů a hanba těm, kteří to od nich kopírují :)
Přesto si pojďme výsledky ukázat. Samotné srovnání Avivo a Badaboom je nesmyslné, dílčí výsledky ale mohou leccos prozradit.
Porovnání s Nvidií je zcestné. Zajímavý a podezřelý je ale výsledek dvou Radeonů, které podaly stejný výsledek. Možná je i CPU limitem a nestíhá se dělit o práci s GPU, kdoví....
Při vysoké taktu procesoru už je znát rozdíl mezi Radeony, ale 5% navýšení výkonu značí nepříliš dobré škálování.
Naopak Badaboom dokáže z vyššího výkonu grafiky těžit při obou taktech procesoru a i rozdíl mezi 1,6 a 3 GHz ukazuje, že GPU se na výsledku podílí velkou měrou.
Tenhle výsledek mě překvapil nejvíce. Redaktoři nainstalovali do systému Avivo Converter za přítomnosti karty ATI, kterou potom vyměnili za obě GeForce (instalace na GeForce jinak není možná). Jak je možné, že Avivo využívající Stream karet ATI podává horší výkon než Nvidia? Možným vysvětlením by bylo, že se do dekódování vstupního MPEG-2 zapojuje UVD čip ATI nebo VP2 Nvidie. Při transkódování občas mrkne (refresh) UVD status v AMD GPU Clock Tool, ale busy neukazuje, v klidovém stavu to ale nedělá. Jestli se to samé děje i s GeForce, mohlo by to znamenat, že některé části dekóduje rychleji a proto ten lepší čas. Ale je to jen hypotéza.
Poslední je srovnání kvality obrazu v neprospěch Avivo. Špatná ostrost a hodně kompresních artefaktů, tohle je rozdíl třídy. Avivo sice produkuje už léta horší obraz, ale zde se jedná o porovnání dvou odlišných kompresních formátů.
Test přes všechna negativa určitou hodnotu má. Nehledě na to, že hezky ilustruje kvalitu Badaboomu, zřejmě vyvrací přítomnost ATI Stream...
Jak se věci mají
Poslední skaut
Jak ale přítomnost Stream dokázat? Naměříme pár vlastních výsledků. Zde patří obrovský dík Lazarovi, který všechna měření provedl. Jak už dříve uvedl v diskuzním fóru, GPU akcelerace při převodu se opravdu používá, i když jen za určitých okolností.
Sestava: Asus P5E(X38), Intel Core 2 Quad QX6700@3,2 (FSB1600), RAM 8 GB/CL5, Radeon HD 4870, Vista 64 SP1, Catalyst 8.12
Vstupní soubor: grab DVB-T (SD MPEG-2) 785MB soubor (délka asi 30min)
Výstupní soubor: iPod (QVGA) H.264
Oba soubory byly umístěny na ramdisk, aby se eliminoval vliv IO.
Prověřením všech výstupní profilů Avivo Converteru jsme získali několik poznatků. Ukazatel zatížení v aplikaci GPU-Z potvrdil, že GPU při převodu něco vykonává. Děje se tak u třech výstupních profilů: iPod video, Sony portable gaming device a MPEG-4 (DivX Compatible).
iPod: Vstupní soubor byl pokaždé špatně detekován, na funkčnost to ale nemělo vliv. GPU load 27% cosi značí...
Sony portable: GPU load zde rovněž poblikává, zřejmě momenty, kdy se o výpočet střídají CPU a GPU
DivX Compatible: Podobný hřeben zatížení se vyskytuje i zde.
Zvětšenina
Že zatížení není jen náhoda prokázal Lazar jiným testem a to změnou taktů jádra a pamětí na grafické kartě. Pokud by byla akcelerace přítomna, jistě by změna taktů měla na výsledek vliv. Testováno na stejné sestavě, změnil se jen vstupní soubor.
Vstupní soubor: grab DVB-T (SD MPEG-2) 2GB soubor (délka 1hod 58min)
Výstupní soubor: iPod (QVGA) H.264
Oba soubory byly umístěny na ramdisk, aby se eliminoval vliv IO.
V lehce přetaktovaném stavu 800/1000 (GPU/Mem) MHz zátěž jádra vyskakuje na 19 %, přičemž doba převodu 3:28.
Snížením taktu na 400/800 MHz jsme dosáhli navýšení zátěže na 31 % a zároveň se prodloužila doba převodu na 3:51.
Takty sníženy o polovinu na 200/400 MHz, GPU load 45 % a čas převodu 4:56.
Na nejnižších frekvencích 100/200 MHz už je i zátěž poměrně vysoká: 65 % a čas 6:57.
Vliv grafické karty je tedy prokázán. Vzhledem k tomu, že předchozí Avivo Converter GPU nevyužíval a po vydání Catalyst 8.12 u něj k akceleraci dochází, je zřejmé, že ATI Stream opravdu funguje, i když výsledek rozhodně není ideální.
Pozornosti by neměl uniknout ani projekt ATI TransCode Converter, který je součástí ATI Tray Tools a jedná se o úplně jiný program než Avivo. Vtipné na tom je, že tento využívá pouze CPU, ale přesto je v převodu do iPod profilu zřejmě rychlejší než Avivo s GPU. Více v testu v diskuzním fóru.
Závěr
12 úkolů pro Asterixe
Nečekejte klasický verdikt. Nejsem moc dobrý kat, akorát bych poranil sám sebe. Cítím rozhořčení jak nad přístupem ATI, tak nad verdiktem Expreview. Není zde klasický vítěz ani poražený. Avivu by slušel pořádný lifting ve všech ohledech: výkon, kvalita, možnosti nastavení i vzhled aplikace. Zatím se nedá mluvit ani o polovičatém řešení. Expreview zase více nastudovat než se pustí bezhlavě do neprobádaných oblastí.
Avivo Converter je distribuován zdarma, proto na něj musíme takhle nahlížet. Očekávání byla veliká, přesto se dostavilo zklamání. To, že je program nabízen bezplatně, ale nemůže omlouvat chyby a celkovou kvalitu. Jak je uvedeno na konci první kapitoly, ATI AVC nepodporuje jiný výstup do formátu H.264, než malý iPod profil, i když na webu tvrdí, že vládne i rozlišení 720p. Tohle je asi jediné sporné místo.
Malá doporučení všem zúčastněným:
- nechceme převádět 1080p video do iPodu, ale do jiných rozumných formátů a rozlišení
- nazývejte věci pravými jmény (audio/video formáty především)
- ATI: připravte už s někým smysluplné řešení GPGPU v multimediální oblasti
Aktualizováno:
Děkuji panu Federmannovi, který v diskuzi zmínil jiný test, který provedl japonský web PC Watch (přeložená verze z JP do EN pomocí Google Translator). V tomto článku se dostala redaktorům do rukou novinářská beta verze Avivo Converteru, která přináší slibované možnosti, viz screenshot níže.
V samotném testu dochází ke srovnání „vylepšeného“ Aviva a TMPGEnc XPress 4.0, který profituje pouze z CPU a výsledky už jsou přiznivé, alespoň co se rychlosti týče. Kvalita je stále horší. Výsledný obraz postrádá detaily a je méně ostrý. Zatím se neví, kdy se tato verze dostane na veřejnost a zda opraví některé chyby a horší kvalitu výstupu. Až se tak stane, budeme informovat.
Frajer Luke
Pro mnohé byl možná článek plný cizích slov a teď máte v hlavě zmatek, bohužel jinými slovy to vyjádřit nešlo. Nechci pranýřovat ATI, Expreview ani nikoho jiného, jen jsem chtěl ukázat jak se věci ve skutečnosti mají a na co si dát pozor. Podobná situace nastává okolo videoeditoru Power Director 7, o kterém jsem už také několikrát psal. ATI slibovala podporu GPU výpočtů už v loni v létě při uvedení karet HD 4000. Pak se několikrát odkládalo, mezitím ohlásila podporu Nvidia a tento týden se dočkala už dokonce druhého zásadního updatu. ATI Stream má do Power Directoru zasáhnout nakonec až v únoru a jestli nenabídne podobnou funkcionalitu jako Nvidia řešení, zřejmě nás čeká další kauza. Sbohem a dík za ryby.
Zdroj: Expreview, děkuji za spolupráci Lazarovi