On Mon, 31 Aug 2009, Bernhard Geier wrote: > I have a pvrusb2 and I'm using the in-kernel module from 2.6.30.5. > > As most tv stations broadcast in 16:9 I've set pvrusb2's > ctl_video_aspect to 16:9. > Now recordings do have a 16:9 aspect ratio, but are in fact 4:3 > recordings stretched to 16:9 - they still have those black bars on top > and bottom, and circles look like eggs.
When you tell the driver to change the video aspect, what you are doing is changing a piece of data in the stream that states what the aspect ratio of the image is intended to be, regardless of the actual horizontal / vertical resolution which actually doesn't change. (This is a good thing.) This is why you can, for example, capture either in 720x480 or 640x480 resolution and still have the image display as 4:3 - the playback application is using that embedded aspect ratio information and stretching / compressing the actual frame appropriately so that is displays correctly. This only works if the playback application however pays attention to that embedded aspect ratio information. It is conceivable that an application may disregard this and instead simply assume that all pixels are square. For a 640x480 capture with square pixels you'll actually get a 4:3 image, but that won't be the case for 720x480, just to cite one example. > > I tried to play a little with ctl_crop_XXX and ctl_cropcap_bounds_XXX > without knowing what their good for...no use at all, couldn't change the > values there. Don't bother with those; they have to do with cropping of the image and that will only work if the underlying digitizer's driver (e.g. cx25840) supports it, which none do at the moment :-( > > Recording resolution is 720x576 if that matters. So: What can I do to > get real 16:9 recordings, without black bars and deformation? Try some experiments with mplayer first. I know this is not what you want, but it will help to see what's happening to the stream. Do a 720x576 capture into a file with the video_aspect set to 4:3. Now do another capture into another file with the video aspect set to 16:9. Play back each with mplayer. You should see mplayer sizing the frame correctly for the aspect ratio in each case. I know this works - I've done it (actually I've even done this mid-stream and mplayer still gets it right). But if it isn't working for you here with mplayer then we need to investigate a problem with the driver or how you're using it. If it *does* work, then we know that you're getting a properly formatted stream. So next I'd look at your playback app. If the app isn't paying attention to the embedded aspect ratio info, then let's hope there's a way to manually set that within the app - perhaps there's another way to tell the app that your pixels aren't actually square. What app is this? If you can't find a way to set the desired aspect ratio from within the app, then the only option I think you have left is to try changing the capture resolution so that the pixels are in fact square again. (Actually if the app really is assuming square pixels, then 720x576 already isn't 4:3 - it's 5:4.) -Mike -- Mike Isely isely @ isely (dot) net PGP: 03 54 43 4D 75 E5 CC 92 71 16 01 E2 B5 F5 C1 E8 _______________________________________________ pvrusb2 mailing list [email protected] http://www.isely.net/cgi-bin/mailman/listinfo/pvrusb2
