]> asedeno.scripts.mit.edu Git - linux.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)
commit49a56266f96f2c6608373464af8755b431ef1513
tree115baa02ef2a4170b54018b3f290cea5aff4dbd0
parentaa9eda76129c9f44c4dd7e233b04bc70c0f56e12
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