I'd suspect the X driver should now be able to make full size xfers
while decoding too, on all systems.  I think all we need to know is the 
current YUV buffer used, we have all them defined, and a similar decoding
function like the encoding one to split the Y and UV apart.  Maybe the 
YUV decoding xfer info is in a higher mailbox number, have to check that,
we should get the Y offset, UV offset and PTS possibly, just like 
encoding does.  Another thing to think about here is the PCM
data for sound, we will need that too for really decoding
YUV video.

Thanks,
Chris
On Wed, Mar 23, 2005 at 10:49:11PM -0500, Jelle wrote:
> On Wed, 23 Mar 2005 21:52:37 +0000, John Harvey wrote:
> 
> > Chris
> >     I think that vsync wants removing whatever. Since X is currently
> > doing 2 calls for large screen updates it means that a full screen X
> > update takes 2 vsync's which is bad.
> > 
> > I think in time it should possibly be an option to the prep frame call to
> > request a vsync'ed transfer, but for now I think this patch is correct.
> 
> For quite a while now, I've been using a patched x11 driver that does
> only one call, even for full screen without any problems (ivtv 0.3.x)
> 
> John, any ideas about YUV decoder support (xvideo)?
> 
> Jelle.
> 
> 
> --- ivtv/ivtvhw.c     2004-12-15 16:04:27.000000000 -0500
> +++ ivtv.patched/ivtvhw.c     2005-02-05 20:46:26.000000000 -0500
> @@ -750,8 +754,8 @@
>       unsigned long totalData = 
>           endOffset - startOffset;
>  
> -
> -     if (totalData > 64 *1024 *4)
> +#if 0
> +     if (totalData > 64 *1024 *4) /* otherwise we get "Count 1441792 Offset 
> -59392 is greater than buffer" from the driver */
>       {
>           /* This is a bigger lump so send in 2 bits */
>           totalData /= 2;
> @@ -759,15 +763,20 @@
>           secondOffset = endOffset - totalData;
>       } else
>       {
> -         totalData  = (totalData + 65535) & ~65535; 
> +#endif
> +            if (totalData <= 64 *1024 *21) /* otherwise we get "Count 
> 1441792 Offset -59392 is greater than buffer" from the driver during playback 
> */
> +            {
> +           totalData  = (totalData + 65535) & ~65535; 
> +         }
>  
>  
>           if ((startOffset + totalData) > totalScreenSize)
>           {
>               startOffset -= (startOffset + totalData) - totalScreenSize;
>           }
> +#if 0
>       }
> -
> +#endif
>  
>       args.source = ((char *)ptr+startOffset);
>       args.dest_offset = startOffset;
> 
> 
> 
> 
> 
> -------------------------------------------------------
> This SF.net email is sponsored by Microsoft Mobile & Embedded DevCon 2005
> Attend MEDC 2005 May 9-12 in Vegas. Learn more about the latest Windows
> Embedded(r) & Windows Mobile(tm) platforms, applications & content.  Register
> by 3/29 & save $300 http://ads.osdn.com/?ad_id=6883&alloc_id=15149&op=click
> _______________________________________________
> ivtv-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/ivtv-devel

-- 
---
 Chris Kennedy / [EMAIL PROTECTED]
  Engineer KMOS-TV/KTBG-FM
  Broadcasting Services Department
  Central Missouri State University


-------------------------------------------------------
This SF.net email is sponsored by Microsoft Mobile & Embedded DevCon 2005
Attend MEDC 2005 May 9-12 in Vegas. Learn more about the latest Windows
Embedded(r) & Windows Mobile(tm) platforms, applications & content.  Register
by 3/29 & save $300 http://ads.osdn.com/?ad_id=6883&alloc_id=15149&op=click
_______________________________________________
ivtv-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ivtv-devel

Reply via email to