Re: [PATCH v5 09/10] media: Avoid parsing quantization and huffman tables
From: Hans Verkuil <hidden>
Date: 2020-12-02 12:13:34
Also in:
linux-media, lkml
On 12/11/2020 04:05, Mirela Rabulea (OSS) wrote:
quoted hunk ↗ jump to hunk
From: Mirela Rabulea <mirela.rabulea@nxp.com> These are optional in struct v4l2_jpeg_header, so do not parse if not requested, save some time. Signed-off-by: Mirela Rabulea <mirela.rabulea@nxp.com> --- drivers/media/v4l2-core/v4l2-jpeg.c | 6 ++++++ 1 file changed, 6 insertions(+)diff --git a/drivers/media/v4l2-core/v4l2-jpeg.c b/drivers/media/v4l2-core/v4l2-jpeg.c index d77e04083d57..7576cd0ce6b9 100644 --- a/drivers/media/v4l2-core/v4l2-jpeg.c +++ b/drivers/media/v4l2-core/v4l2-jpeg.c@@ -307,6 +307,9 @@ static int jpeg_parse_quantization_tables(struct jpeg_stream *stream, { int len = jpeg_get_word_be(stream); + if (!tables) + return 0; +
It feels more natural to check for a non-NULL out->quantization_tables or non-NULL out->huffman_tables pointer in v4l2_jpeg_parse_header() rather than in these low-level functions. It's weird to have this check here. Regards, Hans
quoted hunk ↗ jump to hunk
if (len < 0) return len; /* Lq = 2 + n * 65 (for baseline DCT), n >= 1 */@@ -361,6 +364,9 @@ static int jpeg_parse_huffman_tables(struct jpeg_stream *stream, int mt; int len = jpeg_get_word_be(stream); + if (!tables) + return 0; + if (len < 0) return len; /* Table B.5 - Huffman table specification parameter sizes and values */