AnsweredAssumed Answered

ADV212 encode problem

Question asked by xiangrong on May 4, 2016
Latest reply on May 20, 2016 by JeyasudhaMuthuPerumal

Hello everyone,

There is a problem when i use the ADV212 to encoding the color image.

Data source: color image, data size is 6K*4K pixies, 16bit ,data format is 4:2:2 UYVY, the data rate is 2 pictures per second.

Custom-specific mode is configured for compressing, one title data with 530*1030@96 Hz total and 512*1024@96 Hz active resolution,VCLK=530*1030*96Hz.

Compress mode: 2 ADV212 are used, one for Y vector and the other for UV vector.

 

ADV212_1 ENCODE configuration:

1Write  PLL_HI=0x0008PLL_LO=0x0084

2Wait for 20us

3Write  BOOT=0x008ABUSMODE=0x0005MMODE=0x0005

4Load<encode_2_13_0.sea>

5Write  BOOT=0x008D

6Write  STAGE=0x0005IADDR=0x7F00

7Write  IDATA=0x04000x05030x03000x00050x02000x05000x00410x0001

8Write  BUSMODE=0x0005MMODE=0x0009

9Write  STAGE=0xffffIADDR=0x0400PMODE1=0x0004--0x04 Single Component (8 bit)

10Write  XTOT=0x0211YTOT=0x0406F0_START=0x0000F1_START=0x0000V0_START=0x0001       V1_START=0x0000V0_END=0x0400V1_END=0x0000PIXEL_START=0x0001 PIXEL_END=0x0200 PMODE2=0x0031     VMODE=0x0086 EDMOD0=0x0012EDMODE1=0x000cFFTHRC=0x0008

11Write  BUSMODE=0x0005MMODE=0x0005EIRQIE=0x0c00

12Poll EIRQFLG[10],Check that EIRQFLG[10] is set;

13Read the application ID from the SWFLAG register (address 0x7) to ensure the program has correctly
initialized. SWFLAG is set to 0xFF82.

14Write  BUSMODE=0x0005MMODE=0x0009 EDMOD0=0x0013EDMODE1=0x000d

15Write  BUSMODE=0x0005MMODE=0x0005EIRQFLG=0xffff

 

ADV212_2 ENCODE configuration:

1Write  PLL_HI=0x0008PLL_LO=0x0084

2Wait for 20us

3Write  BOOT=0x008ABUSMODE=0x0005MMODE=0x0005

4Load<encode_2_13_0.sea>

5Write  BOOT=0x008D

6Write  STAGE=0x0005IADDR=0x7F00

7Write  IDATA=0x04000x05030x03000x00050x02000x05000x00410x0001

8Write  BUSMODE=0x0005MMODE=0x0009

9Write  STAGE=0xffffIADDR=0x0400PMODE1=0x0007--0x07 Cb/Cr interleaved (8 bit)

10Write  XTOT=0x0211YTOT=0x0406F0_START=0x0000F1_START=0x0000V0_START=0x0001       V1_START=0x0000V0_END=0x0400V1_END=0x0000PIXEL_START=0x0001 PIXEL_END=0x0200 PMODE2=0x0031     VMODE=0x0086 EDMOD0=0x0012EDMODE1=0x000cFFTHRC=0x0008

11Write  BUSMODE=0x0005MMODE=0x0005EIRQIE=0x0c00

12Poll EIRQFLG[10],Check that EIRQFLG[10] is set;

13Read the application ID from the SWFLAG register (address 0x7) to ensure the program has correctly
initialized. SWFLAG is set to 0xFF82.

14Write  BUSMODE=0x0005MMODE=0x0009EDMOD0=0x0013EDMODE1=0x000d

15Write  BUSMODE=0x0005MMODE=0x0005EIRQFLG=0xffff

 

  1. 16、Poll EIRQFLG[11] at address 0x6h of ADV212_1 and ADV212_2.
  2. 17、 When both SWIRQ1s are set and then cleared .
  3. 18、The host assert SCOMM[5] and keep this pin asserted.
  4. 19、Read ADV212_1’s ATTR fifo while DREQ1 is asserted.
  5. 20、Read ADV212_1’s CODE fifo while DREQ0 is asserted.
  6. 21、Read ADV212_2’s ATTR fifo while DREQ1 is asserted.
  7. 22、Read ADV212_2’s CODE fifo while DREQ0 is asserted.

 

Test result: only the first title compressed data is output from the HDATA bus until the 19th~22th step finished, the package information is right, for example: picture12and3. But the flowing title compressed data can not be output even though the original data is wrote in continuously.

 

H/V synchronizing signal is set only when the data is valid, for example: picture 4.

 

  My question: Why only one frame compressed data output?

Outcomes