Sample of NTSC 2ch input.
Dependencies: GR-PEACH_video LCD_shield_config
概要
2系統のNTSC入力をLCDの左右に分けて表示するサンプルです。
ハードウエア機能を用いることで起動時にビデオ入力とLCD出力の設定した後は自動で動作し続けます。そのため、起動後のCPU負荷が少ないのが特徴です。
機能設定
下記のマクロを変更することで、一部機能を変更できます。
main.cpp
/**** User Selection *********/ /** Camera setting **/ #define VIDEO_INPUT_FORMAT (VIDEO_YCBCR422) /* Select VIDEO_YCBCR422 or VIDEO_RGB888 or VIDEO_RGB565 */ #define VIDEO_PAL (0) /* Select 0(NTSC) or 1(PAL) If selecting VIDEO_CVBS, this parameter is not referenced.) */ /** LCD setting **/ #define LCD_TYPE (0) /* Select 0(4.3inch) or 1(7.1inch) */ /*****************************/
VIDEO_INPUT_FORMAT | VIDEO_YCBCR422、VIDEO_RGB888、VIDEO_RGB565から選択できます。 |
---|---|
VIDEO_PAL | 0を設定するとNTSC、1を設定するとPALの設定となります。 |
LCD_TYPE | 0を設定するとGR-PEACH 4.3 inch LCD Shield、1を設定するとGR-PEACH 7.1 inch LCD Shieldの設定となります。 |
また、下記関数の引数を変更することで、入力画像の表示位置や大きさを変更できます。
(Output bufferの範囲を超えるような値は設定しないでください。幅は16の倍数、高さは8の倍数を設定してください。)
main.cpp main()
/* Start of Video ch0 */ Start_Video( DisplayBase::VIDEO_INPUT_CHANNEL_0, /* Video input channe */ user_frame_buffer0, /* Output buffer */ 0, /* The x coordinate of the upper-left corner */ 0, /* The y coordinate of the upper-left corner */ (LCD_PIXEL_WIDTH / 2), /* width (A multiple of 16) */ LCD_PIXEL_HEIGHT /* height (A multiple of 8) */ );
(上記の例はNTSC1Aの入力をLCDの画面左側に表示するための設定です。入力画像の高さはLCD画面サイズと同じ、幅は画面サイズの1/2に設定しています。)
構成
GR-PEACH、GR-PEACH 4.3 inch LCD Shield または GR-PEACH 7.1 inch LCD Shield、GR-PEACH AUDIO CAMERA Shield。
GR-PEACH AUDIO CAMERA Shieldを使用しない場合は、NTSC1Aピン、および、NTSC1Bピンにアナログ信号を入力してください。
(写真はNTSC1Aピン(黄色)とGNDピン(黒)を引き出した例です。)