ExtensionHD and VDR 1.7.6

Message ID 4A225FE4.7040800@gmx.de
State New
Headers

Commit Message

Reinhard Nissl May 31, 2009, 10:45 a.m. UTC
  Hi,

Magnus Hörlin schrieb:

> I have to agree that the vdpau deinterlacers are better than the tvtime 
> ones, including the temporal only deinterlacer that is used for 1080i. 
> But it is as you say a little annoying that paused images are not 
> deinterlaced. I use the ION platform with 9400M.

Well, the attached patch is better than nothing but a better
approach would be to render both fields into a single surface
before displaying them. At the moment, both fields are rendered
separately.

Bye.
  

Comments

Magnus Hörlin May 31, 2009, 12:07 p.m. UTC | #1
Reinhard Nissl wrote:
> Hi,
>
> Magnus Hörlin schrieb:
>
>   
>> I have to agree that the vdpau deinterlacers are better than the tvtime 
>> ones, including the temporal only deinterlacer that is used for 1080i. 
>> But it is as you say a little annoying that paused images are not 
>> deinterlaced. I use the ION platform with 9400M.
>>     
>
> Well, the attached patch is better than nothing but a better
> approach would be to render both fields into a single surface
> before displaying them. At the moment, both fields are rendered
> separately.
>
> Bye.
>   
> ------------------------------------------------------------------------
>
> _______________________________________________
> vdr mailing list
> vdr@linuxtv.org
> http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
>   
Well, it's A LOT better than nothing. Reinhard, you are a true hero. Now 
if only ffwd/rew/skip would be as smooth with vdr-xine as it is with 
xineliboutput... Anyway, your xinelib-1.2 vdpau patches are brilliant. 
I've used every one of them since day one.
/Magnus H
  

Patch

diff --git a/src/video_out/video_out_vdpau.c b/src/video_out/video_out_vdpau.c
--- a/src/video_out/video_out_vdpau.c
+++ b/src/video_out/video_out_vdpau.c
@@ -1386,7 +1394,7 @@  static void vdpau_display_frame (vo_driv
 
   XLockDisplay( this->display );
 
-  if ( frame->format==XINE_IMGFMT_VDPAU && this->deinterlace && non_progressive && stream_speed && frame_duration>2500 ) {
+  if ( frame->format==XINE_IMGFMT_VDPAU && this->deinterlace && non_progressive /* && stream_speed */ && frame_duration>2500 ) {
     VdpTime current_time = 0;
     VdpVideoSurface past[2];
     VdpVideoSurface future[1];