From a83dabd5e875288be4b7f1b4581aaa0f3f563807 Mon Sep 17 00:00:00 2001 From: Sreerenj Balachandran Date: Tue, 11 Aug 2015 04:14:19 +0300 Subject: [PATCH] videoparsers: h265: Fix the frame start detection code Check slice headers in between GST_H265_NAL_SLICE_TRAIL_N and GST_H265_NAL_SLICE_RASL_R for frame start detection. https://bugzilla.gnome.org/show_bug.cgi?id=753497 --- gst/videoparsers/gsth265parse.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gst/videoparsers/gsth265parse.c b/gst/videoparsers/gsth265parse.c index 1c33f2519f..10a99cb94b 100644 --- a/gst/videoparsers/gsth265parse.c +++ b/gst/videoparsers/gsth265parse.c @@ -693,7 +693,7 @@ gst_h265_parse_collect_nal (GstH265Parse * h265parse, const guint8 * data, /* coded slice NAL starts a picture, * i.e. other types become aggregated in front of it */ h265parse->picture_start |= ((nal_type >= GST_H265_NAL_SLICE_TRAIL_N - && nal_type <= GST_H265_NAL_SLICE_TRAIL_R) + && nal_type <= GST_H265_NAL_SLICE_RASL_R) || (nal_type >= GST_H265_NAL_SLICE_BLA_W_LP && nal_type <= RESERVED_IRAP_NAL_TYPE_MAX)); @@ -711,7 +711,7 @@ gst_h265_parse_collect_nal (GstH265Parse * h265parse, const guint8 * data, /* Any VCL Nal unit with first_slice_segment_in_pic_flag == 1 considered start of frame */ complete |= h265parse->picture_start && (((nal_type >= GST_H265_NAL_SLICE_TRAIL_N - && nal_type <= GST_H265_NAL_SLICE_TRAIL_R) + && nal_type <= GST_H265_NAL_SLICE_RASL_R) || (nal_type >= GST_H265_NAL_SLICE_BLA_W_LP && nal_type <= RESERVED_IRAP_NAL_TYPE_MAX)) && (nnalu.data[nnalu.offset + 2] & 0x80));