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: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2471>
This commit is contained in:
Nicolas Dufresne 2021-08-18 11:14:37 -04:00 committed by GStreamer Marge Bot
parent 5c5083586d
commit 0a6a8e3869

View file

@ -652,8 +652,8 @@ gst_v4l2_codec_h264_dec_fill_pred_weight (GstV4l2CodecH264Dec * self,
static guint static guint
get_slice_header_bit_size (GstH264Slice * slice) get_slice_header_bit_size (GstH264Slice * slice)
{ {
return 8 * slice->nalu.header_bytes return 8 * slice->nalu.header_bytes + slice->header.header_size
+ slice->header.header_size - slice->header.n_emulation_prevention_bytes; - 8 * slice->header.n_emulation_prevention_bytes;
} }
static void static void