From 0a6a8e3869dac3cdcf6e705e3604c58c6e3cbe1f Mon Sep 17 00:00:00 2001 From: Nicolas Dufresne Date: Wed, 18 Aug 2021 11:14:37 -0400 Subject: [PATCH] v4l2slh264dec: Fix slice header bit size calculation The emulation bytes need to be removed as bytes, not bit. This fixes decoding issues with files that have emulation bytes with the Cedrus driver. Part-of: --- sys/v4l2codecs/gstv4l2codech264dec.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/v4l2codecs/gstv4l2codech264dec.c b/sys/v4l2codecs/gstv4l2codech264dec.c index 7804b87881..3004e679d5 100644 --- a/sys/v4l2codecs/gstv4l2codech264dec.c +++ b/sys/v4l2codecs/gstv4l2codech264dec.c @@ -652,8 +652,8 @@ gst_v4l2_codec_h264_dec_fill_pred_weight (GstV4l2CodecH264Dec * self, static guint get_slice_header_bit_size (GstH264Slice * slice) { - return 8 * slice->nalu.header_bytes - + slice->header.header_size - slice->header.n_emulation_prevention_bytes; + return 8 * slice->nalu.header_bytes + slice->header.header_size + - 8 * slice->header.n_emulation_prevention_bytes; } static void