<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Estrusioni Sinaptiche &#187; AviSynth</title>
	<atom:link href="http://www.alienman.it/blog/category/avisynth/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.alienman.it/blog</link>
	<description>La casa dell&#039;Unico Neurone</description>
	<lastBuildDate>Sat, 26 Jun 2010 13:37:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Velocizzare la codifica tramite HuffYuv</title>
		<link>http://www.alienman.it/blog/2007/05/22/velocizzare-la-codifica-tramite-huffyuv/</link>
		<comments>http://www.alienman.it/blog/2007/05/22/velocizzare-la-codifica-tramite-huffyuv/#comments</comments>
		<pubDate>Tue, 22 May 2007 07:05:13 +0000</pubDate>
		<dc:creator>AlienmaN</dc:creator>
				<category><![CDATA[AviSynth]]></category>
		<category><![CDATA[codifica]]></category>
		<category><![CDATA[huffyuv]]></category>
		<category><![CDATA[velocizzare]]></category>

		<guid isPermaLink="false">http://lnx.alienman.it/blog/?p=80</guid>
		<description><![CDATA[<p>Uno dei maggiori problemi quando si creano script per AviSynth è l&#8217;estrema lentezza di alcuni di essi a causa di filtri e/o script di varia natura che mangiano cicli di clock come se fossero cornflakes a colazione.    Se già un passaggio dello script è lento, figuriamoci quando questo è effettuato due (o [...]]]></description>
			<content:encoded><![CDATA[<p>Uno dei maggiori problemi quando si creano script per <a href="http://avisynth.org/mediawiki/Main_Page">AviSynth</a> è l&#8217;estrema lentezza di alcuni di essi a causa di filtri e/o script di varia natura che mangiano cicli di clock come se fossero cornflakes a colazione.    <br />Se già un passaggio dello script è lento, figuriamoci quando questo è effettuato due (o più) volte per la codifica tramite il codec di nostra preferenza.    <br />Uno dei sistemi per dimezzare i tempi è quello di usare il codec <span style="font-weight: bold">HuffYuv</span> (non è l&#8217;unico, ma in questo caso ci focalizziamo su questo). Questo codec è di tipo lossless e ci permetterà di avere un file video completamente filtrato pronto per essere compresso col codec che vogliamo.    <br />L&#8217;importante da tenere a mente è che, essendo un codec <a href="http://it.wikipedia.org/wiki/Lossless">lossless</a>, il file risultante avrà una dimensione enorme, a partire dai 15Gb in su (dipende dalla risoluzione adottata e dalla lunghezza del filmato).    <br />Gli unici strumenti fissi necessari sono <a href="http://www.virtualdub.org/">VirtualDub</a> oppure <a href="http://downloads.sourceforge.net/virtualdubmod/VirtualDubMod_1_5_10_2_All_inclusive.zip?modtime=1125529938&amp;big_mirror=0">VirtualDubMod</a> (che servirà per codificare in HuffYuv) e un editor di testi (oppure quello che si usa per costruire gli script per AviSynth) nonché, ovviamente, il codec HuffYuv installato.</p>
<p><span style="font-weight: bold">Fase 1 &#8211; Installazione del codec HuffYuv</span></p>
<p>Una volta <a href="http://www.free-codecs.com/download/HuffYUV.htm">scaricato</a> e decompresso l&#8217;archivio in una cartella a nostro piacimento, scopriremo che il programma non ha un installer vero e proprio. Poco male. Facciamo tasto destro del mouse sul file<span style="font-weight: bold"> </span><span style="font-weight: bold">huffyuv.inf</span><span style="font-style: italic"> </span>e quindi clicchiamo su <span style="font-weight: bold">Installa</span>.    <br />Dopo qualche secondo il codec è installato nel sistema e pronto all&#8217;uso.</p>
<p><span style="font-weight: bold">Fase 2 &#8211; Codifica dello script in HuffYuv</span></p>
<p>Apriamo il nostro fido VirtualDub (personalmente preferisco VirtualDubMod: anche se vecchiotto rimane la release più stabile in assoluto) e apriamo lo script bello pesante tramite <span style="font-weight: bold">File -&gt; Open&#8230;</span>    <br />A questo punto andiamo su <span style="font-weight: bold">Video -&gt; Compression&#8230;</span>    <br />Dall&#8217;elenco sulla sinistra scegliamo il codec <span style="font-weight: bold">HuffYuv</span> e poi clicchiamo il tasto <span style="font-weight: bold">Configure     <br /></span>Assicuriamoci che entrambi i menu a tendina in alto siano su <span style="font-weight: bold">Best</span> mentre il resto dei parametri li lasciamo così come sono (c&#8217;è la possibilità di mettere <span style="font-style: italic">RGB Compression</span> su <span style="font-style: italic">&lt;&#8211; Convert to YUY2</span> per avere una maggiore compressione, però la codifica non sarà esattamente lossless)    <br />A questo punto non dobbiamo fare altro che andare su <span style="font-style: italic">File -&gt; Save as&#8230;</span>, inserire un nome al nostro lavoro temporaneo e metterci pazienti ad aspettare il termine della codifica.</p>
<p><span style="font-weight: bold">Nota:</span> per gli utenti più smaliziati, c&#8217;è la possibilità di suddividere il filmato in uscita in spezzoni di dimensione fissa spuntando l&#8217;opzione <span style="font-weight: bold">Segment output file</span> (nella finestra di <span style="font-style: italic">Save as&#8230;</span>) e dichiarando la dimensione voluta. Questo permette di poter controllare &quot;al volo&quot; la qualità del filtraggio senza per questo dover aspettare il termine dell&#8217;intera codifica., poiché verranno salvati spezzoni di file della dimensione immessa.</p>
<p><span style="font-weight: bold">Fase 3 &#8211; La ricodifica del filmato HuffYuv</span></p>
<p>Ora bisogna comprimere il nostro file lossless con il codec di nostra scelta.   <br />Per farlo ci avvaliamo di un semplice script come questo:</p>
<table border="1" cellspacing="1" cellpadding="1" width="200">
<tbody>
<tr>
<td><font size="2">AviSource(&quot;c:\test\test.avi&quot;)           <br />ConvertToYV12()</font></td>
</tr>
</tbody>
</table>
<p>La prima riga indica il filmato da caricare mentre la seconda serve per convertire il piano colore del filmato da <a href="http://en.wikipedia.org/wiki/Rgb">RGB</a> (codifica HuffYuv) a <a href="http://en.wikipedia.org/wiki/YV12">YV12</a> (YUY, usata dalla maggior parte dei codec, come XviD o DivX)    <br />A questo punto non serve fare altro che aprire questo script con l&#8217;interfaccia di nostro gradimento (es. VirtualDub o <a href="http://www.x264.nl">meGUI</a>), impostare il codec in base alle nostre preferenze e godere dei tempi di codifica sostanzialmente dimezzati.</p>
<p>&#160;</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:289dc155-2300-466f-83fd-81bf1af24c33" class="wlWriterEditableSmartContent">Tag: <a href="http://technorati.com/tags/codifica" rel="tag">codifica</a>,<a href="http://technorati.com/tags/huffyuv" rel="tag">huffyuv</a>,<a href="http://technorati.com/tags/velocizzare" rel="tag">velocizzare</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.alienman.it/blog/2007/05/22/velocizzare-la-codifica-tramite-huffyuv/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Denoising tramite MvTools</title>
		<link>http://www.alienman.it/blog/2007/01/15/denoising-tramite-mvtools/</link>
		<comments>http://www.alienman.it/blog/2007/01/15/denoising-tramite-mvtools/#comments</comments>
		<pubDate>Mon, 15 Jan 2007 14:40:28 +0000</pubDate>
		<dc:creator>AlienmaN</dc:creator>
				<category><![CDATA[AviSynth]]></category>
		<category><![CDATA[denoising]]></category>
		<category><![CDATA[mvtools]]></category>

		<guid isPermaLink="false">http://lnx.alienman.it/blog/?p=117</guid>
		<description><![CDATA[<p>Le MvTools sono un potente strumento di analisi e trattamento delle immagini tramite vettori di moto. Le possibilità offerte da questa libreria sono moltissime, ma mi soffermo solamente su un semplice script per creare uno strumento molto potente di denoising.   Per prima cosa bisogna procurarsi l&#8217;ultima versione delle MvTools (per questo esempio è [...]]]></description>
			<content:encoded><![CDATA[<p>Le MvTools sono un potente strumento di analisi e trattamento delle immagini tramite vettori di moto. Le possibilità offerte da questa libreria sono moltissime, ma mi soffermo solamente su un semplice script per creare uno strumento molto potente di denoising.   <br />Per prima cosa bisogna procurarsi l&#8217;ultima versione delle MvTools (per questo esempio è stata usata la versione 1.6.2 di Fizick reperibile <a href="http://avisynth.org.ru/mvtools/mvtools.html">qui</a>)</p>
<p>La prima cosa necessaria è effettuare una analisi sui blocchi dell&#8217;immagine (decideremo noi le dimensioni di questi blocchi). Questa analisi dev&#8217;essere effettuata su dei frames prima e dopo quello preso in considerazione (solitamente n-2 n-1 n n+1 n+2, dove n è il frame corrente).   <br />Lo script di analisi è il seguente:</p>
<p><font size="1"></font><font style="color: rgb(0,0,255)" size="2"></font><font size="1"><span style="font-family: courier new">source = last       <br />backward_vec2 = source.MVAnalyse(isb = true, delta = 2, pel = 2, overlap=4, sharp=2, idx = 1) </span>      <br style="font-family: courier new" /><span style="font-family: courier new">backward_vec1 = source.MVAnalyse(isb = true, delta = 1, pel = 2, overlap=4, sharp=2, idx = 1) </span>      <br style="font-family: courier new" /><span style="font-family: courier new">forward_vec1 = source.MVAnalyse(isb = false, delta = 1, pel = 2, overlap=4, sharp=2, idx = 1)       <br /></span></font><span style="font-family: courier new"><font size="1">forward_vec2 = source.MVAnalyse(isb = false, delta = 2, pel = 2, overlap=4, sharp=2, idx = 1)</font> </span>    <br style="font-family: courier new" />    <br />Partiamo dall&#8217;inizio a commentare:    <br /><span style="color: rgb(255,0,0); font-weight: bold">source = last</span> : significa che la variabile <span style="font-style: italic; font-weight: bold">source</span> avrà come valore il fotogramma corrente (<span style="font-style: italic; font-weight: bold">last</span>);    <br /><span style="color: rgb(255,0,0); font-weight: bold">backward_vec1</span> &amp; <span style="color: rgb(255,0,0); font-weight: bold">backward_vec2</span> : a queste due variabili verranno assegnati i risultati dell&#8217;analisi dei frames precedenti a quello attuale;    <br /><span style="color: rgb(255,0,0); font-weight: bold">forward_vec1</span> &amp; <span style="color: rgb(255,0,0); font-weight: bold">forward_vec2</span>: come sopra, ma per i due frames posteriori;    <br /><span style="color: rgb(255,0,0); font-weight: bold">isb </span>= <span style="font-style: italic">true/false</span> indica in che direzione dev&#8217;essere effettuata l&#8217;analisi. True indica all&#8217;indietro, false in avanti.    <br /><span style="color: rgb(255,0,0); font-weight: bold">delta</span> indica quale frame deve prendere in considerazione rispetto al corrente (n+delta). Non occorre specificare valori negativi poiché c&#8217;è già il parametro isb a regolare l&#8217;avanti e l&#8217;indietro.    <br /><span style="color: rgb(255,0,0); font-weight: bold">pel</span> indica l&#8217;accuratezza della ricerca. 2 è la migliore.    <br /><span style="color: rgb(255,0,0); font-weight: bold">overlap</span> sta ad indicare quanta sovrapposizione c&#8217;è fra un blocco e l&#8217;altro. Questo parametro è importante e va sempre inserito in caso di uso dell&#8217;analisi vettoriale per effettuare un denoising (in caso di utilizzo delle mvtools solo per analisi di moto, non è necessario). Il mancato inserimento di questo parametro comporta l&#8217;insorgere di blocchetti nelle zone in movimento rispetto alla staticità del resto del frame (esempio: si sta inquadrando una persona che muove solamente le braccia. Sulle braccia si potranno vedere tanti piccoli blocchi causati dalla mancata sovrapposizione, in fase di analisi, tra di loro). Personalmente preferisco usare un overlap pari a metà del blocco di ricerca (che di default è 8).    <br /><span style="color: rgb(255,0,0); font-weight: bold">sharp</span> indica il metodo di interpolazione subpixel per <span style="font-weight: bold">pel=2</span> (se <span style="font-weight: bold">pel</span> non fosse <span style="font-weight: bold">2</span>, questo parametro sarebbe ignorato). Col valore 2 viene usata la interpolazione di <span style="font-style: italic">Wiener</span> (migliore).    <br /><span style="color: rgb(255,0,0); font-weight: bold">idx</span> permette al filtro (in questo caso MVAnalyze) di immagazzinare l&#8217;interpolazione creata durante la stima del moto in modo da poter essere riutilizzata da un altra istanza del filtro. Questo permette una guadagno in velocità di elaborazione. Il valore non è importante, purché sia uguale per tutti e 4 i filtri.    <br /><span style="color: rgb(255,0,0)"><span style="color: rgb(0,0,0)"></span></span>    <br />A questo punto l&#8217;analisi vettoriale dei frames è completata. Ora si deve passare il risultato al denoiser, in questo modo:</p>
<p><font size="1"><span style="color: rgb(0,0,255)">source.MVDegrain2(backward_vec1, forward_vec1, backward_vec2, forward_vec2, thSAD=400, plane=4, idx=1)</span></font></p>
<p><span style="color: rgb(255,0,0); font-weight: bold">MVDegrain2</span> è il denoiser temporale che andremo ad usare. Esso è già incorporato nelle MvTools, quindi non dovremo caricare nessun altra libreria. Analizziamo i parametri:    <br /><span style="color: rgb(255,0,0); font-weight: bold">backward_vec1, forward_vec1, backward_vec2, forward_vec2</span> non sono altro che le variabili contenenti i risultati dell&#8217;analisi del moto come sopra descritti;    <br /><span style="color: rgb(255,0,0); font-weight: bold">thSAD</span> è la forza con cui verrà applicato il filtro: maggiore è il valore, maggiore sarà la forza di denoising;    <br /><span style="color: rgb(255,0,0); font-weight: bold">plane</span> è il piano colore (color plane) su cui verrà applicato il filtraggio: 0 &#8211; luma, 1 &#8211; chroma U, 2 &#8211; chroma V, 3 &#8211; entrambi i chroma, 4 &#8211; tutti. Default è 4.</p>
<p>Una semplicissima applicazione è la seguente:</p>
<p><font style="color: rgb(0,0,255)" size="1">LoadPlugin(&quot;C:\PROGRA~1\GORDIA~1\DGMPGDec\DGDecode.dll&quot;)     <br />LoadPlugin(&quot;C:\PROGRA~1\GORDIA~1\AviSynthPlugins\Undot.dll&quot;)      <br />LoadPlugin(&quot;C:\PROGRA~1\GORDIA~1\AviSynthPlugins\MvTools.dll&quot;)</font>    </p>
<p>mpeg2source(&quot;D:\zzz\VIDEO_TS\zzz.d2v&quot;, idct=5)</p>
<p>crop(4,78,710,412, align=true)</p>
<p>source = last</p>
<p>backward_vec2 = source.MVAnalyse(isb = true, lambda = 1000, delta = 2, pel = 2, idx = 1, overlap=4)     <br />backward_vec1 = source.MVAnalyse(isb = true, lambda = 1000, delta = 1, pel = 2, idx = 1, overlap=4)      <br />forward_vec1 = source.MVAnalyse(isb = false, lambda = 1000, delta = 1, pel = 2, idx = 1, overlap=4)      <br />forward_vec2 = source.MVAnalyse(isb = false, lambda = 1000, delta = 2, pel = 2, idx = 1, overlap=4)      <br />source.MVDeGrain2(backward_vec2, backward_vec1, forward_vec1, forward_vec2, thSAD=300, idx=1)</p>
<p>LanczosResize(592,240)     </p>
<p>&#160;</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:2ce9767e-6f5a-4246-923f-a8ba67414e0e" class="wlWriterEditableSmartContent">Tag: <a href="http://technorati.com/tags/denoising" rel="tag">denoising</a>,<a href="http://technorati.com/tags/mvtools" rel="tag">mvtools</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.alienman.it/blog/2007/01/15/denoising-tramite-mvtools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lumy</title>
		<link>http://www.alienman.it/blog/2006/12/12/lumy/</link>
		<comments>http://www.alienman.it/blog/2006/12/12/lumy/#comments</comments>
		<pubDate>Tue, 12 Dec 2006 08:47:00 +0000</pubDate>
		<dc:creator>AlienmaN</dc:creator>
				<category><![CDATA[AviSynth]]></category>
		<category><![CDATA[guida]]></category>
		<category><![CDATA[Luma]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://lnx.alienman.it/blog/?p=122</guid>
		<description><![CDATA[<p>Una metodologia di filtraggio un po&#8217; diversa dal solito può essere quella di questo scriptino contenente la funzione Lumy. Il concetto di funzionamento è assolutamente banale: presa la luminosità (Y) media del frame tramite la funzione interna AverageLuma() e la si raffronta con delle soglie da noi impostate. In base alla collocazione, si attua un [...]]]></description>
			<content:encoded><![CDATA[<p>Una metodologia di filtraggio un po&#8217; diversa dal solito può essere quella di questo scriptino contenente la funzione Lumy. Il concetto di funzionamento è assolutamente banale: presa la luminosità (Y) media del frame tramite la funzione interna <span style="font-weight: bold">AverageLuma()</span> e la si raffronta con delle soglie da noi impostate. In base alla collocazione, si attua un filtraggio differente.    <br />Lo script deriva direttamente dalla <span style="font-weight: bold">Quantified Motion Filter</span> (<span style="font-style: italic">QMF</span>) di cui ne eredita la struttura, mentre l&#8217;analisi cambia, come detto, poiché non c&#8217;è più il raffronto di luma/chroma fra frames, bensì soltanto l&#8217;analisi della luminosità media di ogni singolo frame.</p>
<table border="0" cellspacing="1" cellpadding="1" width="100%">
<tbody>
<tr>
<td style="text-align: left" bgcolor="#66ffcc"><font size="1">Function Lumy(clip c, float &quot;lt0&quot;, float &quot;lt1&quot;, float &quot;lt2&quot;, float &quot;lt3&quot;, bool &quot;debug&quot;)           <br />{            <br />global Lt0 = default(lt0, 0.5)            <br />global Lt1 = default(lt1, 1.5)            <br />global Lt2 = default(lt2, 3)            <br />global Lt3 = default(lt3, 6)            <br />global debug = default(debug, false)            <br />global Lclip = c
<p>c = ConditionalFilter(c, Luma_1(c ), c, &quot;LYlev&quot;, &quot;=&quot;, &quot;0&quot;)             <br />c = ConditionalFilter(c, Luma_2(c ), c, &quot;LYlev&quot;, &quot;=&quot;, &quot;1&quot;)              <br />c = ConditionalFilter(c, Luma_3(c ), c, &quot;LYlev&quot;, &quot;=&quot;, &quot;2&quot;)              <br />c = ConditionalFilter(c, Luma_4(c ), c, &quot;LYlev&quot;, &quot;=&quot;, &quot;3&quot;)              <br />c = ConditionalFilter(c, Luma_5(c ), c, &quot;LYlev&quot;, &quot;=&quot;, &quot;4&quot;)</p>
<p>c = (debug == true) ? ScriptClip(c, &quot;Ldebug()&quot;) : c             <br />c = FrameEvaluate(c, &quot;global LYlev = (LLuma &lt; Lt0) ? 0 : (LLuma &lt; Lt1 &amp;&amp; LLuma &gt; Lt0) ? 1 : (LLuma &lt; Lt2 &amp;&amp; LLuma &gt; Lt1) ? 2 : (LLuma &lt; Lt3 &amp;&amp; LLuma &gt; Lt2) ? 3 : 4&quot;)              <br />c = FrameEvaluate(c, &quot;global LLuma = AverageLuma(LClip)/10&quot;)              <br />return c              <br />}</p>
<p>Function Ldebug(clip c)             <br />{              <br />c = Subtitle(c, &quot;Current: &quot; + string(LLuma), x=25, y=90, font=&quot;courier new&quot;,size=24)              <br />return c              <br />}</p>
<p>Function Luma_1 (clip c)             <br />{              <br />c = <span style="font-style: italic">Filtraggio desiderato per la soglia 1</span>              <br />return c              <br />}</p>
<p>Function Luma_2 (clip c)             <br />{              </p>
<p>           </font><font size="1">c = <span style="font-style: italic">Filtraggio desiderato per la soglia 2</span></font>            <br /><font size="1">return c             <br />}</font>
<p>Function Luma_3 (clip c)             <br />{              </p>
<p>           <font size="1">c = <span style="font-style: italic">Filtraggio desiderato per la soglia 3</span></font>            <br /><font size="1">return c             <br />}</font>
<p>Function Luma_4 (clip c)             <br />{              </p>
<p>           <font size="1">c = <span style="font-style: italic">Filtraggio desiderato per la soglia 4</span></font>            <br /><font size="1">return c             <br />}</font>
<p>Function Luma_5 (clip c)             <br />{              </p>
<p>           <font size="1">c = <span style="font-style: italic">Filtraggio desiderato per la soglia 5</span></font>            <br /><font size="1">return c             <br />}</font></td>
</tr>
</tbody>
</table>
<p>Per l&#8217;applicazione dei filtri bisogna considerare che la soglia 1 è quella a luminosità minore mentre, ovviamente, la soglia 5 è quella a luminosità maggiore.   <br />Tecnicamente è molto semplice modificare lo script in modo da aggiungere/togliere soglie inutili, anche se sarebbe meglio non creare mai stacchi troppo evidenti di filtraggio.    <br />Il richiamo della funzione è semplicissimo ed è il seguente:</p>
<table border="0" cellspacing="1" cellpadding="1" width="100%">
<tbody>
<tr>
<td bgcolor="#66ffcc"><font size="1">Lumy(clip, float &quot;lt0&quot;, float &quot;lt1&quot;, float &quot;lt2&quot;, float &quot;lt3&quot;, bool &quot;debug&quot;)</font></td>
</tr>
</tbody>
</table>
<p><span style="font-weight: bold">lt0</span>, <span style="font-weight: bold">lt1</span>, <span style="font-weight: bold">lt2</span> e <span style="font-weight: bold">lt3</span> saranno ovviamente i valori delle soglie da noi impostati. Il booleano (quindi o true o false) <span style="font-weight: bold">debug</span> serve a renderci conto con una stampa a video quali sono i valori di luminosità media all&#8217;interno del filmato.    <br />Un esempio pratico può essere:</p>
<table border="0" cellspacing="1" cellpadding="1" width="100%">
<tbody>
<tr>
<td bgcolor="#66ffcc"><font size="1">Lumy(lt0=3.30, lt1=6.70, lt2=7.20, lt3=8.5,debug=false)</font></td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c27bf5fd-5f5c-4581-ad30-512744c32426" class="wlWriterEditableSmartContent">Tag: <a href="http://technorati.com/tags/guida" rel="tag">guida</a>,<a href="http://technorati.com/tags/Luma" rel="tag">Luma</a>,<a href="http://technorati.com/tags/script" rel="tag">script</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.alienman.it/blog/2006/12/12/lumy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sommare i capitoli di due DVD</title>
		<link>http://www.alienman.it/blog/2006/11/22/sommare-i-capitoli-di-due-dvd/</link>
		<comments>http://www.alienman.it/blog/2006/11/22/sommare-i-capitoli-di-due-dvd/#comments</comments>
		<pubDate>Wed, 22 Nov 2006 10:13:41 +0000</pubDate>
		<dc:creator>AlienmaN</dc:creator>
				<category><![CDATA[AviSynth]]></category>
		<category><![CDATA[capitoli]]></category>
		<category><![CDATA[dvd]]></category>
		<category><![CDATA[guida]]></category>

		<guid isPermaLink="false">http://lnx.alienman.it/blog/?p=127</guid>
		<description><![CDATA[Questa microguida spiega come fare per unire due serie di capitoli estrapolati da due DVD (ovviamente devono provenire da, per esempio, un documentario diviso su due DVD) per essere poi utilizzati come capitoli in un contenitore di tipo MKV (che poi il tutto si possa riadattare a qualsivoglia contenitore e/o formato di sottotitoli, lo lascio [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align: justify">Questa microguida spiega come fare per unire due serie di capitoli estrapolati da due DVD (ovviamente devono provenire da, per esempio, un documentario diviso su due DVD) per essere poi utilizzati come capitoli in un contenitore di tipo MKV (che poi il tutto si possa riadattare a qualsivoglia contenitore e/o formato di sottotitoli, lo lascio a voi).    <br />La teoria è semplice: la capitolazione non è nient&#8217;altro che un indicazione di un tempo (es. 01:15:22,235 espresso in ore:minuti:secondi:centesimi di secondo) oppure in frames (113050 fotogrammi) a cui può essere associato un titolo per un richiamo più veloce e semplice delle scene associate.     <br />Il problema è questo: quando devo sommare due capitolazioni di due DVD differenti, ovviamente, questa riparte ricalcolando i segmenti partendo sempre da zero. Direte che è semplice unirli: basta sommare il tempo (o il frames) dell&#8217;ultimo capitolo del primo DVD con il primo capitolo del secondo DVD. Vero. Ci avete mai provato? Il problema è come viene salvata la capitolazione e che sommare ore, minuti, secondi e <span style="text-decoration: underline">centesimi di secondo</span> non è proprio cosa di tutti i giorni. Ecco che ci viene in aiuto un foglio di calcolo di Excel (o similare, purché supporti il calcolo di frazioni di tempo e che abbia il formato celle modificabile) e tanta pazienza.     <br />Per prima cosa dobbiamo avere estrapolato i capitoli in formato OGG/TXT (perché poi li inseriremo in un contenitore MKV), cosa che potete aver già fatto quando avete (se avete) trasportato i VOB su HD tramite DVDDecrypter oppure con ChapterXtractor, programma fornito a corredo del pacchetto GordianKnot Rip Pack oppure scaricabile da qui.
<p><span style="color: rgb(255,0,0); font-weight: bold">FASE 1</span>: <span style="font-weight: bold">Non abbiamo il file con i capitoli</span> (se lo si ha, passare alla Fase 2)       <br />Apriamo ChapterXtractor e poi in basso a sinistra clicchiamo su <span style="font-weight: bold">Open IFO</span>; quindi andremo alla ricerca dell&#8217;IFO presente nella cartella sull&#8217;HD o direttamente sul DVD.       <br />Il programma ci metterà un attimo a fornire nella finestra principale un po&#8217; di informazioni sul DVD che tanto salteremo bellamente di guardare.       <br />Se vedete una scritta rossa che recita <span style="color: rgb(255,0,0)">Warning ! Last chapter length is less than 5 s and has been disabled.</span> non preoccupatevi minimamente: è un capitolo finale che indica la fine del DVD e che non viene preso in considerazione.       <br />Ora l&#8217;importante è selezionare l&#8217;<span style="font-weight: bold">output corretto</span> dei capitoli. Come in ogni cosa, ci sono mille e mille varianti diverse dello stesso ottenibile risultato. Quello che interessa a noi è il formato <span style="font-weight: bold">OGG</span>.       <br />Clicchiamo in alto sul tab <span style="font-weight: bold">Format</span> e poi dal menu Presets in basso e scegliamo <span style="font-weight: bold">OGG</span> dal menu a tendina. Automaticamente il programma modificherà il formato dei capitoli adattandoli allo standard OGG.       <br />Ora non ci rimane che salvare il lavoro fin qui svolto tramite l&#8217;apposito tasto in basso a sinistra <span style="font-weight: bold">Save Data.</span>       <br />Ricordiamoci che questa operazione va fatta per due volte (o più), una per ogni DVD.</p>
<p><span style="color: rgb(255,0,0); font-weight: bold">FASE 2</span>: <span style="font-weight: bold">Unione dei capitoli        <br /></span>Ora che abbiamo i due files con la divisione in capitoli (vero che ne abbiamo due e non avrete sovrascritto uno sull&#8217;altro?), dobbiamo andare a creare il nostro foglio di calcolo che ci permetterà di calcolare le somme dei tempi dei due capitoli.       <br />Apriamo quindi Excel (o programma similare), selezioniamo tre colonne, tasto destro nella selezione -&gt; <span style="font-weight: bold">Formato celle&#8230;</span> -&gt; <span style="font-weight: bold">Personalizzato</span> e inseriamo come formato <span style="font-weight: bold">h:mm:ss,000</span> (attenzione che il separatore fra le ore, i minuti e i secondi è<span style="font-weight: bold"> due punti</span>, mentre fra i secondi e i centesimi di secondo è una <span style="font-weight: bold">virgola</span>).       <br />Ora apriamo il file con i capitoli del primo DVD, scorriamo il testo fino alla fine e trascriviamo nella tabella di Excel l&#8217;ultimo time segnato che ci servirà come referente per sommare tutti i time successivi (questo lo mettiamo in alto a sinistra, cella A1). Facciamo molta attenzione al separatore dei centesimi che nel formato OGG è un <span style="text-decoration: underline">punto</span>, ma invece nella nostra tabella è una <span style="text-decoration: underline">virgola</span> (questo a causa di Excel che non accetta come separatore dei centesimi di secondo altro che una virgola).       <br />Nella colonna <span style="font-weight: bold">B</span> ricopiamo i time dei capitoli del secondo DVD (facendo attenzione a quanto appena detto sulla virgola).       <br />Nella colonna <span style="font-weight: bold">C</span> creiamo la formula <span style="color: rgb(51,102,255); font-weight: bold">=A$1+B1</span> e poi la ricopiamo a fianco di tutti i time della colonna <span style="font-weight: bold">B</span>. Automaticamente avremo già i tempi dei capitoli spostati in avanti del tempo dell&#8217;ultimo capitolo del primo DVD.</p>
<p><span style="color: rgb(255,0,0); font-weight: bold">FASE 3</span>: <span style="font-weight: bold">Riordino e finalizzazione dei capitoli        <br /></span><span style="font-weight: bold"></span>Adesso rimane la parte più pallosa: ricopiare i time e riordinare l&#8217;elenco dei capitoli, aggiungendoci anche i titoli, se necessario.       <br />Prendiamo il file con i capitoli del primo DVD e apriamolo con Notepad (o programma similare). Andiamo in fondo al testo e ricopiamo le ultime due righe (<span style="font-weight: bold">chapterN�=</span> e <span style="font-weight: bold">chapterN�name=</span>) aggiungendole al testo già presente modificano progressivamente il numero del capitolo. Ora prendiamo dalla prima cella della colonna B del nostro foglio di Excel il time e lo sostituiamo a quello presente delle righe appena copiate.       <br />Ripetiamo l&#8217;operazione di copia e sostituzione per tutti capitoli rimanenti, facendo sempre ben attenzione che il tempo nel file dei capitoli è segnato <span style="color: rgb(255,0,0); font-weight: bold">hh:mm:ss.000</span> mentre in Excel <span style="font-weight: bold">hh:mm:ss,000</span>.       <br />Eseguita questa operazione possiamo mettere i nomi dei capitoli andando a sostituire la scritta <span style="font-style: italic">Chapter N</span> col nome del capitolo corrispondente.       <br />Fatto questo salviamo il file (magari fatelo anche nel mezzo dell&#8217;operazione, che non si sa mai) e abbiamo il nostro file dei capitoli <span style="font-weight: bold">unito</span>.       <br />L&#8217;operazione, come potete constatare, è più lunga da descrivere che da fare e richiede solo un minimo di attenzione per quanto riguarda le virgole e i punti dei due sistemi di codifica. L&#8217;operazione, poi, può essere riadattata per quasi qualsiasi altro formato di capitolazione.       <br />Ora questo file è possibile utilizzarlo, per esempio, in un bel contenitore MKV insieme a tutto il resto (audio e video) nel apposito box nel tab <span style="font-weight: bold">Global</span> -&gt; <span style="font-weight: bold">Chapter File</span> di <span style="font-style: italic">mkvmerge GUI</span>.</p>
</p></div>
<p>&#160;</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:57ab5b9e-2722-4863-bc57-98b0e62494be" class="wlWriterEditableSmartContent">Tag: <a href="http://technorati.com/tags/capitoli" rel="tag">capitoli</a>,<a href="http://technorati.com/tags/dvd" rel="tag">dvd</a>,<a href="http://technorati.com/tags/guida" rel="tag">guida</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.alienman.it/blog/2006/11/22/sommare-i-capitoli-di-due-dvd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TBilateral v0.9.11</title>
		<link>http://www.alienman.it/blog/2006/05/17/tbilateral-v0911/</link>
		<comments>http://www.alienman.it/blog/2006/05/17/tbilateral-v0911/#comments</comments>
		<pubDate>Wed, 17 May 2006 08:37:04 +0000</pubDate>
		<dc:creator>AlienmaN</dc:creator>
				<category><![CDATA[AviSynth]]></category>
		<category><![CDATA[aggiornamento]]></category>
		<category><![CDATA[filtri]]></category>
		<category><![CDATA[guida]]></category>

		<guid isPermaLink="false">http://lnx.alienman.it/blog/?p=177</guid>
		<description><![CDATA[<p>Rilasciata ieri la nuova versione di TBilateral, filtro spaziale creato da tritical.</p>
<p>Changelog:</p>
+ added resType 3, MLR (multiple linear regression)+ some internal changes and code cleanup - fixed a problem with the sse2 yuy2 packed to planar and planar to packed conversions that could sometimes (very rarely) cause crashes with yuy2 input - fixed IDC_IKERND combobox [...]]]></description>
			<content:encoded><![CDATA[<p>Rilasciata ieri la nuova versione di <span style="font-weight: bold;">TBilateral</span>, filtro spaziale creato da tritical.</p>
<p><span style="font-weight: bold;">Changelog:</span></p>
<div style="margin-left: 40px;">+ added resType 3, MLR (multiple linear regression)<br />+ some internal changes and code cleanup <br />- fixed a problem with the sse2 yuy2 packed to planar and planar to packed conversions that could sometimes (very rarely) cause crashes with yuy2 input <br />- fixed IDC_IKERND combobox being set to dropdown instead of dropdownlist</div>
<p>resType = 3 takes the weights and pixel values from inside the filtering window and does a best plane fit to the data. It then gets the final value from the plane equation. A paper I read said that it should fix the stairstepping problem that neighborhood filters (using a plain weighted average) sometimes produce. However, I didn&#8217;t see much if any difference and it is about 50x times slower than a weighted average. For stability reasons it uses singular value decomposition to find a matrix inverse which makes it even slower.</p>
<p><a href="http://bengal.missouri.edu/~kes25c/TBilateralv0911.zip">Download</a><br /><a href="http://forum.doom9.org/showthread.php?t=77856">Thread di riferimento (in inglese)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.alienman.it/blog/2006/05/17/tbilateral-v0911/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FrFun7 rev. 5</title>
		<link>http://www.alienman.it/blog/2006/05/08/frfun7-rev-5/</link>
		<comments>http://www.alienman.it/blog/2006/05/08/frfun7-rev-5/#comments</comments>
		<pubDate>Mon, 08 May 2006 14:31:03 +0000</pubDate>
		<dc:creator>AlienmaN</dc:creator>
				<category><![CDATA[AviSynth]]></category>
		<category><![CDATA[aggiornamento]]></category>
		<category><![CDATA[filtri]]></category>
		<category><![CDATA[guida]]></category>

		<guid isPermaLink="false">http://lnx.alienman.it/blog/?p=182</guid>
		<description><![CDATA[<p>Il filtro FrFun è stato aggiornato pesantemente. Si passa da un filtro solamente spaziale ad un filtro spazio-temporale. La parametrizzazione viene leggermente cambiata: FrFun7(Lambda (default=1.1), Ty (default=6.0), Tuv (default=4.0) ).     Scompare il parametro Subsampling e compare Lambda. Il concetto è sempre lo stesso, anche se ribaltato: maggiore è il Lambda, maggiore [...]]]></description>
			<content:encoded><![CDATA[<p>Il filtro <span style="font-weight: bold">FrFun</span> è stato aggiornato pesantemente. Si passa da un filtro solamente<span style="font-style: italic"> spaziale </span>ad un filtro <span style="font-style: italic">spazio-temporale.</span> La parametrizzazione viene leggermente cambiata: <span style="color: rgb(51,102,255); font-weight: bold">FrFun7</span><span style="font-style: italic">(</span><span style="font-style: italic; color: rgb(255,0,255)">Lambda</span><span style="font-style: italic"> (default=1.1), </span><span style="font-style: italic; color: rgb(255,0,255)">Ty </span><span style="font-style: italic">(default=6.0), </span><span style="font-style: italic; color: rgb(255,0,255)">Tuv</span><span style="font-style: italic"> (default=4.0) ).     <br /></span>Scompare il parametro Subsampling e compare <span style="font-weight: bold">Lambda</span>. Il concetto è sempre lo stesso, anche se ribaltato: maggiore è il Lambda, maggiore è la forza con cui viene applicato il filtro.</p>
<p><a href="http://forum.doom9.org/showthread.php?t=110200">Thread di riferimento</a>    </p>
<p><span style="font-style: italic"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.alienman.it/blog/2006/05/08/frfun7-rev-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FrFun3B</title>
		<link>http://www.alienman.it/blog/2006/05/02/frfun3b/</link>
		<comments>http://www.alienman.it/blog/2006/05/02/frfun3b/#comments</comments>
		<pubDate>Tue, 02 May 2006 12:41:18 +0000</pubDate>
		<dc:creator>AlienmaN</dc:creator>
				<category><![CDATA[AviSynth]]></category>
		<category><![CDATA[aggiornamento]]></category>
		<category><![CDATA[filtri]]></category>
		<category><![CDATA[guida]]></category>

		<guid isPermaLink="false">http://lnx.alienman.it/blog/?p=185</guid>
		<description><![CDATA[<p>Questo è un nuovo tipo di denoiser che si basa su frattali per l&#8217;eliminazione della sporcizia.    La parametrizzazione è molto semplice, in quanto sono richiesti solo 3 parametri: threshold Y (luminosità), threshold UV (colore), numero S di subsamples.    Il filtro è discretamente pesante (siamo alle soglie di un FFT3DFilter), [...]]]></description>
			<content:encoded><![CDATA[<p>Questo è un nuovo tipo di denoiser che si basa su <span style="font-weight: bold">frattali</span> per l&#8217;eliminazione della sporcizia.    <br />La parametrizzazione è molto semplice, in quanto sono richiesti solo 3 parametri: threshold <span style="color: rgb(51,102,255); font-weight: bold">Y</span> (luminosità), threshold <span style="color: rgb(51,102,255); font-weight: bold">UV</span> (colore), numero <span style="color: rgb(51,102,255); font-weight: bold">S</span> di subsamples.    <br />Il filtro è discretamente pesante (siamo alle soglie di un FFT3DFilter), soprattutto quando si esagera con i subsamples.    <br />Il richiamo è semplice: una volta caricata la libreria (<span style="color: rgb(51,102,255)">LoadPlugin</span>(<span style="color: rgb(51,153,102)">&quot;FrFun3B.dll&quot;</span>)), il richiamo del denoiser è il seguente:</p>
<div style="margin-left: 40px"><span style="font-weight: bold">FrFun3B(</span><span style="font-style: italic; color: rgb(255,0,255); font-weight: bold">clip, Ty, Tuv, S</span><span style="font-weight: bold">)</span>    <br /><span style="font-weight: bold"></span></div>
<p><a href="http://forum.doom9.org/showthread.php?t=110200">Thread ufficiale in inglese</a><span style="font-weight: bold"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.alienman.it/blog/2006/05/02/frfun3b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AviSynth 2.5.7 alpha 3</title>
		<link>http://www.alienman.it/blog/2006/04/22/avisynth-257-alpha-3/</link>
		<comments>http://www.alienman.it/blog/2006/04/22/avisynth-257-alpha-3/#comments</comments>
		<pubDate>Sat, 22 Apr 2006 13:54:24 +0000</pubDate>
		<dc:creator>AlienmaN</dc:creator>
				<category><![CDATA[AviSynth]]></category>
		<category><![CDATA[aggiornamento]]></category>
		<category><![CDATA[programmi]]></category>
		<category><![CDATA[ripping]]></category>

		<guid isPermaLink="false">http://lnx.alienman.it/blog/?p=188</guid>
		<description><![CDATA[<p>Uscita proprio oggi (un&#8217;oretta fa) la nuova versione Alpha 3 di Avisynth 2.5.7DownloadThread ufficiale in inglese</p>
]]></description>
			<content:encoded><![CDATA[<p>Uscita proprio oggi (un&#8217;oretta fa) la nuova versione <span style="font-weight: bold; color: rgb(0, 0, 255);">Alpha 3</span> di <span style="font-weight: bold; color: rgb(255, 0, 0);">Avisynth 2.5.7</span><br /><a href="http://prdownloads.sourceforge.net/avisynth2/AviSynth_220406.exe?download">Download</a><br /><a href="http://forum.doom9.org/showthread.php?t=110315">Thread ufficiale in inglese</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.alienman.it/blog/2006/04/22/avisynth-257-alpha-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Le Function – Not for Noob – Parte 1</title>
		<link>http://www.alienman.it/blog/2006/04/11/le-function-not-for-noob-parte-1/</link>
		<comments>http://www.alienman.it/blog/2006/04/11/le-function-not-for-noob-parte-1/#comments</comments>
		<pubDate>Tue, 11 Apr 2006 14:11:53 +0000</pubDate>
		<dc:creator>AlienmaN</dc:creator>
				<category><![CDATA[AviSynth]]></category>
		<category><![CDATA[guida]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://lnx.alienman.it/blog/?p=193</guid>
		<description><![CDATA[<p>Uno degli strumenti pi&#249; interessanti e sicuramente quello che permette una maggiore estendibilit&#224; delle funzioni di AviSynth &#232; la Function. Come spesso accade, anche la sintassi di AviSynth &#232; di derivazione di codice gi&#224; conosciuto, come il C o il Basic. Pertanto chi ha gi&#224; familiarit&#224; con questi linguaggi, trover&#224; molto semplice l&#8217;applicazione pratica delle [...]]]></description>
			<content:encoded><![CDATA[<p>Uno degli strumenti pi&ugrave; interessanti e sicuramente quello che permette una maggiore estendibilit&agrave; delle funzioni di AviSynth &egrave; la <span style="font-weight: bold; color: rgb(255, 0, 0);">Function</span>. Come spesso accade, anche la sintassi di AviSynth &egrave; di derivazione di codice gi&agrave; conosciuto, come il C o il Basic. Pertanto chi ha gi&agrave; familiarit&agrave; con questi linguaggi, trover&agrave; molto semplice l&#8217;applicazione pratica delle funzioni.<br />La <span style="font-weight: bold; color: rgb(255, 0, 0);">Function</span> serve per creare (lo dice il nome stesso) delle <span style="font-weight: bold;">funzioni</span> poi richiamabili a piacimento all&#8217;interno dello script Avs. All&#8217;interno delle sue parentesi graffe potremo operare sul filmato applicando, per esempio, una catena di filtraggio, eseguire operazioni booleane, creare script complessi condizionali e condizionati e restituire il tutto allo script madre per continuare la sua elaborazione. <br />La funzione creata deve sottostare a certe regole, tra cui la dichiarazione delle <span style="font-weight: bold;">variabili in entrata</span> (se sono <span style="font-style: italic; color: rgb(255, 0, 255);">clip, string, integer, float, bool,</span> etc.) e l&#8217;obbligo di far ritornare un valore (<span style="font-weight: bold;">return</span>) allo script madre. Il resto lo possiamo decidere noi. Diciamo che la <span style="font-weight: bold; color: rgb(255, 0, 0);">Function </span>&egrave; <span style="text-decoration: underline;">uno script nello script</span> e pu&ograve; essere molto complessa e strutturata.<br />Un esempio banale (ma al contempo complessa) pu&ograve; essere la funzione <span style="font-weight: bold;">QMF</span>: il file che viene richiamato all&#8217;interno dello script principale (tramite comando <span style="font-weight: bold; color: rgb(0, 0, 255);">Import</span>) non &egrave; altro che una funzione che si prende cura di eseguire tutte le operazioni di analisi, di confronto e di debug, per poi restituire un richiamo ad una ulteriore Function all&#8217;interno della struttura madre (le varie Filter_Motion_Nil, Filter_Motion_Low, Filter_Motion_Mid, etc.)<br />Un esempio terra-terra di una Function pu&ograve; essere:</p>
<div style="margin-left: 40px;">Function <span style="color: rgb(0, 0, 255);">Denoiser</span> (<span style="color: rgb(255, 0, 0);">clip</span> input)<br />{<br />input = DeGrainMedian (input, 3,2,3)<br />input = Crop (input, 0,72,-4,-72)<br />input = RemoveGrain (input, mode = 5)<br />return input<br />}</div>
<p>All&#8217;inizio &quot;creiamo&quot; la funzione dandogli un nome (<span style="color: rgb(0, 0, 255);">Denoiser</span>) e dichiarando una variabile d&#8217;ingresso (<span style="color: rgb(255, 0, 0);">clip input</span>). In questo caso la variabile &egrave; una clip, cio&egrave; un filmato.<br />Poi lavoriamo sulla clip in ingresso prima applicando un filtro di denoise, poi eseguendo il crop dell&#8217;immagine e successivamente applicando un ulteriore denoiser.<br />Finita la catena, facciamo ritornare il risultato allo script principale tramite il comando <span style="font-weight: bold;">return</span>.<br />Senza il comando <span style="font-weight: bold;">return</span> il risultato della funzione non verrebbe restituito allo script principale, dandovi errore.<br />Quando vorremo richiamare la funzione appena creata, non dovremo fare altro che invocarla cos&igrave;:</p>
<div style="margin-left: 40px;"><span style="color: rgb(0, 0, 255);">Denoiser</span>()</p>
</div>
<p>Il risultato che otterremo sar&agrave; ci&ograve; che verr&agrave; restituito dalla funzione.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alienman.it/blog/2006/04/11/le-function-not-for-noob-parte-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AviSynth 2.5.7 alpha 2</title>
		<link>http://www.alienman.it/blog/2006/04/05/avisynth-257-alpha-2/</link>
		<comments>http://www.alienman.it/blog/2006/04/05/avisynth-257-alpha-2/#comments</comments>
		<pubDate>Wed, 05 Apr 2006 08:56:57 +0000</pubDate>
		<dc:creator>AlienmaN</dc:creator>
				<category><![CDATA[AviSynth]]></category>
		<category><![CDATA[aggiornamento]]></category>
		<category><![CDATA[programmi]]></category>

		<guid isPermaLink="false">http://lnx.alienman.it/blog/?p=196</guid>
		<description><![CDATA[<p>Uscita il 2 aprile (ehm&#8230;sono un po&#8217; in ritardo) la versione Alpha 2 di AviSynth.Molti bug risolti e un concentramento di risorse verso l&#8217;inserimento di stream audio tramite script AVS.DownloadThread ufficiale (in inglese)</p>
]]></description>
			<content:encoded><![CDATA[<p>Uscita il 2 aprile (ehm&#8230;sono un po&#8217; in ritardo) la versione <span style="font-weight: bold;">Alpha 2</span> di <span style="font-weight: bold; color: rgb(255, 0, 0);">AviSynth</span>.<br />Molti bug risolti e un concentramento di risorse verso l&#8217;inserimento di stream audio tramite script AVS.<br /><a href="http://prdownloads.sourceforge.net/avisynth2/AviSynth_260402.exe?download">Download</a><br /><a href="http://forum.doom9.org/showthread.php?t=109477">Thread ufficiale (in inglese)</a><br /><span style="font-weight: bold; color: rgb(255, 0, 0);"><span style="color: rgb(0, 0, 0);"></span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.alienman.it/blog/2006/04/05/avisynth-257-alpha-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
