I want to use the component inputs and component output for an SD video stream on the DM6467T using the existing hardware on the board and not going through the ADV7343 daughter board. I'm trying to modify the "video_hd_playback_720p" to achieve the purpose. Looking at the code, I see that the code to configure as SD is present in the setup file forTHS7353 and TVP7002 . However the TVP7002 can handle only 20-bit YCbCr 4:2:2 I/P and not the 10 bit YCbCr I/P. Based on what I have found I have the following questions, 1. In the HD projects, the VPIF uses 2 channels to capture Y( HD_Y[0..8] ) and Cb/Cr (( HD_C[0..8] ) data coming in on 2 separate channels. Now since SD also used 2 channels for 20-bit YCbCr 4:2:2 mode, I presume the VPIF should use 2 channels for SD also similar to BT.1120 processing. Is this correct, please advice? 2. Based on my research, could you please verify if my register setting for THS8200 is correct ? I've modified the values that were used in HD settings. Is there any more register settings that I need to add ? case MODE_SDTV_480I: status |= ths8200_rset(0x19, 0x03); status |= ths8200_rset(0x34, 0x03); // Pixels per line 858 - x35a status |= ths8200_rset(0x39, 0x21); // Lines in frame 525 - 0x20d status |= ths8200_rset(0x7a, 0x80); // Horizontal offset 3. I used the following configuration settings for the VPIF registers. These are from the "SD playback composite 480i" project. Could you please let me know if this can be used as is. channel3->regs->IMG_LINE_OFFSET = 720; Thanks in advance for the help.
status |= ths8200_rset(0x03, 0x00);
status |= ths8200_rset(0x38, 0x82); // 480I Mode
status |= ths8200_rset(0x82, 0xa0); // Ignore FID
status |= ths8200_rset(0x1c, 0x03); // 20-bit YCrCb
status |= ths8200_rset(0x32, 0x58);
status |= ths8200_rset(0x35, 0x5a);
status |= ths8200_rset(0x29, 0x00);
status |= ths8200_rset(0x3a, 0x0d);
status |= ths8200_rset(0x3b, 0x07); // Lines in field 263 -0x107
status |= ths8200_rset(0x03, 0x00); // SW reset to reload parameters
status |= ths8200_rset(0x03, 0x01);
channel3->regs->HSIZE_CFG = ( 268 << 16 ) | ( 1440 << 0 );
channel3->regs->VSIZE_CFG0 = ( 4 << 16 ) | ( 20 << 0 );
channel3->regs->VSIZE_CFG1 = ( 264 << 16 ) | ( 266 << 0 );
channel3->regs->VSIZE_CFG2 = ( 283 << 16 ) | ( 1 << 0 );
channel3->regs->VSIZE_CFG3 = ( 525 );