On Sat, 2006-12-30 at 21:12 +0100, Dirk Meyer wrote: > So what happens if you use the expand filter with 4/3 but you don't > have square pixels? Example: we have freevo running fullscreen at > 800x600, but the tv is 16:9. Everything needs to be scaled so that it > looks ok on the tv again. What should we tell the expand filter? > Should it expand to 4/3 or 16/9? If it is 16/9 we will never see our > 800x600 pixel, so I guess it is 4/3. What happens for strange > resolutions like 720x480? What aspect is this? And my tv is > 1360x768. It is close to 16:9, but it isn't exactly.
I find I'm ok mentally when I'm just dealing with one set of non-square pixels, but as soon as we have non-square pixels in the video and non-square pixels in the display, things somehow get a lot more confusing. :) But I think the basic answer to your above question is that we don't use the expand filter for this. We use expand to set it to the display's actual aspect ratio (16:9 or 4:3 are most typical), and then compensate for non-square pixels in the screen using the dsize filter. (We could also use -monitorpixelaspect but it's probably simpler to keep everything in filters.) So for above, your TV is 16:9 but the screen resolution is 800x600. So we use expand filter to get things into 16:9 aspect, and dsize to force the hardware scaler to output at 800x600. The display (screen) then, which has non-square pixels, stretches the 800x600 frame onto the 16:9 tv. So -vf expand=:::::16/9,dsize=800:600 Alternatively, we don't need to know that it's 800x600, only that the screen aspect is 4:3, and the display aspect is 16:9: -vf expand=:::::16/9,dsize=4/3 With xine-lib, we do what dsize does in the frame output callback and just return the appropriate aspect ratio. > So back to our example with different values. I have a 720x480 screen > that is connected to a 16:9 monitor. I have an 720x480 DVD frame. What > happens now and what are the correct mplayer command line options? And > what should be the aspect of the overlay? 720x480? mplayer dvd:// -vf expand=:::::16/9,dsize=720:480 The size you make PlayerOSDCanvas must be 16:9 (so 854x480 would be fine), and its pixels are square, as always. Jason. ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Freevo-devel mailing list Freevo-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freevo-devel