PDA

View Full Version : Confronto tra decoder H264 (FFDshow-CoreAVC-DXVA2)


conan_75
17-01-2009, 15:10
Ho fatto un raffronto tra i principali decoder H264, quindi volevo condividere con voi i risultati ottenuti e magari discuterli.

Perchè H264?
Perchè ormai è lo standard per l'alta definizione; WMV mi pare sia stato usato poco e niente, mentre VC1 viene usato per alcuni bluray ma non ha diffusione sul web.
Inoltre per H264 è disponibile un ottimo encoder gratuito (X264) e tantissime suite a pagamento.
Per ultimo, la scelta di Divx7 di appoggiare lo standerd e certificarlo mi pare aver messo la parola fine alla questione.

Bando alle ciance passiamo ai fatti:

HARDWARE DI TEST

P8400 (2.26Ghz)
GM45
4Gb DDR2 800
Ati HD3650 mobile
il resto credo sia ininfluente

SOFTWARE
Win Vista 32 Sp1
MPC HC

IMPOSTAZIONI MPC
Render EVR
Resize bicubico 0,75 eseguito via PS 2.0 (ininfluente in questa prova visto che mappavo 1:1).
Normalizzazione ed equalizzazione audio via FFDShow.

IMPOSTAZIONI DECODER

CoreAVC 1.8.5.0 professional
FFDShow-MT 2624 SSE (Release del 15-01-2009 compilata con Icl10)
Decoder DXVA2 integrato in MPC-HC 1.2.908

Tutti i decoder con deblocking di default e senza deinterlacciamento.

FILMATO

EF- A tale of memories OPENING
Durata 1:30 1920x1080 H264-AAC
65,5Mb (bitrate circa 6000Kbps, abbastanza valido per test).


Primo grafico: Decoder FFDShow-MT

http://img213.imageshack.us/img213/4373/ffdshownopostba0.th.jpg (http://img213.imageshack.us/my.php?image=ffdshownopostba0.jpg)


Secondo grafico: Decoder CoreAVC

http://img519.imageshack.us/img519/8765/coreavcip1.th.jpg (http://img519.imageshack.us/my.php?image=coreavcip1.jpg)


Terzo grafico: Decoder hardware DXVA2


http://img519.imageshack.us/img519/7111/dxva2mq8.th.jpg (http://img519.imageshack.us/my.php?image=dxva2mq8.jpg)






Purtoppo non avevo grandi mezzi per fare un buon monitoraggio, però con un colpo d'occhio si riesce a vedere bene l'andamento durante la riproduzione del filmato.

In sintesi sono sorpreso dalle capacità di FFDShow-MT, che fino a poco tempo fa le prendeva sonoramente da CoreAVC sotto l'aspetto dell'utilizzo CPU.
Nella pratica FFDShow-MT sembra utilizzare meglio i due core, bilanciando maggiormente il lavoro tra essi: difatti il CoreAVC consuma mediamente un 5-7% in più sul core principale e altrettanto meno sul secondo core (a occhio).

Se teniamo conto che FFDShow decodifica sia l'audio che il video di qualsiasi formato, applica effetti di ogni tipo e sopratutto è gratis e quotidianamente sviluppato, possiamo dire che CoreAVC (ricordo a pagamento) può andare in pensione.

Discorso a parte per il terzo test, ovvero la decodifica in HW fatta dalla scheda video.
In questo caso l'utilizzo della CPU è praticamente zero, tenendo conto che poi la CPU stava al minimo per la questione della frequenza variata dinamicamente.
In poche parole, escludendo il classico utilizzo della cpu in background di vista, possiamo dire che con l'utilizzo di una scheda video anche scarsa ma di ultima generazione (Ati HD2xxx o superiore, Nvidia 8xxx o superiore) si possono fruire i contenuti fullHD anche con CPU moooolto vecchie, a mio avviso anche con P3 1Ghz e Atom.
Sarebbe curioso come prossimo test capire quale sia il limite minimo di cpu necessaria...


A voi il dibattito ;)

gianni.aec
21-01-2009, 23:01
ciao!
ho letto con interesse la tua discussione e vorrei chiederti delle info a proposito del terzo test che sembra fare proprio a caso mio.

Ho assemblato un HTPC collegato tramite hdmi al mio Samsung 32" con le seguenti caratteristiche :

CPU AMD x2 5600+
2 gb ram 800mhz
nvidia 9500gt fanless

S.O. Vista SP1 32bit

Ho acquistato anche un telecomando certificato per vista, e quindi utilizzo il media center di microsoft per visualizzare i filmati che ho sull'hd.

naturalmente ho fatto tutto questo per vedere i file .mkv in alta definizione 720p o 1080p.

ecco però il problema che mi si è presentato:

so che la mia scheda video è compatibile con la tecnologia nvidia pure video hd, che permette la visione di filmati hd utilizzando la sola GPU senza passare per il processore.

puoi spiegarmi quindi quali codec devo installare e come configurarli, per poter utilizzare il mediacenter e sfruttare a pieno la gpu ?

grazie mille!!

Giannino

conan_75
21-01-2009, 23:12
Con quella scheda dovresti decodificare anche H264 profile 5.1, ovvero tutto.

Partiamo da un presupposto: la tua CPU decodifica tutto anche in software mode, ma scaricare il lavoro sulla GPU ti può dare vantaggi in termini di consumo e rumore (ventola CPU).

Comunque, prima prova, scarica questo: http://www.xvidvideo.ru/content/view/594/2/

(scegli la versione 32bit, clicca, poi alla schermata successiva premi "I Agree").

Fai partire un filmato fullhd H264 e valuta se l'accelerazione GPU funziona (cpu usata poco o niente).

elevul
27-10-2009, 21:33
Tiro su un attimo la discussione per dire una cosa: dopo aver letto un'analisi simile( su doom9) avevo provato su un vecchio portatile( core due duo di prima generazione) a mettere a confronto come fluidità coreavc e ffdshow-mt, ma, purtroppo, l'unico fluido era, manco a dirlo, coreavc... :fagiano:
Tanto che alla fine, grazie a questa prova, mi sono pure deciso a comprarlo... :asd:

conan_75
27-10-2009, 22:59
Mi ricordo, la prova andrebbe rifatta con CoreAVC 1.9.5 e un monitoraggio delle risorse più preciso di quella mezza schifezza dell'altra volta ;)

elevul
28-10-2009, 21:55
Mi ricordo, la prova andrebbe rifatta con CoreAVC 1.9.5 e un monitoraggio delle risorse più preciso di quella mezza schifezza dell'altra volta ;)

Infatti io la prova sul portatile l'avevo fatta proprio con coreavc 1.9.5. :D

Non vedo l'ora che esca la 2. Sono curiosissimo di vedere che novità, oltre a quelle già annunciate, si sono inventati... :D