Hi all,

playing around with libva we found that deinterlacing a TV stream seems not to work on a Intel GM45 chip.

We are using the latest intel drivers from the g45-h264 branch on git.freedesktop.org/git/vaapi/intel-driver.git. Testing both on a Nvidia chip and an Intel GM45 with mplayer + vaapi-patches and modified gstreamer-vaapi plugins (see attached quick'n'dirty fix) we found:

mplayer-withVaapi -vo vaapi:deint=2 -va vaapi ...
    ... OK on nvidia (deinterlaced images)
    ... NOT OK on Intel

modified gstreamer-vaapi
    ... OK on nvidia
    ... NOT OK on Intel

Did we miss something in our setup? Or maybe a known restriction for intel 
drivers?

Regarding the gstreamer-vaapi modification: It is based on what was said in the 
following thread
http://lists.freedesktop.org/archives/libva/2010-July/000338.html
Might be a feature to be integrated in the vaapi-plugins. Could define another property in vaapisink (like deint={true, false}) allowing to enforce putSurface flags set to VA_FRAME_PICTURE vs. VA_TOP_FIELD+VA_BOTTOM_FIELD. What do you think, Gwenole?

Thanks,
   Holger
diff --git a/gst-libs/gst/vaapi/gstvaapiwindow_x11.c b/gst-libs/gst/vaapi/gstvaapiwindow_x11.c
index f41e3aa..fc3770e 100644
--- a/gst-libs/gst/vaapi/gstvaapiwindow_x11.c
+++ b/gst-libs/gst/vaapi/gstvaapiwindow_x11.c
@@ -435,8 +435,23 @@ gst_vaapi_window_x11_render(
         dst_rect->width,
         dst_rect->height,
         NULL, 0,
-        from_GstVaapiSurfaceRenderFlags(flags)
+        VA_TOP_FIELD
     );
+    status = vaPutSurface(
+        GST_VAAPI_OBJECT_VADISPLAY(window),
+        surface_id,
+        GST_VAAPI_OBJECT_ID(window),
+        src_rect->x,
+        src_rect->y,
+        src_rect->width,
+        src_rect->height,
+        dst_rect->x,
+        dst_rect->y,
+        dst_rect->width,
+        dst_rect->height,
+        NULL, 0,
+        VA_BOTTOM_FIELD
+        );
     GST_VAAPI_OBJECT_UNLOCK_DISPLAY(window);
     if (!vaapi_check_status(status, "vaPutSurface()"))
         return FALSE;
_______________________________________________
Libva mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libva

Reply via email to