Čeština / English
Login

Aplikace / Video přehrávač

Autor: Stanislav Sigmund ()

Abstrakt: Aplikace používá IDE řadič s DMA přenosem, umožňuje procházet adresářovou strukturu, a přehrávat video-soubory ve vlastním formátu

Update: 12.6.2009

1. Popis aplikace

Aplikace používá IDE řadič s DMA přenosem, umožňuje procházet adresářovou strukturu, a přehrávat video-soubory ve vlastním formátu.

vplayer2.png

Obrázek 1.1: Blokové zapojení přehrávače

Řídící obvod grafického rozhraní používá několik řídících portů rozhraní SPI. Jako paměťové médium je použita paměť SDRAM, při použitém rozlišení 640x480 poskytuje 16 paměťových oblastí(bank). Data jsou uložena řídce, tedy součástí adresy je přímo číslo řádku a sloupce.

adresa

režim

použití

délka adresy (B)

délka dat(B)

40H

Z

bit 7=zapnutí zobrazování, bity 3-0 určují zobrazovanou banku

1

1

41H

Z

bity 6-0 určují horizontální rozlišení/8 (80=640)

1

1

42H

Z

bity 5-0 určují vertikální rozlišení/8 (60=480)

1

1

43H

Z

bity 1 a 0=změna měřítka (0=640x480, 1=320x240,2=160x120,3=80x60)

1

1

80H+81H

Z

cílová adresa dat pro přenos přes výstupní kanál řadiče: bity 9-0= číslo sloupce, bity 18-10= číslo řádku, bity 22-19= číslo banky

1

3

Tabulka : Popis jednotlivých řídících portů SPI grafického rozhraní

Pro přístup k registru 80H je vhodné použít fuknci FPGA_SPI_RW_A8_D3 z jednotky ide.h, neboť funkce FPGA_SPI_RW_A8_DN převrací pořadí znaků.

1.1. Podporované příkazy:

init

inicializuje disk a načte 1. partition na disku

dir/dirp[ název]

zobrazí seznam všech položek, případně jen položky zadaného jména (lze použít hvězdičkovou konvenci). verze dirp zobrazuje pouze jména

cd

přejde na adresář, pracuje pouze o jednu úroveň, = kořenový adresář

play název

přehraje video

show název

zobrazí obrázek

2. Popis video-formátu

2.1. Soubor typu RIF

Jedná se o velice jednoduchý formát sloužící k uložení statického obrázku. Obsah souboru začíná 4-znakovou identifikací "RIF ", dále následuje šířka a výška obrázku, obojí o velikosti slova. Poté jsou již uložena obrazová data, ve formátu 3:3:2 (počet bitů na R:G:B kanál), v pořadí zleva doprava a shora dolů. Maximální rozměry obrázku jsou 640x480. Obrázek ve formátu RIF lze je vytvářet ze souborů typu BMP (pouze 256 barev) pomocí utility bmp2rif dostupné v adresáři tools/avi2raf.

Příklad použití: bmp2rif vstup.bmp výstup.rif

2.2. Soubor typu RAF

Tento soubor se používá k uložení videosekvencí a začíná hlavičkou, kterou popisuje následující tabulka.

Offset

Velikost [B]

Popis

00H

4

znaky "RAFF"

04H

4

verze (00010000H)

08H

2

velikost hlavičky (22)

0AH

2

šířka (max. 640)

0CH

2

výška (max. 480)

0EH

2

rychlost (0=neudaná)

10H

4

počet snímků

14H

2

typ komprese (0=bez komprese)

16H

2

přítomnost indexu (zatím 0)

18H

2

velikost zvukových bloků

20H

2

typ komprese zvuku

Tabulka : Popis hlavičky souboru RAF

Za hlavičkou následují jednotlivé snímky. Data jsou uložena úplně ve stejném formátu jako v případě RIF. Max. velikost jednoho video snímku je 640x480, pro plynulé přehrávání však doporučujeme použít 160x120. Pro konverzi video souborů AVI lze použít utility avi2raf a bmp2raf v adresáři tools.

Příklad použití:

  • avi2raf zdroj.avi cil.raf - jsou využity standartní API funkce, takže video může být i komprimované

  • bmp2raf cil.raf zdroj1.bmp zdroj2.bmp ... - všechny soubory typu bmp musí mít stejnou velikost a hloubku 256 barev

3. Zprovoznění aplikace

  1. nahrajte na disk video soubor/y

  2. připojte pevný disk k FITkitu (viz dokument Přístup k externímu IDE disku) nakonfigurovaný jako MASTER. Kabel musí být upravený pro architekturu small

  3. přeložte aplikaci

  4. naprogramujte MCU a FPGA a spusťte terminálový program

  5. aktivujte propojku J6 pro povolení periferií PC

  6. po spuštění je nutné začít příkazem init

  7. přehrávání spusťte příkazem play nazev_souboru

Zobrazeno: 607x Naposledy: 19.9.2017 18:20:11