Spline16Resize - problema

gandalf

New member
Qualcuno mi sa spiegare perchè utilizzando lo Spline16Resize di avisynth mi produce un'immagine spezzata come questa?

41952194lc0.jpg


Lo script avisynth che uso è il seguente:
Codice:
SetMTMode(2, 0)
SetMemoryMax(1024)
MT("hqdn3d(3)", threads=2)
Colormatrix(Mode="Rec.601->Rec.709",threads=2)
MT("Spline16Resize(1024, last.height)")
MT("Spline16Resize(last.width, 576)", splitvertical=true)
MT("LimitedSharpenFaster(ss_x=1.2, ss_y=1.2, Smode=4, Strength=80, Wide=true, Overshoot=8)", threads=2)
ffdshow_setDAR(ffdshow_dar_x, ffdshow_dar_y)

Ho un Core 2 Duo e8200.
Se uso il resize di ffdshow, funziona correttamente.

EDIT: immagino che il problema sia dovuto a MT, ma non saprei dire se sbaglio qualcosa nella sua chiamata.
 
Ultima modifica:
E' un programma di controllo remoto?
Hai controllato se il problema si presenta anche collegando direttamente un monitor all'HTPC?
 
Ultima modifica:
si, è VNC, controllo remoto. Non ho ancora guardato se effettivamente il problema sussiste anche visionando direttamente a monitor, però ti posso dire che se tolgo le istruzioni Spline16Resize, vedo correttamente, quindi eslcudo che sia un problema di VNC.

Dammi 5 minuti che accendo il proiettore e confermo.
 
cosa c'è da ridere?
Ho controllato e l'immagine è spezzata anche visionando direttamente da proiettore. VNC non mente.
 
In ogni caso, ho provato esattamente il tuo script e oltre al fatto che il video è una slideshow( junk processor... :asd: ) non mostra altri problemi, tantomento quello che tu lamenti.
Prova a visualizzare il video con un altro player e guarda se il problema si risolve.

EDIT: prova con questo script:
Codice:
SetMTMode(2, 0)
SetMemoryMax(1024)
MT("hqdn3d(3)", threads=2)
Colormatrix(Mode="Rec.601->Rec.709",threads=2)
MT("Spline16Resize(1024, last.height)", threads=2)
MT("Spline16Resize(last.width, 576)",threads=2)
MT("LimitedSharpenFaster(ss_x=1.2, ss_y=1.2, Smode=4, Strength=80, Wide=true, Overshoot=8)", threads=2)
ffdshow_setDAR(ffdshow_dar_x, ffdshow_dar_y)
e dimmi se ti da ancora il problema.
 
Sospettavo appunto un comportamento del genere, visto che lo script è più o meno identico ad uno che ho trovato qui sul forum e che funziona correttamente su altri pc.
Il tuo processore è dual core? Il problema penso risieda in ciò. L'immagine viene spezzata da MT per far lavorare un core su una parte e l'altro core sulla parte rimanente. Evidentemente da me qualcosa non funziona come dovrebbe.

Il player è theatertek 2.6. Non è lui il problema.

EDIT: post contemporaneo, ora provo il nuovo script
EDIT: lo script che mi hai proposto da un errore (scritta gialla in alto):
"MT: function changed the height! Try splitvertical=true"

l'immagine è corretta (non tagliata). Provo a reinserire anche lo splitvertical e ti so dire
 
Ultima modifica:
quando metto lo splitvertical=true, la scritta gialla di cui sopra scompare, ma l'immagine torna ad essere tagliata in 3 blocchi.
 
Ulteriore conferma del fatto che è MT: se imposto
threads=4 nelle due chiamate di Spline16 ecco come cambia il problema:

25331239wv9.jpg


EDIT: Se imposto threads=1, l'immagine è completa e senza tagli, tuttavia perdo il vantaggio del multithreading e ho un core al 10%, l'altro al 90%.
 
Ultima modifica:
Ridevo per una mia deduzione ma che poi non si è rivelata esatta... ma non volevo essere sarcastico...

Hai sostituito la dll di Avisynth nella System32?
 
Parlo di questa nota:

Le CPU multi-thread
Scompattare MT.dll dal subpack MT.zip.
Scompattare nella cartella System32 di Windows (solitamente C:\WINDOWS\System32) il file avisynth.dll sostituendo quello presente (fare un eventuale backup preventivo).
 
no, è diversa da quella del pack. (le dimensioni non coincidevano)
Parlo del tuo pack scaricato 1 mese fa, non so se ora l'hai aggiornato...

Anche la dll MT è diversa da quella che avevo.
Cmq l'importante è che si è risolto.

Piuttosto sai indicarmi qualche guida o qualche discussione illuminante sulle varie possibilità offerta da MT + SetMTmode per ripartire il carico fra i core? Attualmente sono troppo sbilanciato. Ho un core a 20 e l'altro a 80. Lo so che posso provare smanettando e mettendo numeretti a caso, ma un minimo di logica ci sarà e vorrei sapere cosa faccio quando cambio i numeri.

EDIT: in particolare vorrei sapere se esiste un modo per indicare in quale dei due core una data operazione va eseguita.
 
Ultima modifica:
gandalf ha detto:
no, è diversa da quella del pack. (le dimensioni non coincidevano)
Parlo del tuo pack scaricato 1 mese fa, non so se ora l'hai aggiornato...
Lo aggiornai a fine gennaio / inizio febbraio credo... forse ne sei andato in cerca non dalla mia guida ma da qualche vecchio post di questo thread?

Ti dico questo perchè potresti avere ancora altri files vecchi se hai scaricato il primo pack. Quello nuovo si chiama plugins_v2.zip.

Per quanto riguarda ciò che chiedi... sì, più che un modo esiste un posto dove puoi "farti una scuola" al riguardo:

http://forum.doom9.org/showthread.php?t=94996

Ci vuole solo pazienza per leggere, capire ed eventualmente domandare. Se non dovessi perderla anzitempo ti saremo poi molto grati se condividessi le informazioni acquisite in modo da migliorare anche la guida ;)
 
Top