Я новичек в обработке видео, поэтому не ругайте за чайниковские вопросы:) Запустил с помощью экзамплов прием картинки с видеокамеры (процессор 3200M6437). Как я понимаю картинка сохранена в формате Y/Cb/Cr 4:2:2
Вот настройки CCD
Uint32 width;
Uint32 height;
width = 720;
height = 480;
VPFE_CCDC_SYN_MODE = 0x00032F84; // interlaced, with VD pority as negative
VPFE_CCDC_HD_VD_WID = 0;
VPFE_CCDC_PIX_LINES = 0x02CF020D;
/*
* sph = 1, nph = 1440, according to page 32-33 of the CCDC spec
* for BT.656 mode, this setting captures only the 720x480 of the
* active NTSV video window
*/
VPFE_CCDC_HORZ_INFO = width << 1; // Horizontal lines
VPFE_CCDC_HSIZE_OFF = width << 1; // Horizontal line offset
VPFE_CCDC_VERT_START = 0; // Vertical start line
VPFE_CCDC_VERT_LINES = height >> 1; // Vertical lines
VPFE_CCDC_CULLING = 0xFFFF00FF; // Disable cullng
/*
* Interleave the two fields
*/
VPFE_CCDC_SDOFST = 0x00000249;
VPFE_CCDC_SDR_ADDR = video_buffer;
VPFE_CCDC_CLAMP = 0;
VPFE_CCDC_DCSUB = 0;
VPFE_CCDC_COLPTN = 0xEE44EE44;
VPFE_CCDC_BLKCMP = 0;
VPFE_CCDC_FPC_ADDR = 0x86800000;
VPFE_CCDC_FPC = 0;
VPFE_CCDC_VDINT = 0;
VPFE_CCDC_ALAW = 0;
VPFE_CCDC_REC656IF = 0x00000003;
/*
* Input format is Cb:Y:Cr:Y, w/ Y in odd-pixel position
*/
VPFE_CCDC_CCDCFG = 0x00000800;
VPFE_CCDC_FMTCFG = 0;
VPFE_CCDC_FMT_HORZ = 0x000002D0;
VPFE_CCDC_FMT_VERT = 0x0000020E;
VPFE_CCDC_FMT_ADDR0 = 0;
VPFE_CCDC_FMT_ADDR1 = 0;
VPFE_CCDC_FMT_ADDR2 = 0;
VPFE_CCDC_FMT_ADDR3 = 0;
VPFE_CCDC_FMT_ADDR4 = 0;
VPFE_CCDC_FMT_ADDR5 = 0;
VPFE_CCDC_FMT_ADDR6 = 0;
VPFE_CCDC_FMT_ADDR7 = 0;
VPFE_CCDC_PRGEVEN_0 = 0;
VPFE_CCDC_PRGEVEN_1 = 0;
VPFE_CCDC_PRGODD_0 = 0;
VPFE_CCDC_PRGODD_1 = 0;
VPFE_CCDC_VP_OUT = 0x041A2D00;
VPFE_CCDC_PCR = 0x00000001; // Enable CCDC
while (VPFE_CCDC_PCR & 0x02);
VPFE_CCDC_PCR = 0x00000000; // Enable CCDC
Хочется посмотреть из CodeComposer-а картинку с помощью View->Graph->Image. Он понимает тольок YUV или RGB.
Вопрос в том как преобразовать Y/Cb/Cr 4:2:2 в RGB??? И как собственно в Y/Cb/Cr 4:2:2 храняться данные?