Message ID | 20210805144246.11998-5-andrzej.p@collabora.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | VP9 codec V4L2 control interface | expand |
Hi Andrzej, I love your patch! Yet something to improve: [auto build test ERROR on bfee75f73c37a2f46a6326eaa06f5db701f76f01] url: https://github.com/0day-ci/linux/commits/Andrzej-Pietrasiewicz/VP9-codec-V4L2-control-interface/20210805-224717 base: bfee75f73c37a2f46a6326eaa06f5db701f76f01 config: m68k-allmodconfig (attached as .config) compiler: m68k-linux-gcc (GCC) 10.3.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/0day-ci/linux/commit/16e1c749ce0c829d7984d7c3b43d4f01cc27232d git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Andrzej-Pietrasiewicz/VP9-codec-V4L2-control-interface/20210805-224717 git checkout 16e1c749ce0c829d7984d7c3b43d4f01cc27232d # save the attached .config to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross O=build_dir ARCH=m68k SHELL=/bin/bash drivers/staging/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All errors (new ones prefixed by >>): >> drivers/staging/media/hantro/imx8m_vpu_hw.c:137:13: error: 'V4L2_PIX_FMT_NV12_4L4' undeclared here (not in a function); did you mean 'V4L2_PIX_FMT_NV12M'? 137 | .fourcc = V4L2_PIX_FMT_NV12_4L4, | ^~~~~~~~~~~~~~~~~~~~~ | V4L2_PIX_FMT_NV12M vim +137 drivers/staging/media/hantro/imx8m_vpu_hw.c 134 135 static const struct hantro_fmt imx8m_vpu_g2_dec_fmts[] = { 136 { > 137 .fourcc = V4L2_PIX_FMT_NV12_4L4, 138 .codec_mode = HANTRO_MODE_NONE, 139 }, 140 { 141 .fourcc = V4L2_PIX_FMT_HEVC_SLICE, 142 .codec_mode = HANTRO_MODE_HEVC_DEC, 143 .max_depth = 2, 144 .frmsize = { 145 .min_width = 48, 146 .max_width = 3840, 147 .step_width = MB_DIM, 148 .min_height = 48, 149 .max_height = 2160, 150 .step_height = MB_DIM, 151 }, 152 }, 153 }; 154 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
diff --git a/drivers/staging/media/hantro/hantro_v4l2.c b/drivers/staging/media/hantro/hantro_v4l2.c index bcb0bdff4a9a..d1f060c55fed 100644 --- a/drivers/staging/media/hantro/hantro_v4l2.c +++ b/drivers/staging/media/hantro/hantro_v4l2.c @@ -150,6 +150,20 @@ static int vidioc_enum_fmt(struct file *file, void *priv, unsigned int num_fmts, i, j = 0; bool skip_mode_none; + /* + * The HEVC decoder on the G2 core needs a little quirk to offer NV12 + * only on the capture side. Once the post-processor logic is used, + * we will be able to expose NV12_4L4 and NV12 as the other cases, + * and therefore remove this quirk. + */ + if (capture && ctx->vpu_src_fmt->fourcc == V4L2_PIX_FMT_HEVC_SLICE) { + if (f->index == 0) { + f->pixelformat = V4L2_PIX_FMT_NV12; + return 0; + } + return -EINVAL; + } + /* * When dealing with an encoder: * - on the capture side we want to filter out all MODE_NONE formats. diff --git a/drivers/staging/media/hantro/imx8m_vpu_hw.c b/drivers/staging/media/hantro/imx8m_vpu_hw.c index 02e61438220a..a40b161e5956 100644 --- a/drivers/staging/media/hantro/imx8m_vpu_hw.c +++ b/drivers/staging/media/hantro/imx8m_vpu_hw.c @@ -134,7 +134,7 @@ static const struct hantro_fmt imx8m_vpu_dec_fmts[] = { static const struct hantro_fmt imx8m_vpu_g2_dec_fmts[] = { { - .fourcc = V4L2_PIX_FMT_NV12, + .fourcc = V4L2_PIX_FMT_NV12_4L4, .codec_mode = HANTRO_MODE_NONE, }, {