On Sun, Jul 26, 2020 at 11:29 PM Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> wrote: > > Hi Alexandre, > > Last review on my side, this series looks mostly good. Thanks for taking the time to look at it! I know it's not the best looking code out there. ^_^; > > On Mon, 13 Jul 2020 at 03:09, Alexandre Courbot <acourbot@xxxxxxxxxxxx> wrote: > > > > Different chips have different supported bitrate ranges. Move the list > > s/bitrate ranges/formats Ack. > > > of supported formats to the platform data, and split the output and > > capture formats into two lists to make it easier to find the default > > format for each queue. > > > > Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxxxx> > > Acked-by: Tiffany Lin <tiffany.lin@xxxxxxxxxxxx> > > --- > > .../platform/mtk-vcodec/mtk_vcodec_drv.h | 8 ++ > > .../platform/mtk-vcodec/mtk_vcodec_enc.c | 122 +++++++----------- > > .../platform/mtk-vcodec/mtk_vcodec_enc_drv.c | 40 ++++++ > > 3 files changed, 95 insertions(+), 75 deletions(-) > > > > diff --git a/drivers/media/platform/mtk-vcodec/mtk_vcodec_drv.h b/drivers/media/platform/mtk-vcodec/mtk_vcodec_drv.h > > index b8f913de8d80..59b4b750666b 100644 > > --- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_drv.h > > +++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_drv.h > > @@ -313,6 +313,10 @@ enum mtk_chip { > > * @has_lt_irq: whether the encoder uses the LT irq > > * @min_birate: minimum supported encoding bitrate > > * @max_bitrate: maximum supported encoding bitrate > > + * @capture_formats: array of supported capture formats > > + * @num_capture_formats: number of entries in capture_formats > > + * @output_formats: array of supported output formats > > + * @num_output_formats: number of entries in output_formats > > */ > > struct mtk_vcodec_enc_pdata { > > enum mtk_chip chip; > > @@ -321,6 +325,10 @@ struct mtk_vcodec_enc_pdata { > > bool has_lt_irq; > > unsigned long min_bitrate; > > unsigned long max_bitrate; > > + const struct mtk_video_fmt *capture_formats; > > + size_t num_capture_formats; > > + const struct mtk_video_fmt *output_formats; > > + size_t num_output_formats; > > }; > > > > /** > > diff --git a/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c b/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c > > index 50ba9da59153..05743a745a11 100644 > > --- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c > > +++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c > > @@ -23,47 +23,9 @@ > > #define DFT_CFG_WIDTH MTK_VENC_MIN_W > > #define DFT_CFG_HEIGHT MTK_VENC_MIN_H > > #define MTK_MAX_CTRLS_HINT 20 > > -#define OUT_FMT_IDX 0 > > -#define CAP_FMT_IDX 4 > > - > > > > static void mtk_venc_worker(struct work_struct *work); > > > > -static const struct mtk_video_fmt mtk_video_formats[] = { > > - { > > - .fourcc = V4L2_PIX_FMT_NV12M, > > - .type = MTK_FMT_FRAME, > > - .num_planes = 2, > > Again, not an issue with your patch, so feel free to ignore this. > > You may avoid keeping track of num_planes (or any other > property of the pixel format) and use v4l2_fill_pixfmt_mp > to get all the information you need. That's a good idea. Let's see if I can come with an extra patch in a way that does not prevent the already acked patches from being merged. :)