Revert "h264parser: Remove unused fps_num/fps_den fields"
authorNicolas Dufresne <nicolas.dufresne@collabora.com>
Thu, 22 May 2014 15:50:16 +0000 (11:50 -0400)
committerNicolas Dufresne <nicolas.dufresne@collabora.com>
Thu, 22 May 2014 17:03:33 +0000 (13:03 -0400)
This breaks the build since mss has not been ported.

This reverts commit aeb6a520742fd82888e41ea23f9a39add51125a0.

gst-libs/gst/codecparsers/gsth264parser.c
gst-libs/gst/codecparsers/gsth264parser.h

index 026e7a108c82f703160e8c65958a0df06a8daf2c..a4ae3a618f36352758ef43a1c6293836db94493f 100644 (file)
@@ -1347,7 +1347,26 @@ gst_h264_parse_sps_data (NalReader * nr, GstH264SPS * sps,
     GST_LOG ("crop_rectangle x=%u y=%u width=%u, height=%u", sps->crop_rect_x,
         sps->crop_rect_y, width, height);
   }
-
+  sps->fps_num = 0;
+  sps->fps_den = 1;
+
+  if (vui && vui->timing_info_present_flag) {
+    /* derive framerate */
+    /* FIXME verify / also handle other cases */
+    GST_LOG ("Framerate: %u %u %u %u", parse_vui_params,
+        vui->fixed_frame_rate_flag, sps->frame_mbs_only_flag,
+        vui->pic_struct_present_flag);
+
+    if (parse_vui_params && vui->fixed_frame_rate_flag) {
+      sps->fps_num = vui->time_scale;
+      sps->fps_den = vui->num_units_in_tick;
+      /* picture is a frame = 2 fields */
+      sps->fps_den *= 2;
+      GST_LOG ("framerate %d/%d", sps->fps_num, sps->fps_den);
+    }
+  } else {
+    GST_LOG ("No VUI, unknown framerate");
+  }
   return TRUE;
 
 error:
index 60af0c48011f565f379166be54251c0d41969e48..397d9a5e0e930dd1ebd63772ec196a310fb6dd61 100644 (file)
@@ -485,6 +485,7 @@ struct _GstH264SPS
   gint width, height;
   gint crop_rect_width, crop_rect_height;
   gint crop_rect_x, crop_rect_y;
+  gint fps_num, fps_den;
   gboolean valid;
 };