media: rockchip: vpss: support tile and rotate

Signed-off-by: Mingwei Yan <mingwei.yan@rock-chips.com>
Change-Id: I7ed9bf1cb9791c6ed42ad64b861a276bd75959cf
This commit is contained in:
Mingwei Yan 2024-03-15 15:27:15 +08:00 committed by Tao Huang
commit 71940785b8
3 changed files with 110 additions and 16 deletions

View file

@ -23,6 +23,10 @@
#define V4l2_PIX_FMT_EBD8 v4l2_fourcc('E', 'B', 'D', '8')
/* shield pix data 16-bit */
#define V4l2_PIX_FMT_SPD16 v4l2_fourcc('S', 'P', 'D', '6')
/* yuv420 tile */
#define V4L2_PIX_FMT_TILE420 v4l2_fourcc('T', 'I', 'L', '0')
/* yuv422 tile */
#define V4L2_PIX_FMT_TILE422 v4l2_fourcc('T', 'I', 'L', '2')
/* Vendor specific - used for Rockchip ISP1 camera sub-system */
#define V4L2_META_FMT_RK_ISP1_PARAMS v4l2_fourcc('R', 'K', '1', 'P') /* Rockchip ISP1 params */

View file

@ -187,7 +187,9 @@ struct rkvpss_module_sel {
* V4L2_PIX_FMT_NV61/V4L2_PIX_FMT_NV21/V4L2_PIX_FMT_RGB565X/V4L2_PIX_FMT_BGR24/V4L2_PIX_FMT_XRGB32/
* V4L2_PIX_FMT_RGBX32/V4L2_PIX_FMT_BGRX32
* V4L2_PIX_FMT_FBC0/V4L2_PIX_FMT_FBC2/V4L2_PIX_FMT_FBC4 for rkfbcd
* V4L2_PIX_FMT_TILE420/V4L2_PIX_FMT_TILE422 for tile
* buf_fd: dmabuf fd of input image buf
* rotate: 0:rotate0 1:rotate90 2:rotate180; 3:rotate270, note:only tile input support rotate
*/
struct rkvpss_input_cfg {
int width;
@ -195,6 +197,7 @@ struct rkvpss_input_cfg {
int stride;
int format;
int buf_fd;
int rotate;
} __attribute__ ((packed));
/* struct rkvpss_output_cfg __________________
@ -213,6 +216,7 @@ struct rkvpss_input_cfg {
* NOTE:V,LSB is for all channel
* V4L2_PIX_FMT_RGB565/V4L2_PIX_FMT_RGB24/V4L2_PIX_FMT_XBGR32/V4L2_PIX_FMT_RGB565X/V4L2_PIX_FMT_BGR24/
* V4L2_PIX_FMT_XRGB32 only for RKVPSS_OUTPUT_CH1.
* V4L2_PIX_FMT_TILE420/V4L2_PIX_FMT_TILE422 for tile, ch0 or ch1 support tile
* flip: flip enable
* buf_fd: dmabuf fd of output image buf
* cmsc: cover and mosaic configure