videoparsers: h265: Fix the frame start detection code
authorSreerenj Balachandran <sreerenj.balachandran@intel.com>
Tue, 11 Aug 2015 01:14:19 +0000 (04:14 +0300)
committerTim-Philipp Müller <tim@centricular.com>
Tue, 11 Aug 2015 10:34:36 +0000 (11:34 +0100)
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

index 1c33f25..10a99cb 100644 (file)
@@ -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));