Move code around.
authorgb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
Fri, 26 Mar 2010 17:00:45 +0000 (17:00 +0000)
committergb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
Fri, 26 Mar 2010 17:00:45 +0000 (17:00 +0000)
tests/image.c
tests/image.h
tests/test-windows.c

index 478ed77..be628c3 100644 (file)
@@ -318,3 +318,42 @@ image_draw_rectangle(
     gst_vaapi_display_unlock(display);
     return gst_vaapi_image_unmap(image);
 }
+
+gboolean
+image_upload(GstVaapiImage *image, GstVaapiSurface *surface)
+{
+    GstVaapiDisplay    *display;
+    GstVaapiImageFormat format;
+    GstVaapiSubpicture *subpicture;
+
+    display = gst_vaapi_object_get_display(GST_VAAPI_OBJECT(surface));
+    if (!display)
+        return FALSE;
+
+    format = gst_vaapi_image_get_format(image);
+    if (!format)
+        return FALSE;
+
+    if (gst_vaapi_surface_put_image(surface, image))
+        return TRUE;
+
+    g_print("could not upload %" GST_FOURCC_FORMAT" image to surface\n",
+            GST_FOURCC_ARGS(format));
+
+    if (!gst_vaapi_display_has_subpicture_format(display, format))
+        return FALSE;
+
+    g_print("trying as a subpicture\n");
+
+    subpicture = gst_vaapi_subpicture_new(image);
+    if (!subpicture)
+        g_error("could not create VA subpicture");
+
+    if (!gst_vaapi_surface_associate_subpicture(surface, subpicture,
+                                                NULL, NULL))
+        g_error("could not associate subpicture to surface");
+
+    /* The surface holds a reference to the subpicture. This is safe */
+    g_object_unref(subpicture);
+    return TRUE;
+}
index eb914de..c0558a6 100644 (file)
@@ -22,6 +22,7 @@
 #define IMAGE_H
 
 #include <gst/vaapi/gstvaapiimage.h>
+#include <gst/vaapi/gstvaapisurface.h>
 
 GstVaapiImage *
 image_generate(
@@ -41,4 +42,7 @@ image_draw_rectangle(
     guint32        color
 );
 
+gboolean
+image_upload(GstVaapiImage *image, GstVaapiSurface *surface);
+
 #endif /* IMAGE_H */
index 7292bba..d381191 100644 (file)
@@ -30,45 +30,6 @@ static inline void pause(void)
     getchar();
 }
 
-static gboolean
-upload_image(GstVaapiSurface *surface, GstVaapiImage *image)
-{
-    GstVaapiDisplay *display;
-    GstVaapiImageFormat format;
-    GstVaapiSubpicture *subpicture;
-
-    display = gst_vaapi_object_get_display(GST_VAAPI_OBJECT(surface));
-    if (!display)
-        return FALSE;
-
-    format = gst_vaapi_image_get_format(image);
-    if (!format)
-        return FALSE;
-
-    if (gst_vaapi_surface_put_image(surface, image))
-        return TRUE;
-
-    g_print("could not upload %" GST_FOURCC_FORMAT" image to surface\n",
-            GST_FOURCC_ARGS(format));
-
-    if (!gst_vaapi_display_has_subpicture_format(display, format))
-        return FALSE;
-
-    g_print("trying as a subpicture\n");
-
-    subpicture = gst_vaapi_subpicture_new(image);
-    if (!subpicture)
-        g_error("could not create Gst/VA subpicture");
-
-    if (!gst_vaapi_surface_associate_subpicture(surface, subpicture,
-                                                NULL, NULL))
-        g_error("could not associate subpicture to surface");
-
-    /* The surface holds a reference to the subpicture. This is safe */
-    g_object_unref(subpicture);
-    return TRUE;
-}
-
 int
 main(int argc, char *argv[])
 {
@@ -112,7 +73,7 @@ main(int argc, char *argv[])
 
         image = image_generate(display, format, width, height);
         if (image) {
-            if (upload_image(surface, image))
+            if (image_upload(image, surface))
                 break;
             g_object_unref(image);
         }