Frame Encoding - 1.0 English

AXI4-Stream Video IP and System Design Guide (UG934)

Document ID
UG934
Release Date
2022-11-16
Version
1.0 English

Bits 0 to 3 ( VIDEO_FORMAT ) define the sampling structure of video using the video format codes (VF) defined in Table: Video Format Codes and Data Representation for C_tk_MAX_SAMPLES_PER_CLOCK =1 . Bits 4-5 define the data representation, the number of bits per component channel, as defined in Table: Data Representation Codes .

Table 3-4: Data Representation Codes

ENCODING[5:4]

Bits per Component Channel

00

8

01

10

10

12

11

16

Bit 6 ( INTERLACED ) should be set if the video processed is interlaced (1). For progressive video, this bit should be set to 0. Corresponding Bit 7, indicates field polarity (0: even field, 1: odd field) if interlaced video is used. Processing cores should not expect the host processor to update this register value on a frame-by-frame basis. Instead, the IP is expected to toggle automatically after processing fields, using the programmed value as the initial value for the first field after the value is committed.

Bit 8 ( CHROMA_PARITY ) of the ENCODING register specifies whether the first line of video contains chroma information (1) or not (0) when YUV 420 encoded video is being processed. Processing cores should not expect the host processor to update this register value on a line-by-line basis to reflect whether the current line contains chroma or not. Instead, the IP is expected to toggle automatically after each line was processed, using the programmed value as the initial value for the first line of the first frame after the value is committed. Table: Typical Values for Timing Variables provides example values for timing variable assignments for typical video standards using 8 bit data.

Table 3-5: Typical Values for Timing Variables

Name

720p@59.94/60 RGB

1080p@59.94/60 YUV422

1080i@59.94/60 YUV420

ENCODING

0x0000_0002

0x0000_0000

0x0000_0043

POLARITY

0x0000_000F

0: VB Active-High

1: HB Active-High

2: VS Active-High

3: HS Active-High

0x0000_000F

0: VB Active-High

1: HB Active-High

2: VS Active-High

3: HS Active-High

0x0000_000F

0: VB Active-High

1: HB Active-High

2: VS Active-High

3: HS Active-High

ACTIVE_SIZE

0x02D0_0500

15-0: HSIZE = 1280

31-16: VSIZE = 720

0x0438_0780

15-0: HSIZE = 1920

31-16: VSIZE = 1080

0x021C_0780

15-0: HSIZE = 1920

31-16: VSIZE = 540

HSIZE

0x0000_0672

15-0: HSIZE_F0= 1650

31-16: Reserved

0x0000_0898

15-0: HSIZE_F0 = 2200

31-16: Reserved

0x0000_0898

15-0: HSIZE_F0= 2200

31-16: Reserved

VSIZE

0x0000_02EE

VSIZE_F0 = 750

VSIZE_F1 = 0

0x0000_0465

VSIZE_F0 = 1125

VSIZE_F1 = 0

0x0233_0232

VSIZE_F0 = 562

VSIZE_F1 = 563

HSYNC

0x0596_056E

15-0: START = 1390

31-16: END = 1430

0x0804_07D8

15-0: START =  2008

31-16: END = 2052

0x0804_07D8

15-0: START = 2008

31-16: END = 2052

F0_VBLANK_H

0x0000_0000

0x0000_0000

0x0000_0000

15-0: H_START = 0

31-16: H_END = 0

F0_VSYNC_V

0x02DA_02D5

15-0: START =  725

31-16: END = 730

0x0441_043C

15-0: START =  1084

31-16: END = 1089

0x0223_021E

15-0: START =  542

31-16: END = 547

F0_VSYNC_H

0x0000_0000

0x0000_0000

0x0000_0000

15-0: H_START =  0

31-16: H_END = 0

F1_VBLANK_H

0x0000_0000

0x0000_0000

0x0000_0000

15-0: H_START =  0

31-16: H_END = 0

F1_VSYNC_V

0x0000_0000

0x0000_0000

0x0223_021E

15-0: START =  542

31-16: END = 547

F1_VSYNC_H

0x0000_0000

0x0000_0000

0x044C_044C

15-0: H_START =  1100

31-16: H_END = 1100