]> git.baikalelectronics.ru Git - kernel.git/commit
media: vicodec: process all 4 components for RGB32 formats
authorHans Verkuil <hverkuil-cisco@xs4all.nl>
Tue, 4 Feb 2020 12:45:04 +0000 (13:45 +0100)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Mon, 24 Feb 2020 14:08:18 +0000 (15:08 +0100)
commit94ec22e0ede13c4e99b027a8da576031ebef0f7e
tree115baa02ef2a4170b54018b3f290cea5aff4dbd0
parent2d5fb43634a63d096af38687552f74d396a92104
media: vicodec: process all 4 components for RGB32 formats

Only ARGB32-type pixelformat were assumed to have 4 components, which is
wrong since RGB32-type pixelformats may have an alpha channel, so they
should also assume 4 color components.

The XRGB32-type pixelformats really have only 3 color components, but this
complicated matters since that creates strides that are sometimes width * 3
and sometimes width * 4, and in fact this can result in buffer overflows.

Keep things simple by just always processing all 4 color components.

In the future we might want to optimize this again for the XRGB32-type
pixelformats, but for now keep it simple and robust.

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Cc: <stable@vger.kernel.org> # for v5.4 and up
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/platform/vicodec/codec-v4l2-fwht.c