Samsung S5PC110 Manual page 1430

Risc microprocessor
Table of Contents

Advertisement

S5PC110_UM
x_pos = [0...(img_hsize_mb-1)];
y_pos = frame ? [0...(img_vsize_mb-1)] :
top
? [0, 2, 4 ...(img_vsize_mb*2-2)] :
[1, 3, 5 ...(img_vsize_mb*2-1)] ;
< I_XSIZE >
if (img_hsize_mb < 64)
else if ((img_hsize_mb & 0x3f)!=0)
else
< I_XSIZE >
if (frame) begin
if(img_vsize_mb < 32)
else
end
else begin
if(img_vsize_mb < 16)
else if((img_vsize_mb & 0x1f)!=0)
else
end
pixel_x_m1 = I_XSIZE -1 ;
pixel_y_m1 = I_YSIZE -1 ;
roundup_x = ((pixel_x_m1)/16/8 + 1) ;
roundup_y = ((pixel_x_m1)/16/4 + 1) ;
x_addr = x_pos/4;
linear_addr0 = (((y_pos & 0x1f) <<4) |(x_addr & 0xf ) ) << 2 ;
linear_addr1 = (((y_pos >> 6) & 0xff) * roundup_x + ((x_addr >> 5) & 0x7f)) ;
if( ((x_addr >> 5) & 0x1) == ((y_pos >> 5) & 0x1))
else
physical_addr = DRAM_BASE + DPB_OFFSET + QP_OFFSET + (linear_addr1 <<13) | (bank_addr << 11) |
linear_addr0 ;
qp_save_range = (pixel_y_minus[5]==0) ? pixel_y_minus[14:6] * roundup_x + pixel_x_minus[14:8] + 1 :
NOTE: QP values are set to zero for I_PCM macroblocks in H.264 and skipped macroblocks in VC1
Host should allocate a physical memory size as follows:
- Memory size = ALIGN(img_hsize_mb, 64) * (ALIGN(img_vsize_mb, 32)+32)
Note that qp_save_range above specifies a virtual address area.
bank_addr = ((x_addr >> 4) & 0x1);
bank_addr = 0x2 | ((x_addr >> 4) & 0x1);
roundup_x * roundup_y;
I_XSIZE = 64
I_XSIZE = ((img_hsize_mb>>6)<<6) + 64
I_XSIZE = img_hsize_mb
I_YSIZE = 32 else if((img_vsize_mb & 0x1f)!=0)
I_YSIZE = ((img_vsize_mb>>5)<<5) + 32 + 32
I_YSIZE = img_vsize_mb + 32
I_YSIZE = 32
I_YSIZE = ((img_vsize_mb>>4)<<5) + 32 + 32
I_YSIZE = (img_vsize_mb<<1) + 32
6 5BMULTI FORMAT CODEC
6-38

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents