lkml.org 
[lkml]   [2020]   [Jul]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH v3 07/16] media: mtk-vcodec: venc: specify supported formats per-chip
    Hi Alexandre,

    Last review on my side, this series looks mostly good.

    On Mon, 13 Jul 2020 at 03:09, Alexandre Courbot <acourbot@chromium.org> wrote:
    >
    > Different chips have different supported bitrate ranges. Move the list

    s/bitrate ranges/formats

    > 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@chromium.org>
    > Acked-by: Tiffany Lin <tiffany.lin@mediatek.com>
    > ---
    > .../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.

    Thanks,
    Ezequiel

    \
     
     \ /
      Last update: 2020-07-26 16:30    [W:4.254 / U:0.128 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site