CHROMIUM: [media] rk3288-vpu: Use macros for frame size limits

As a prerequisite for reusing those values in new code, this patch
creates appropriate macros for them and updates current code to use
them.

BUG=chromium:485409
TEST=vda/veatests, Chrome with crrev.com/1097913002.

Signed-off-by: Tomasz Figa <tfiga@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/269865
Reviewed-by: Pawel Osciak <posciak@chromium.org>
Trybot-Ready: Pawel Osciak <posciak@chromium.org>

Change-Id: I95b1afbeff91aeb71d1748bf05895e769385f76e
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
This commit is contained in:
Tomasz Figa
2015-04-27 15:34:32 +09:00
committed by Huang, Tao
parent be0b8e30b1
commit b786c1e851
2 changed files with 18 additions and 5 deletions

View File

@@ -38,6 +38,11 @@
#define DEF_SRC_FMT_DEC V4L2_PIX_FMT_H264_SLICE
#define DEF_DST_FMT_DEC V4L2_PIX_FMT_NV12
#define RK3288_DEC_MIN_WIDTH 48U
#define RK3288_DEC_MAX_WIDTH 3840U
#define RK3288_DEC_MIN_HEIGHT 48U
#define RK3288_DEC_MAX_HEIGHT 2160U
#define RK3288_H264_MAX_SLICES_PER_FRAME 16
static struct rk3288_vpu_fmt formats[] = {
@@ -289,8 +294,10 @@ static int vidioc_try_fmt(struct file *file, void *priv, struct v4l2_format *f)
}
/* Limit to hardware min/max. */
pix_fmt_mp->width = clamp(pix_fmt_mp->width, 48U, 3840U);
pix_fmt_mp->height = clamp(pix_fmt_mp->height, 48U, 2160U);
pix_fmt_mp->width = clamp(pix_fmt_mp->width,
RK3288_DEC_MIN_WIDTH, RK3288_DEC_MAX_WIDTH);
pix_fmt_mp->height = clamp(pix_fmt_mp->height,
RK3288_DEC_MIN_HEIGHT, RK3288_DEC_MAX_HEIGHT);
/* Round up to macroblocks. */
pix_fmt_mp->width = round_up(pix_fmt_mp->width, MB_DIM);

View File

@@ -44,6 +44,11 @@
#define DEF_SRC_FMT_ENC V4L2_PIX_FMT_NV12
#define DEF_DST_FMT_ENC V4L2_PIX_FMT_VP8
#define RK3288_ENC_MIN_WIDTH 96U
#define RK3288_ENC_MAX_WIDTH 1920U
#define RK3288_ENC_MIN_HEIGHT 96U
#define RK3288_ENC_MAX_HEIGHT 1088U
#define V4L2_CID_PRIVATE_RK3288_HEADER (V4L2_CID_CUSTOM_BASE + 0)
#define V4L2_CID_PRIVATE_RK3288_REG_PARAMS (V4L2_CID_CUSTOM_BASE + 1)
#define V4L2_CID_PRIVATE_RK3288_HW_PARAMS (V4L2_CID_CUSTOM_BASE + 2)
@@ -481,9 +486,10 @@ static int vidioc_try_fmt(struct file *file, void *priv, struct v4l2_format *f)
}
/* Limit to hardware min/max. */
pix_fmt_mp->width = clamp(pix_fmt_mp->width, 96U, 1920U);
pix_fmt_mp->height = clamp(pix_fmt_mp->height, 96U, 1088U);
pix_fmt_mp->width = clamp(pix_fmt_mp->width,
RK3288_ENC_MIN_WIDTH, RK3288_ENC_MAX_WIDTH);
pix_fmt_mp->height = clamp(pix_fmt_mp->height,
RK3288_ENC_MIN_HEIGHT, RK3288_ENC_MAX_HEIGHT);
/* Round up to macroblocks. */
pix_fmt_mp->width = round_up(pix_fmt_mp->width, MB_DIM);
pix_fmt_mp->height = round_up(pix_fmt_mp->height, MB_DIM);