lkml.org 
[lkml]   [2020]   [Aug]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v4 11/17] Revert "media: mtk-vcodec: Remove extra area allocation in an input buffer on encoding"
    Date
    This reverts commit 81735ecb62f882853a37a8c157407ec4aed44fd0.

    The hardware needs data to follow the previous alignment, so this extra
    space was not superfluous after all. Besides, this also made
    v4l2-compliance's G_FMT and S_FMT tests regress.

    Signed-off-by: Alexandre Courbot <acourbot@chromium.org>
    Acked-by: Tiffany Lin <tiffany.lin@mediatek.com>
    ---
    drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c | 9 ++++++---
    1 file changed, 6 insertions(+), 3 deletions(-)

    diff --git a/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c b/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c
    index 05743a745a11..f2ba19c32400 100644
    --- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c
    +++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c
    @@ -299,12 +299,14 @@ static int vidioc_try_fmt(struct v4l2_format *f,

    pix_fmt_mp->num_planes = fmt->num_planes;
    pix_fmt_mp->plane_fmt[0].sizeimage =
    - pix_fmt_mp->width * pix_fmt_mp->height;
    + pix_fmt_mp->width * pix_fmt_mp->height +
    + ((ALIGN(pix_fmt_mp->width, 16) * 2) * 16);
    pix_fmt_mp->plane_fmt[0].bytesperline = pix_fmt_mp->width;

    if (pix_fmt_mp->num_planes == 2) {
    pix_fmt_mp->plane_fmt[1].sizeimage =
    - (pix_fmt_mp->width * pix_fmt_mp->height) / 2;
    + (pix_fmt_mp->width * pix_fmt_mp->height) / 2 +
    + (ALIGN(pix_fmt_mp->width, 16) * 16);
    pix_fmt_mp->plane_fmt[2].sizeimage = 0;
    pix_fmt_mp->plane_fmt[1].bytesperline =
    pix_fmt_mp->width;
    @@ -312,7 +314,8 @@ static int vidioc_try_fmt(struct v4l2_format *f,
    } else if (pix_fmt_mp->num_planes == 3) {
    pix_fmt_mp->plane_fmt[1].sizeimage =
    pix_fmt_mp->plane_fmt[2].sizeimage =
    - (pix_fmt_mp->width * pix_fmt_mp->height) / 4;
    + (pix_fmt_mp->width * pix_fmt_mp->height) / 4 +
    + ((ALIGN(pix_fmt_mp->width, 16) / 2) * 16);
    pix_fmt_mp->plane_fmt[1].bytesperline =
    pix_fmt_mp->plane_fmt[2].bytesperline =
    pix_fmt_mp->width / 2;
    --
    2.28.0.297.g1956fa8f8d-goog
    \
     
     \ /
      Last update: 2020-08-21 12:37    [W:4.115 / U:0.504 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site