• Sabato 14 febbraio da Audio Quality partirà un roadshow che porterà il nuovo proiettore DLP 4K trilaser Valerion VisionMaster Max in giro per l'Italia e che toccherà Roma, Genova, Milano, Napoli, Padova e Udinee forse anche Bari e Torino. Maggiori info a questo indirizzo

HTPC, aiuto per la guida di ffdshow

Beato tu. Io, non avendolo mai capito, non l'ho mai usato :sbonk:

Non sarebbe da usare solo per materiale SD che resta SD - cioè rimane pur upscalato sotto le 720 linee - ed è I601.
 
Ultima modifica:
ciao a tutti.... mi inserisco in questa discussione per farmi iniziare da voi alla sublime arte di ffdshow.

prima cosa la mia configurazione

q6600
2 giga di ram
8800 gts 512 mbyte.
plasma full-hd 50 pollici (pansonic 50pz70)
:D

bene, sto muovendo i primi passi quindi abbiate pietà delle mie cavolate.

partendo dalle cose semplici, ho attivato in ffdshow solo avisynt come segue

SetMTMode(2,4)
ColorMatrix(Mode="Rec.601->Rec.709")
MT("Spline16Resize(1920, last.height)",4)
MT("Spline16Resize(last.width, 1080)", splitvertical=true,4)
MT("LimitedSharpenFaster(ss_x=1.2, ss_y=1.2, Smode=4, strength=50, wide=false, overshoot=10)",4)
ffdshow_setDAR(ffdshow_dar_x,ffdshow_dar_y)

i "4" che vedete sparsi ovunque, ho provato a metterli e toglierli ma non cambia nulla.

IL PROBLEMA CHE HO è semplice.

1 core al 90% gli altri al 50%
conseguentemente il film non è per nulla fluido (dvd "la compagnia dell'anello").

ho provato anche a disattivare avisynth e fare spline direttamente da ffdshow. in questo caso non ho scatti ma l'immagine si spezza (stile assenza del v-sync) continuamente (in particolare nei panning orizzontali).


DOMANDA:

cacchio è possibile che con il mio quad core non riesca ad upscalare a 1920*1080 e fare shaprner ?

EDIT

provando da avisynth a fare solo resize a 1920*1080 mi sembra come che questo se ne vada su un solo core che sta sul 50% gli altri 3 sono al 20%
 
Ultima modifica:
metti la chiamata del resize dopo il LSF ...prova così
SetMTMode(2,4)
ColorMatrix(Mode="Rec.601->Rec.709")
MT("LimitedSharpenFaster(ss_x=1.2, ss_y=1.2, Smode=4, strength=50, wide=false, overshoot=10)",4)
MT("Spline16Resize(1920, last.height)",4)
MT("Spline16Resize(last.width, 1080)", splitvertical=true,4)
ffdshow_setDAR(ffdshow_dar_x,ffdshow_dar_y)
 
ok cosi va bene, ma non lo avevo fatto perche sulla guida è sconsigliato se non ho capito male.

non sarebbe meglio prima fare resize poi sharp ?

comunque il problema dell'effetto assenza v-sync nei panning non è scomparso. da che dipende ?
 
Ultima modifica:
si sono su xp (ho abbandonato vista la scorsa settimana causa altri problemi).

non si tratta propiamente di microscatti, quanto un effetto tipo questo.

prendi l'immagine e traccia una riga ad una qualsiasi altezza. ora prendi le due regioni delimitate dalla riga e spostane una a destra e l'altra a sinistra di una bella manciata di pixel. o per meglio dire (perchè cosi sembra come che parte dell'immagine vada fuori dallo schermo).

traccia la solita linea ad un'altezza qualunque e nella regione superiore (o inferiore) visualizza il fotogramma successivo (o due successivi). La sensazione è una crepa nell'immagine.

questo non avviene sempre ma sempre sulle solite scene del film
 
è normale che nonostante in theatertek abbia tolto la spunta su DXVA e abbia selezionato come post processing ffdshow, comunque sulla barra di avvio mi ritrovi l'incona "NVIDIA DECODER" ?? :eek: ho anche disisntallato i pure video per provare, ma ci sta sempre
 
Ronzino ha detto:
cacchio è possibile che con il mio quad core non riesca ad upscalare a 1920*1080 e fare shaprner ?
E' possibile mettere alla frusta anche un quad core e la sequenza (nonchè la "forza") della tua chiamata in Avisynth lo fa bene ;)

Ronzino ha detto:
ok cosi va bene, ma non lo avevo fatto perche sulla guida è sconsigliato se non ho capito male
Non ne farei una regola ferrea, si dice che se il sistema lo supporta il resiza prima di LSF sarebbe preferibile ma anche là....diciamo che ci sono due scuole di pensiero:)


Ronzino ha detto:
La sensazione è una crepa nell'immagine....
Se ne parla già da tempo qua

Ronzino ha detto:
è normale che nonostante in theatertek abbia tolto la spunta su DXVA e abbia selezionato come post processing ffdshow, comunque sulla barra di avvio mi ritrovi l'incona "NVIDIA DECODER" ??
La decodifica MPEG2 è a carico del software NVIDIA, FFDshow si occupa del post-processing. L'icona sulla systray è normale.
 
Ultima modifica:
Spero di farcela e di non essere sotterrato prima :D

Un'altra novità a cui vi introdurrò è un denoiser Avisynth totalmente a carico della GPU. Avete capito bene: finalmente la scheda video farà qualcosa e, di conseguenza, ci sarà più potenza CPU da ripartire per qualcos'altro.

Le schede video supportate partono da: NVIDIA GeForce series 5 in poi, Ati Radeon 9500 in poi. Insomma una che supporti DirectX9.

NVIDIA è più beneficiata, più che altro per il controllo prestazioni che si può implementare attraverso NVPerfHUD; una sorta di Task Manager del processore.

E' in grado pure di fare un po' di sharpening ma mi sembra di capire che non sia ai livelli di LSF. Da verificare è anche la comparativa con il famoso hqn3d.

Che vi sembra? Interessante?
 
Ultima modifica:
stealth82 ha detto:
Un'altra novità a cui vi introdurrò è un denoiser Avisynth totalmente a carico della GPU.
Indipendentemente dallo sgravio sulla CPU in epoca in cui i nostri HTPC virano sempre più spesso verso configurazioni da HD con processori in sintonia e che generalmente, a meno che non si ricorra a chiamate "strozzapc", supportano senza grandi problemi il post-processing, l'ipotesi di un denoiser (o comunque qualsiasi altro filtro) in avisynth totalmente a carico della GPU secondo me è una novità da verificare e sperimentare :)


ciao sebi
 
Ronzino ha detto:
SetMTMode(2,4)
ColorMatrix(Mode="Rec.601->Rec.709")
MT("Spline16Resize(1920, last.height)",4)
MT("Spline16Resize(last.width, 1080)", splitvertical=true,4)
MT("LimitedSharpenFaster(ss_x=1.2, ss_y=1.2, Smode=4, strength=50, wide=false, overshoot=10)",4)
ffdshow_setDAR(ffdshow_dar_x,ffdshow_dar_y)
Allora, per puntualizzare meglio. MT e SetMTMode è una cosa che devo rivedere, per di più non ho ancora molta esperienza a riguardo di situazioni multi-thread.

Indubbiamente la chiamata che stai tentando è bella pesantina, 1920 non è uno scherzo nè il ss 1.2. dopo.

La cosa che vorrei mettere in chiaro sono. La sintassi delle chiamata e l'uso di SetMTMode.

Partendo dalla sintassi chiamata di MT devo dire che hai inserito un pò di numeri a caso :D. La chiamata non rispetta l'ordine se vengono specificati i parametri a testo ma li rispetta se non ci sono!

Quindi, avendo per MT una sintassi del genere...

Codice:
MT(clip clip, string filter, int threads, int overlap, bool splitvertical)

... non mi puoi mettere a casaccio i numeri (anche se fa un controllo formale sui tipi). Questa tua stringa è sintatticamente scorretta:

Codice:
MT("Spline16Resize(last.width, 1080)", splitvertical=true,4)

Il modo migliore per non sbagliare, e che io ho dimenticato di segnalare nei precedenti posts di questo thread, è quello di nomenclare i parametri, così:


Codice:
MT("Spline16Resize(1920, last.height)", threads=4)
MT("Spline16Resize(last.width, 1080)", threads=4, splitvertical=true)

Naturalmente il numero da specificare corrisponde al numero di core a tua disposizione che, mi sembra di capire, hai.

La chiamata di SetMTMode invece funziona in maniera diversa. Una volta specificati, nella prima chiamata, il numero di core a disposizione tali rimarrano fino alla fine. Non serve quindi rispecificare SetMTMode a due parametri successivamente. Inoltre SetMTMode è thread sensitive. Se tu lo inizializzi così...

SetMTMode(2,0)

automaticamente sfrutterà tutti i core a sua disposizione, il che è più facile per te da gestire; a meno che tu non voglia usare meno core. Una chiamata corretta quindi è:

Codice:
SetMTMode(2, 0)
ColorMatrix(Mode="Rec.601->Rec.709")
MT("Spline16Resize(1920, last.height)", threads=4)
MT("Spline16Resize(last.width, 1080)", threads=4, splitvertical=true)
MT("LimitedSharpenFaster(ss_x=1.2, ss_y=1.2, Smode=4, strength=50, wide=false, overshoot=10)", threads=4)
ffdshow_setDAR(ffdshow_dar_x,ffdshow_dar_y)

Chiamare MT è un po' come fare una chiamata scorciatoia comparabile a questo tipo:

Codice:
SetMTMode(5)
Mie istruzioni
SetMTMode(0)
Naturalmente hai poi altri vantaggi, cmq tant'è ;)
 
Ultima modifica:
Ronzino ha detto:
provando da avisynth a fare solo resize a 1920*1080 mi sembra come che questo se ne vada su un solo core che sta sul 50% gli altri 3 sono al 20%
Avendo tu un QuadCore sarai un ottimo banco di prova :D
 
Immagine fluida e spettacolare con occupazione CPU all'80% e perfetto equilibrio tra i due core ottenuta smanettando non poco fino ad arrivare ai seguenti parametri:

SetMTMode(2, 0)
SetMemoryMax(1024)
ColorMatrix(Mode="Rec.601->Rec.709",clamp=false)
MT("Spline16Resize(1280, last.height)")
MT("Spline16Resize(last.width, 720)", splitvertical=true)
#MT("hqdn3d(2)",2)
MT("LimitedSharpenFaster(ss_x=1.2, ss_y=1.2, Smode=4, strength=90, wide=false, overshoot=0, soft=10)",5)
ffdshow_setDAR(ffdshow_dar_x,ffdshow_dar_y)


Ho disabilitato il denoiser in quanto con lo spline mi sembrava alquanto inutile.

NB: se tolgo quel ,5 posto alla fine della riga del comado LSF, mi si squilibrano i core e mi va tutto a scattini/rallentatore.

commenti?
grazie,
ciao
 
Ultima modifica:
Con questi altri parametri ottengo un leggero miglioramento della pur ottima fluidità (rispetto aalla prec. conf.) nei panning orizzzontali, immagine piu dettagliata e compatta (denoiser completamente inutile) con occupazione CPU al 75% ma con uno squilibrio di circa il 10% a sfavore del 2° core:

SetMTMode(2, 0)
SetMemoryMax(1024)
ColorMatrix(Mode="Rec.601->Rec.709",clamp=false)
MT("Spline16Resize(1920, last.height)")
MT("Spline16Resize(last.width, 1080)", splitvertical=true)
#MT("hqdn3d(2)",2)
MT("LimitedSharpenFaster(ss_x=1.0, ss_y=1.0, Smode=4, strength=90, wide=false, overshoot=0, soft=10)",5)
ffdshow_setDAR(ffdshow_dar_x,ffdshow_dar_y)


NB: anche per questi se tolgo quel ,5 posto alla fine della riga del comado LSF, mi si squilibrano i core e mi va tutto a scattini/rallentatore.

voce agli esperti.

ciao,
fil
 
Ultima modifica:
SetMTMode(2, 0)
SetMemoryMax(1024)
ColorMatrix(Mode="Rec.601->Rec.709",clamp=false)
MT("Spline16Resize(1280, last.height)")
MT("Spline16Resize(last.width, 720)", splitvertical=true)
#MT("hqdn3d(2)",2)
MT("LimitedSharpenFaster(ss_x=1.2, ss_y=1.2, Smode=4, strength=90, wide=false, overshoot=0, soft=10)",5)
ffdshow_setDAR(ffdshow_dar_x,ffdshow_dar_y)

con un E6400 ho il secondo core saturo mentre il primo sta intorno al 75%.
Se non ho capito male l'efficacia di LSF dop il resize diminuisce....oltre che pompare a manetta l'utilizzo della cpu.
 
@ciaca

LSF dopo il resize lavora con maggiori informazioni quindi risulta meno invasivo ma pur sempre efficace a scapito di maggior occupazione di risorse.

ciao,
fil
 
f_carone ha detto:
Con questi altri parametri ottengo un leggero miglioramento della pur ottima fluidità (rispetto aalla prec. conf.) nei panning orizzzontali, immagine piu dettagliata e compatta (denoiser completamente inutile) con occupazione CPU al 75% ma con uno squilibrio di circa il 10% a sfavore del 2° core:

SetMTMode(2, 0)
SetMemoryMax(1024)
ColorMatrix(Mode="Rec.601->Rec.709",clamp=false)
MT("Spline16Resize(1920, last.height)")
MT("Spline16Resize(last.width, 1080)", splitvertical=true)
#MT("hqdn3d(2)",2)
MT("LimitedSharpenFaster(ss_x=1.0, ss_y=1.0, Smode=4, strength=90, wide=false, overshoot=0, soft=10)",5)
ffdshow_setDAR(ffdshow_dar_x,ffdshow_dar_y)


NB: anche per questi se tolgo quel ,5 posto alla fine della riga del comado LSF, mi si squilibrano i core e mi va tutto a scattini/rallentatore.

voce agli esperti.

ciao,
fil

per la fluidità io ho 1 unico consiglio.......TOGLI HQDN3D ;)
 
secondo me a meno che nn hai un monitor a 1080 è inutile riscalare a 1080.....io infatti preferisco la seconda opzione: aumentare il supersampler di LSF e fare il resize a 1280x720.
prova questa chiamata e fammi sapere :

SetMemoryMax(1024)
MT("LimitedSharpenFaster(ss_x=1.4, ss_y=1.4, Smode=3, strength=210, overshoot=0, soft=60)",3)
MT("Spline16Resize(1280, last.height)")
MT("Spline16Resize(last.width, 720)", splitvertical=true)
ffdshow_setDAR(ffdshow_dar_x,ffdshow_dar_y)
ColorMatrix(Mode="Rec.601->Rec.709",clamp=false,threads=2)
 
f_carone ha detto:
Con questi altri parametri ottengo un leggero miglioramento della pur ottima fluidità (rispetto aalla prec. conf.) nei panning orizzzontali, immagine piu dettagliata e compatta (denoiser completamente inutile) con occupazione CPU al 75% ma con uno squilibrio di circa il 10% a sfavore del 2° core:
Mi sembra che lo Spline, a differenza del Lanczos, sià più sbilanciato nella divisione del carico. Giusto per curiosità potresti provare a mettere il Lanczos e vedere che succede ;)

f_carone ha detto:
anche per questi se tolgo quel ,5 posto alla fine della riga del comado LSF, mi si squilibrano i core e mi va tutto a scattini/rallentatore.
Ecchehai... un pentacore, puoi darti che overthreadare le funzioni possa portare un reale beneficio di prestazione... perchè io non me lo spiego :D
 
Neo85 ha detto:
secondo me a meno che nn hai un monitor a 1080 è inutile riscalare a 1080.....io infatti preferisco la seconda opzione: aumentare il supersampler di LSF e fare il resize a 1280x720.
Anche questo sarà oggetto di considerazione prossimamente.
 
Top