From: Harm v. d. H. <ha...@et...> - 2001-10-27 16:10:19
|
Hi all, I've just added a first version of a general dxr3 vo plugin that does on-the-fly mpeg1 encoding. It is based on the patch that Mike Lampard sent a week or two ago. Because it is still not polished enough for general use, I've patched the Makefile.am in dxr3 so that you need to uncomment a few lines to actually compile the plugin. People who are not interested in it will not even notice it's there. (or that's the plan ;-) Main differences between this version and Mike's patch are - does not clash with old dxr3 driver and does not require other xine source changes (the new driver is called dxr3enc) - includes some features that I wanted to have and knew how to do: * automatic a.r. correction to 4:3 or 16:9 (the only ones dxr3 supports) * automatic detection of the frame rate for the encoded mpeg1 stream * conversion of YUY2 to YV12. So far, I've done testing with the divx4, ffmpeg and w32dll codecs, using both YUY2 and YV12 output. My dvdnav is in a bad state, so I couldn't play dvds (but what loonie would want to decode mpeg2 then encode it to mpeg1 for playing??). Some people from the dxr3 crowd have expressed an interest in this plugin. I hope they can take a look at it and help resolve the remaining issues, some of which are: - occasional jerky playblack (thread locking? too high cpu load?) - sync is very bad (probably by design; sending mpeg to dxr3 early) - libfame's mpeg1 output is not very good; I'd like to see what ffmpeg can do. Libfame is not very tightly mixed in the code. I think it would be easy to add support for ffmpeg encoders. The current code only allows coding intra frames (unless the encoder makes a copy of previous frames for itself), but I don't think that's a real problem. Regards, Harm |