ネットワークビデオ伝送評価ボード



概要

本製品はネットワークによるマルチメディアコンテンツ伝送の開発プラットフォームです。

開発環境

wpa-devel.png

応用事例

wpa1n.png

SM501機能一覧

共通画面解像度VGA, SVGA, XGA, SXGA
アルファ層色数65,536色,透明色使用時4,096色
ダブルバッファリング不可
ビデオアルファ層色数65,536色,透明色使用時4,096色
ダブルバッファリング不可
ビデオ層色数65,536色
ダブルバッファリング
動画再生支援機能スケーリング,色変換
背景層色数16,777,216色,SXGA時は65,536色
ダブルバッファリング

ハードウェア

ご注意

送受信機 WPAR00

wpar00.jpg
図1: WPAR00
 
表1: WPAR00主な仕様
ビデオ入力S端子, RCAコンポジット図1左面下
オーディオ入力RCAステレオ図1左面下
ビデオ出力S端子, RCAコンポジット図1下面左
オーディオ出力RCAステレオ図1下面左
アナログRGB出力DSUB15(使用不可)図1下面左
Ethernet100BaseTX図1右面中
シリアルコンソールRS-232C図1右面上
電源DC 5V図1上面中
リセットスイッチボタン図1右上
スイッチボタン x 6図1右上
ビデオADCPhilips SAA7115
オーディオADCPhilips UDA1342TS
ビデオDACCirrus Logic CS4954
オーディオDACCirrus Logic CS4331
CPURenesas 7751R図1中央
MPEG CodecVweb VW2010図1左上
Flash ROM32MB
メインメモリ64MB
ビデオメモリ16MB

受信機 WPAR01

wpar01.jpg
図2: WPAR01
 
表2: WPAR01主な仕様
ビデオ出力S端子, RCAコンポジット図2下面中央
オーディオ出力RCAステレオ図2下面中央
アナログRGB出力DSUB15図2下面右
Ethernet100BaseTX(PCカード)図2右面中央
シリアルコンソールUSB図2下面左
電源DC 5V図2下面左
リセットスイッチボタン図2下面左
スイッチボタン x 3図2上面左
CPURenesas 7751R図2上部中央
MPEG CodecVweb VW2010 (VW2002モード)図2左下
ビデオコントローラSilicon Motion SM501図2右中央
ビデオDACCirrus Logic CS4954
オーディオDACCirrus Logic CS4334
Flash ROM16MB
メインメモリ64MB
ビデオメモリ8 + 16MB
JTAG14ピンJTAG(H-UID)コネクタ
 
wpa01_block.png
図3: ブロック図

ソフトウェア

ご注意

ユーザーランド更新

ユーザランドの更新はNFSを通じて行います。

  1. Windows SFUまたはLinux等でNFSサーバを用意し,WPARに対してexportを許可してください。
  2. ルートファイルシステムを書き込み可能にします。
    mount -w -o remount /
  3. NFSサーバに更新したいバイナリを置いてWPARからマウントします。
    mount 1.2.3.4:/export /mnt/nfs
  4. バイナリを更新してください。
    cp /mnt/nfs/vwnet_send2 /bin
    cp /mnt/nfs/libvwStream.so /lib
  5. ルートファイルシステムを読み込み専用に戻します。
    mount -r -o remount /
  6. NFSマウントを解除します。
    umount /mnt/nfs

vw_utils

表3: wpa_utilsプログラム一覧
プログラム名引数機能
vwdecoder*.ini *.mpg opt...MPEGファイルを再生してビデオ出力
vwencoder*.ini *.mpg opt...ビデオ入力を符号化してMPEGファイルに保存
vwcodec*.ini *.mpg opt...ビデオ入力を符号化しつつ同時に複合化してビデオ出力
vwtranscode*.ini opt...トランスコード・トランスレート
vwnet_recv*.ini opt...ビデオストリームを受信して再生
vwnet_send*.ini opt...ビデオ入力を符号化してUDPで送信
vwnet_codec*.ini opt...
vwavi2mux
vwgetlog
vwmp42ps
vwps2divx
vwalldemo
vwmenudemo
vwosdclock
vwhelloworld
vwosdview

wpa_utils(WPAR01のみ動作)

表4: wpa_utilsプログラム一覧
プログラム名引数機能
wpa_init1-4画面解像度を1)VGA 2)SVGA 3)XGA 4)SXGAに設定 5)SXGA 4:3
wpa_cls0-3, 5対応するフレームバッファを0クリア
wpa_modaddr reg32MMIO_base + addr番地のレジスタをreg32にセット
wpa_mod2addrMMIO_base + addr番地の値を表示
wpa_viewfb 0/1fb番のフレームバッファを 0)非表示 1)表示
wpa_vctlx y scaleビデオプレーンの表示位置と縦横の倍率
wpa_actltlx tly brx bryアルファプレーンの表示領域設定
wpa_cap0 or 1キャプチャの有効化・無効化
wpa_vidtuneVGAのタイミング調整
wpa_draw0-3 image.ppmfb番のフレームバッファにppmファイルを表示
wpa_sw0-4dip SWの状態を読む

SM501の制御(WPAR01)

SM501のレジスタへのアクセスはioctlシステムコールを, VRAMへのアクセスはLinuxのフレームバッファアーキテクチャの一部を用います。

レジスタへのアクセス

SM501レジスタへのアクセスにはioctlを用います。 ioctlの使用にはターゲットアーキテクチャのヘッダファイルが必要です。

# cp -R linux/include/asm-sh /usr/local/sh4-linux/include/asm

レジスタ値を読み込み,変更し,書き込むサンプルコードを以下に示します。

int reg32;
int value = 0xab;
int mask = 0x0000ff00;

// open device node
int fd  = open("/dev/fb0", O_RDWR);

// set MMIO address
ioctl(fd, 0, address);

// read register value
ioctl(fd, 1, &reg32);

// change register value
reg32 &= ~mask;
reg32 |= value << 8;

// write register value
ioctl(fd, 2, reg32);

レジスタ値変更の際,予約されているビットを変更しないように注意してください。

画面解像度設定

画面解像度,ビデオタイミング信号,ドットクロック等は SM501レジスタによって完全に制御されます。 レジスタ値を変更することによって画面解像度を動的に変更することが可能です。 画面解像度設定の際には以下の点に留意願います。

VRAMへのアクセス

SM501は7つのビデオプレーンを持っています。 本製品で使用するのは,以下の4つのプレーンです。

  1. アルファプレーン
  2. ビデオアルファプレーン
  3. ビデオプレーン
  4. グラフィックプレーン

詳細はSM501データシートの1-12,1-23章を参照して下さい。

各プレーンにはフレームバッファのデバイスノードを通じてアクセスします。 フレームバッファの詳細はAppendix-Aを参照して下さい。 RGB565モードのグラフィックプレーン(fb0)にカラー画像data[3][w][h]を 描画するサンプルコードを以下に示します。

int xres, yres, size, i, j, idx, r, g, b;
unsigned char *ptr;

int fd  = open("/dev/fb0", O_RDWR);
size = xres * yres * 2;
ptr = mmap(0, size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);

for (j = 0; j < yres; ++j)
  for (i = 0; i < xres; ++i) {
      idx = (x + i) * 2 + (y + j) * xres * 2;
      r = data[0][j][i] >> 3;
      g = data[1][j][i] >> 2;
      b = data[2][j][i] >> 3;
      *((unsigned short int *)(ptr + idx)) = (r << 11) | (g << 5) | b;
    }
munmap(ptr, size);

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS