Hi Fritz,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linuxtv-media/master]
[also build test ERROR on linux/master linus/master v5.12-rc5 next-20210330]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    
https://github.com/0day-ci/linux/commits/Fritz-Koenig/media-mtk-vcodec-vdec-Reduce-padding-in-VIDIOC_TRY_FMT/20210331-061702
base:   git://linuxtv.org/media_tree.git master
config: arm-allmodconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.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/70ddfb8b962ccf027d02fdb4502452f8996bb25f
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review 
Fritz-Koenig/media-mtk-vcodec-vdec-Reduce-padding-in-VIDIOC_TRY_FMT/20210331-061702
        git checkout 70ddfb8b962ccf027d02fdb4502452f8996bb25f
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <l...@intel.com>

All errors (new ones prefixed by >>):

   drivers/media/platform/mtk-vcodec/mtk_vcodec_dec.c: In function 
'vidioc_try_fmt':
>> drivers/media/platform/mtk-vcodec/mtk_vcodec_dec.c:680:17: error: 'struct 
>> mtk_vcodec_dev' has no member named 'vdec_pdata'; did you mean 'venc_pdata'?
     680 |   if (ctx->dev->vdec_pdata->uses_stateless_api ||
         |                 ^~~~~~~~~~
         |                 venc_pdata


vim +680 drivers/media/platform/mtk-vcodec/mtk_vcodec_dec.c

   655  
   656  static int vidioc_try_fmt(struct v4l2_format *f, void *priv,
   657                            const struct mtk_video_fmt *fmt)
   658  {
   659          struct v4l2_pix_format_mplane *pix_fmt_mp = &f->fmt.pix_mp;
   660  
   661          pix_fmt_mp->field = V4L2_FIELD_NONE;
   662  
   663          if (f->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) {
   664                  pix_fmt_mp->num_planes = 1;
   665                  pix_fmt_mp->plane_fmt[0].bytesperline = 0;
   666          } else if (f->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) {
   667                  int tmp_w, tmp_h;
   668                  struct mtk_vcodec_ctx *ctx = fh_to_ctx(priv);
   669  
   670                  pix_fmt_mp->height = clamp(pix_fmt_mp->height,
   671                                          MTK_VDEC_MIN_H,
   672                                          MTK_VDEC_MAX_H);
   673                  pix_fmt_mp->width = clamp(pix_fmt_mp->width,
   674                                          MTK_VDEC_MIN_W,
   675                                          MTK_VDEC_MAX_W);
   676  
   677                  tmp_w = pix_fmt_mp->width;
   678                  tmp_h = pix_fmt_mp->height;
   679  
 > 680                  if (ctx->dev->vdec_pdata->uses_stateless_api ||
   681                          ctx->state >= MTK_STATE_HEADER) {
   682                          v4l_bound_align_image(&pix_fmt_mp->width,
   683                                                  MTK_VDEC_MIN_W,
   684                                                  MTK_VDEC_MAX_W, 4,
   685                                                  &pix_fmt_mp->height,
   686                                                  MTK_VDEC_MIN_H,
   687                                                  MTK_VDEC_MAX_H, 5, 6);
   688  
   689                          if (pix_fmt_mp->width < tmp_w &&
   690                                  (pix_fmt_mp->width + 16) <= 
MTK_VDEC_MAX_W)
   691                                  pix_fmt_mp->width += 16;
   692                          if (pix_fmt_mp->height < tmp_h &&
   693                                  (pix_fmt_mp->height + 32) <= 
MTK_VDEC_MAX_H)
   694                                  pix_fmt_mp->height += 32;
   695                  } else {
   696                  /*
   697                   * Find next closer width align 64, height align 64, 
size align
   698                   * 64 rectangle
   699                   * Note: This only get default value, the real HW 
needed value
   700                   *       only available when ctx in MTK_STATE_HEADER 
state
   701                   */
   702                          v4l_bound_align_image(&pix_fmt_mp->width,
   703                                                  MTK_VDEC_MIN_W,
   704                                                  MTK_VDEC_MAX_W, 6,
   705                                                  &pix_fmt_mp->height,
   706                                                  MTK_VDEC_MIN_H,
   707                                                  MTK_VDEC_MAX_H, 6, 9);
   708  
   709                          if (pix_fmt_mp->width < tmp_w &&
   710                                  (pix_fmt_mp->width + 64) <= 
MTK_VDEC_MAX_W)
   711                                  pix_fmt_mp->width += 64;
   712                          if (pix_fmt_mp->height < tmp_h &&
   713                                  (pix_fmt_mp->height + 64) <= 
MTK_VDEC_MAX_H)
   714                                  pix_fmt_mp->height += 64;
   715                  }
   716  
   717                  mtk_v4l2_debug(0,
   718                          "before resize width=%d, height=%d, after 
resize width=%d, height=%d, sizeimage=%d",
   719                          tmp_w, tmp_h, pix_fmt_mp->width,
   720                          pix_fmt_mp->height,
   721                          pix_fmt_mp->width * pix_fmt_mp->height);
   722  
   723                  pix_fmt_mp->num_planes = fmt->num_planes;
   724                  pix_fmt_mp->plane_fmt[0].sizeimage =
   725                                  pix_fmt_mp->width * pix_fmt_mp->height;
   726                  pix_fmt_mp->plane_fmt[0].bytesperline = 
pix_fmt_mp->width;
   727  
   728                  if (pix_fmt_mp->num_planes == 2) {
   729                          pix_fmt_mp->plane_fmt[1].sizeimage =
   730                                  (pix_fmt_mp->width * 
pix_fmt_mp->height) / 2;
   731                          pix_fmt_mp->plane_fmt[1].bytesperline =
   732                                  pix_fmt_mp->width;
   733                  }
   734          }
   735  
   736          pix_fmt_mp->flags = 0;
   737          return 0;
   738  }
   739  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org

Attachment: .config.gz
Description: application/gzip

Reply via email to