[vlc-commits] gl: vaapi: move code

Thomas Guillem git at videolan.org
Fri Jun 30 12:31:17 CEST 2017


vlc | branch: master | Thomas Guillem <thomas at gllm.fr> | Thu Jun 29 16:45:36 2017 +0200| [5b2498d67a73d69d9450cf3579d56e8e81d2972c] | committer: Thomas Guillem

gl: vaapi: move code

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=5b2498d67a73d69d9450cf3579d56e8e81d2972c
---

 modules/video_output/opengl/converter_vaapi.c | 54 +++++++++++++--------------
 1 file changed, 27 insertions(+), 27 deletions(-)

diff --git a/modules/video_output/opengl/converter_vaapi.c b/modules/video_output/opengl/converter_vaapi.c
index 73302fc8d9..c6ff72fd8e 100644
--- a/modules/video_output/opengl/converter_vaapi.c
+++ b/modules/video_output/opengl/converter_vaapi.c
@@ -218,6 +218,32 @@ error:
     return VLC_EGENERIC;
 }
 
+static picture_pool_t *
+tc_vaegl_get_pool(const opengl_tex_converter_t *tc, unsigned requested_count)
+{
+    vlc_object_t *o = VLC_OBJECT(tc->gl);
+    struct priv *priv = tc->priv;
+
+    picture_pool_t *pool =
+        vlc_vaapi_PoolNew(VLC_OBJECT(tc->gl), priv->vadpy, requested_count,
+                          &priv->va_surface_ids, &tc->fmt, VA_RT_FORMAT_YUV420,
+                          VA_FOURCC_NV12);
+    if (!pool)
+        return NULL;
+
+    /* Check if a surface from the pool can be derived */
+    VAImage va_image;
+    if (vlc_vaapi_DeriveImage(o, priv->vadpy, priv->va_surface_ids[0],
+                              &va_image))
+    {
+        picture_pool_Release(pool);
+        return NULL;
+    }
+
+    vlc_vaapi_DestroyImage(o, priv->vadpy, va_image.image_id);
+    return pool;
+}
+
 static void
 tc_vaegl_release(const opengl_tex_converter_t *tc)
 {
@@ -294,6 +320,7 @@ tc_vaegl_init(opengl_tex_converter_t *tc, VADisplay *vadpy)
 
     tc->pf_update  = tc_vaegl_update;
     tc->pf_release = tc_vaegl_release;
+    tc->pf_get_pool = tc_vaegl_get_pool;
 
     if (vlc_vaapi_Initialize(VLC_OBJECT(tc->gl), priv->vadpy))
         goto error;
@@ -324,32 +351,6 @@ error:
     return VLC_EGENERIC;
 }
 
-static picture_pool_t *
-tc_va_get_pool(const opengl_tex_converter_t *tc, unsigned requested_count)
-{
-    vlc_object_t *o = VLC_OBJECT(tc->gl);
-    struct priv *priv = tc->priv;
-
-    picture_pool_t *pool =
-        vlc_vaapi_PoolNew(VLC_OBJECT(tc->gl), priv->vadpy, requested_count,
-                          &priv->va_surface_ids, &tc->fmt, VA_RT_FORMAT_YUV420,
-                          VA_FOURCC_NV12);
-    if (!pool)
-        return NULL;
-
-    /* Check if a surface from the pool can be derived */
-    VAImage va_image;
-    if (vlc_vaapi_DeriveImage(o, priv->vadpy, priv->va_surface_ids[0],
-                              &va_image))
-    {
-        picture_pool_Release(pool);
-        return NULL;
-    }
-
-    vlc_vaapi_DestroyImage(o, priv->vadpy, va_image.image_id);
-    return pool;
-}
-
 int
 opengl_tex_converter_vaapi_init(opengl_tex_converter_t *tc)
 {
@@ -388,7 +389,6 @@ opengl_tex_converter_vaapi_init(opengl_tex_converter_t *tc)
         default:
             return VLC_EGENERIC;
     }
-    tc->pf_get_pool = tc_va_get_pool;
 
     return VLC_SUCCESS;
 }



More information about the vlc-commits mailing list