From 15a2b1797b74c9a3d32c3663d7a5384ecedc163c Mon Sep 17 00:00:00 2001 From: Honglei Huang Date: Thu, 12 Jan 2023 16:14:01 +0800 Subject: [PATCH] virgl/video: Add jpeg buf start code check Add jpeg start code check to fix the issue that double header adding in virgl video codec. Signed-off-by: Honglei Huang Reviewed-by: Leo Liu Reviewed-by: Boyuan Zhang Reviewed-by: Daniel Almeida Reviewed-by: Feng Jiang Signed-off-by: Huang Rui Part-of: --- src/gallium/frontends/va/picture.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/gallium/frontends/va/picture.c b/src/gallium/frontends/va/picture.c index ec81ed3f33f..cd92465bdec 100644 --- a/src/gallium/frontends/va/picture.c +++ b/src/gallium/frontends/va/picture.c @@ -389,6 +389,9 @@ handleVASliceDataBufferType(vlVaContext *context, vlVaBuffer *buf) sizes[num_buffers++] = context->mpeg4.start_code_size; break; case PIPE_VIDEO_FORMAT_JPEG: + if (bufHasStartcode(buf, 0xffd8ffdb, 32)) + break; + vlVaGetJpegSliceHeader(context); buffers[num_buffers] = (void *)context->mjpeg.slice_header; sizes[num_buffers++] = context->mjpeg.slice_header_size;