media: gpu: ipu-v3: Add planar support to interlaced scan
To support interlaced scan with planar formats, cpmem SLUV must be programmed with the correct chroma line stride. For full and partial planar 4:2:2 (YUV422P, NV16), chroma line stride must be doubled. For full and partial planar 4:2:0 (YUV420, YVU420, NV12), chroma line stride must _not_ be doubled, since a single chroma line is shared by two luma lines. Signed-off-by: Steve Longerbeam <slongerbeam@gmail.com> Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
This commit is contained in:

committed by
Mauro Carvalho Chehab

parent
fc8c723852
commit
9b5c8d5ffb
@@ -258,7 +258,8 @@ void ipu_cpmem_set_stride(struct ipuv3_channel *ch, int stride);
|
||||
void ipu_cpmem_set_high_priority(struct ipuv3_channel *ch);
|
||||
void ipu_cpmem_set_buffer(struct ipuv3_channel *ch, int bufnum, dma_addr_t buf);
|
||||
void ipu_cpmem_set_uv_offset(struct ipuv3_channel *ch, u32 u_off, u32 v_off);
|
||||
void ipu_cpmem_interlaced_scan(struct ipuv3_channel *ch, int stride);
|
||||
void ipu_cpmem_interlaced_scan(struct ipuv3_channel *ch, int stride,
|
||||
u32 pixelformat);
|
||||
void ipu_cpmem_set_axi_id(struct ipuv3_channel *ch, u32 id);
|
||||
int ipu_cpmem_get_burstsize(struct ipuv3_channel *ch);
|
||||
void ipu_cpmem_set_burstsize(struct ipuv3_channel *ch, int burstsize);
|
||||
|
Reference in New Issue
Block a user