{{htmlmetatags>metatag-robots=()
metatag-title=(IAV: Audio Video Isomorfico)
metatag-keywords=(IAV,Commodore 64,Commodore VIC20,Atari,Commodore128,MIDRES Library,6502,6510,z80,video,codec)
metatag-description=(Un codec audio video isomorfico, adatto per riprodurre filmati su computer a 8 bit.)
metatag-media-og:image=(::midres-logo-fb.png)
metatag-og:title=(IAV: Audio Video Isomorfico)
metatag-og:description=(Un codec audio video isomorfico, adatto per riprodurre filmati su computer a 8 bit.)
}}
====== IAV: Audio Video Isomorfico ======
**"LAVORI IN CORSO"**
Attualmente sto lavorando ad una futura release della [[:it:midres_library|libreria MIDRES]], in cui sarà possibile riprodurre video sullo schermo in "full motion" (convertiti da mp4, divx, avi e così via). Tutto grazie a **un formato video specifico** e un **algoritmo di codifica / decodifica** che ne consente l'utilizzo su vari modelli di retrocomputer, tra [[https://github.com/spotlessmind1975/midres/blob/master/docs/targets.md|quelli supportati]] dalla [[:it:midres_library|libreria MIDRES]].
{{ :iav-diagrammi-diagramma_generale.png?nolink&600 |}}
L'encoder sarà scritto in linguaggio PHP (versione 7) e sarà portabile su qualsiasi piattaforma. Il decoder sarà scritto in C standard (con il supporto della [[:it:midres_library|libreria MIDRES]]) e sarà disponibile su [[https://github.com/spotlessmind1975/midres/blob/master/docs/targets.md|varie piattaforme di retrocomputing]]. Il decoder sarà disponibile in [[:it:mt6502|modalità multithreading]]: sarà quindi possibile eseguire altra logica durante la decodifica del filmato.
{{ ::iav_esempio_compressione.jpg?nolink&600 |}}
\adsense\
Accanto alla prima versione dell'encoder (**IAV1**), orientata sui filmati di scarsa qualità come le serie TV registrate da segnale broadcasting e che da il suo meglio con filmati in bianco e nero, è stata sviluppata una seconda versione (**IAV2**) che invece è specializzata per filmati di buona qualità. Di questa seconda versione è stata realizzata uno "spin off" specializzato per gli anime (animazioni dai colori ben contrastati), chiamato **XIAV2**.
Al momento sono quindi disponibili 3 encoder, che funzionano sia in bianco e nero che a colori: su **[[:it:iav:gallery|questa pagina]]** è possibile consultare una galleria di filmati realizzati con i vari encoder.
Questo è un esempio della qualità della resa grafica dell'encoder **XIAV2** quando viene riprodotto da un Commodore 64 (in questo caso stiamo utilizzando un set PETSCII colorato con [[:it:msc1|compressione MSC1]]):
{{ youtube>5G5mjU-czW8?medium }}
Il filmato da cui è stato tratto questo spezzone è un file con codifica MP4 che viene "transcodificato", tramite l'algoritmo proprietario XIAV2 con rilevamento dei colori, in un flusso di schermate testuali (40 colonne per 25 righe). Il set di caratteri utilizzato è quello PETSCII. Il filmato è quindi rappresentato come "fotogrammi delta" (per differenze), ulteriormente compressi secondo un algoritmo proprietario ([[:it:msc1|MSC1]]). Al termine del processo, il file occupa solo 686.033 bytes (circa 686 KB).
La banda passante necessaria al rendering è pari a circa 5 KB/s nella versione monocromatica e a circa 7 KB/s in quella a colori, e comprende sia il tempo di caricamento dei dati che la decompressione in tempo reale dal formato compresso [[:it:msc1|MSC1]].
Anche se [[:it:benchmarks|ho svolto degli studi]] per verificare la possibilità di sostituire la RAM con una memoria di massa tipo il disk drive, per ottenere questa banda passante è stato necessario utilizzare una REU (RAM Expansion Unit) di 512 KB.
**Tornate spesso per conoscere lo stato di avanzamento dei lavori.**
===== POWERED BY =====
[[:midres_library|{{ :midres-logo.png?nolink&600 |}}]]