changeset 10829:46a247e54d6e libavcodec

Export get_slice_type() as ff_h264_get_slice_type(). Patch by Laurent Aimar <fenrir at videolan dot org>.
author ramiro
date Sat, 09 Jan 2010 16:20:41 +0000
parents d0657e337f91
children 34739b965809
files h264.c h264.h vaapi_h264.c
diffstat 3 files changed, 18 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/h264.c	Sat Jan 09 14:59:06 2010 +0000
+++ b/h264.c	Sat Jan 09 16:20:41 2010 +0000
@@ -4155,6 +4155,18 @@
     return 0;
 }
 
+int ff_h264_get_slice_type(H264Context *h)
+{
+    switch (h->slice_type) {
+    case FF_P_TYPE:  return 0;
+    case FF_B_TYPE:  return 1;
+    case FF_I_TYPE:  return 2;
+    case FF_SP_TYPE: return 3;
+    case FF_SI_TYPE: return 4;
+    default:         return -1;
+    }
+}
+
 /**
  *
  */
--- a/h264.h	Sat Jan 09 14:59:06 2010 +0000
+++ b/h264.h	Sat Jan 09 16:20:41 2010 +0000
@@ -582,4 +582,9 @@
  */
 av_cold void ff_h264_free_context(H264Context *h);
 
+/**
+ * reconstructs bitstream slice_type.
+ */
+int ff_h264_get_slice_type(H264Context *h);
+
 #endif /* AVCODEC_H264_H */
--- a/vaapi_h264.c	Sat Jan 09 14:59:06 2010 +0000
+++ b/vaapi_h264.c	Sat Jan 09 16:20:41 2010 +0000
@@ -28,19 +28,6 @@
  *  structures for H.264 decoding.
  */
 
-/** Reconstructs bitstream slice_type. */
-static int get_slice_type(H264Context *h)
-{
-    switch (h->slice_type) {
-    case FF_P_TYPE:  return 0;
-    case FF_B_TYPE:  return 1;
-    case FF_I_TYPE:  return 2;
-    case FF_SP_TYPE: return 3;
-    case FF_SI_TYPE: return 4;
-    default:         return -1;
-    }
-}
-
 /**
  * Initializes an empty VA API picture.
  *
@@ -323,7 +310,7 @@
         return -1;
     slice_param->slice_data_bit_offset          = get_bits_count(&h->s.gb) + 8; /* bit buffer started beyond nal_unit_type */
     slice_param->first_mb_in_slice              = (s->mb_y >> FIELD_OR_MBAFF_PICTURE) * s->mb_width + s->mb_x;
-    slice_param->slice_type                     = get_slice_type(h);
+    slice_param->slice_type                     = ff_h264_get_slice_type(h);
     slice_param->direct_spatial_mv_pred_flag    = h->slice_type == FF_B_TYPE ? h->direct_spatial_mv_pred : 0;
     slice_param->num_ref_idx_l0_active_minus1   = h->list_count > 0 ? h->ref_count[0] - 1 : 0;
     slice_param->num_ref_idx_l1_active_minus1   = h->list_count > 1 ? h->ref_count[1] - 1 : 0;