I have just upgrade3d my app to us use Beta 2 of Theora with the new API and I thought I would share with you a few things I have found and ask a question. My app is written in C# so I have to use the .Net interop system to access the native DLL. My app did use a swig generated wrapper but I decided to write a more efficent one by hand for the new decode API. Firstly the project file in /Win32/VS2005 is a little out of date. Not only that it also seems to only build dlls with the old libtheora api and does not provide the optimisations that the GCC based builds do. Because of this I switched to cross compiling from Ubuntu using mingw using the make file in the /Win32/xmingw32 folder. That worked much better. To make the interop process easier I had to write some wrapper functions around any api function which had the ogg_packet structure in its parameters. It didn't seem to be passing the packet pointer properly. The wrapper functions simple reassembles a ogg packet from the parameters passed and calls the api function. I havn't used Ycbcr call back function which provides the frame in sections (hopefully with it still in cache) as the interop for that is more complicated. Does anyone have any experience with using that and the size performance benefits that can be expected by using it? I have to says as a whole he new decoder is a really big step forward from the Alpha I used a year ago. The performance appears considerably better. HD video is now fairly good on my test machine (3 year old P4) where as before its as a lot more jurky. Also the actual video looks a lot better, the processing really works well. Keep up the good work. Charlie M