Posts: 26,215
Joined: Oct 2003
Reputation:
187
in order to get this option working as best as we can, i wish to determine how people use this option, and whether it looks good for them.
please try a bunch of different sized movies including some with width greater than 640 and height greater than 480 if possible. both 25fps and 24 or 29.97fps if you have them.
the more information we can gather, the better we can make the default output quality.
feel free to comment regarding why things look bad (if they do) here as well - including the type of tv you use will be useful, as well as the resolution + framerate of the video that looks bad.
thanks heaps for your help.
Posts: 72
Joined: Oct 2003
Reputation:
0
i use a 29" sony 4:3 tv using rgb input from the xbox, and 640x480 (which is what xbmc usually chooses as "best") looks worse on every video i've tried, there are noticeable jagged edges along lines, the picture looks sharper and better in 720x576. i think the option should be called "choose resolution closest to source" instead, and it should be off by default.
read the xbmc
online-manual,
faq and
search the forums before posting! do not e-mail the xbmc-team asking for support!
read/follow the
forum rules! note! team-xbmc never have and never will host or distribute ms-xdk binaries/executables!
Posts: 4
Joined: Oct 2003
Reputation:
0
this may not be the place, but i have no replies and i'm in a panic...
how can i find out how xbmc changes resolution settings at a lower level? i've changed the resolution and now my xbox has no video at all...
Posts: 199
Joined: Oct 2003
Reputation:
0
i use it, but that's because i think the aspect ratios are slightly off in 720x576. 640x480 is jagged and pixely though, but that's easily fixable by turning on smooth.
the aspect ratio is only slightly off in 720x576, but it's enough to be noticable and i'm overly critical about these things. plus i find it distracting when trying to watch a video in 720x576.
if i watch a 4:3 video in 720x576 mode it's displayed at an ar of 1.22 when it should be 1.25.
if i watch a video with an ar of 2.375 in 720x576 it's displayed with an ar of 2.18 when it should be 2.22.
to change an aspect ratio to fit correctly in 720x576 you should multiply it by 0.9375 ( 1.25/1.333 = 0.9375)
e.g. 1.333*0.9375=1.25
2.375*0.9375=2.22
i'm pretty sure that's 100% correct, and it does explain the slight vertical stretch that i can see. what do you think jmarshall? oh, and this is only concerning avi videos, mpegs seem fine.
plus, i have a divx that's 848x480 where the last 10% of the picture is a repeat of the first 10% when played in xbmc.
Posts: 199
Joined: Oct 2003
Reputation:
0
i think some of it possibly is in my head, because i'm convinced it's wrong so i look for things that don't look right. i know, i'm a wierdo and i should just forget about it and enjoy the movie. :lol: but i am sure it's not correct and it bugs me to the point of being distracted by it when watching videos. if i pause a video and then do a comparison between both resolutions i can see the difference in ar. i do have to look for it, but i can see it.
i've left the edges calibrated to 0,0 for everything, as that's how i prefer it. if i then play a video with an aspect ratio of 1.33 should it play at 720x576 or 710x576?
tbh, i can't tell the difference when smooth is turned on or not, but then my tv is a lot smaller than yours.
Posts: 26,215
Joined: Oct 2003
Reputation:
187
burriko:
the aspect ratio should be 100% correct according to the standards as pointed out by poing.
if you are using 720x576 pal, and have the calibration all set to (0,0) -> (0,0) so that you are getting all the pixels, then a 4:3 aspect ratio movie (such as an avi with a frame size of 640x480) will be shown with size 702x576. this is the correct frame size (actually it's 702 54/59 pixels wide) that defines the pal 4:3 picture. note that the black bars (around 8 and a bit pixels either side) at the sides of the picture will not be seen, as most tv's have overscan of around 16 pixels either side.
in all likelihood (though i haven't checked so am not 100% sure), the xbox is rescaling the 640x480 screenmode up to 720x576 digitally. it's likely doing this slightly wrong, which is why you are seeing a difference in the two modes.
i am hoping to determine whether the scaling is done digitally or is done after the dac (ie in the analog domain) by playing some test videos, but i have been very busy and haven't had a chance.
thanks to those that have voted in the poll.
cheers,
jonathan
Posts: 26,215
Joined: Oct 2003
Reputation:
187
mpeg2 based media at some key resolutions (dvd/svcd/vcd) use a pixel ratio the same as a standard tv (ie 59/54 for pal) because they were designed to be played on a tv screen. xbmc knows about this, and uses the correct pixel ratio when calculating the size of the output frame. it also autodetects and scales anamorphic sources if the aspect ratio info is correct in the file.
what was the frame size of the source avi you tested? following the code i submitted which corrected for the aspect ratios etc. a true 4:3 ratio frame size (640x480 for instance), will result in an output image of size 702.9 pixels by 576 pixels on a pal tv. also: how are you telling how big the output frame size is? (i haven't played with xbmc lately, so don't know how/where it displays this stuff).
incase you're wondering, here's the calculation:
foutputframeratio = finputframeratio * finputpixelratio / foutputpixelratio.
for an avi, finputpixelratio is 1.0. for a pal tv, foutputpixelratio is 59/54. thus, if finputframeratio is 4/3, foutputframeratio will be 1.22 near enough. multiply the height of the output frame (576) by this gives 702.9 pixels width as stated earlier.
cheers,
jonathan
Posts: 199
Joined: Oct 2003
Reputation:
0
thanks for the answer. i'm gonna stop asking stupid questions now, and wasting your time. :d
the frame size of the avi i was using is 512x384, which is of course exactly 4:3.
Posts: 26,215
Joined: Oct 2003
Reputation:
187
that's cool - it's only by questioning things that we can know for ourselves that they are working correctly. i don't pretend to have everything 100% correct - i have implemented it the best way i know how.
thanks for taking the time to look at it. btw: from where did you arrive at the 710 pixels wide number? is it onscreen in xbmc somewhere? (as i said earlier, i haven't played with xbmc lately and new code is being added/fixed every day at the moment.)
thanks,
jonathan
Posts: 199
Joined: Oct 2003
Reputation:
0
oops, i missed that bit of info out. it's displayed at the top of the screen when you press the button that changes between normal/zoom/stretch.
Posts: 26,215
Joined: Oct 2003
Reputation:
187
thanks, burriko, i'll check out where it is getting those numbers from, and correct if necessary.
Posts: 26,215
Joined: Oct 2003
Reputation:
187
xbmc has had some improvements made to it, and more are coming with respect to it choosing the best resolution.
640x480 should only be seen by a pal user if it's a pal60 mode. it used to be able to switch to a 640x480 mode when it was in pal50, but that is invalid and caused real issues with scaling - particularly vertically. currently, for a pal user there are 4 screenmodes available for it to choose out of: 720x576 and 640x576 pal50, and 720x480 and 640x480 pal60. it chooses the 640 wide modes based on the width of the video - this can probably be improved on a bit as well to optimize the quality. at the moment i haven't been able to tell the difference, though.
currently it decides if things should be in pal60 mode by checking whether the frame rate is an even divisor of 50. if it's not, it'll switch to pal60 mode. i'll improve this so that it compares the divisibility of both 50 and 60 and chooses the one that is closest - that should work for all the weird frame rates as well as the standard ones then.
and with regards to the widescreen switching: this will eventually be an option and needs a bit more testing. the original code stated that pal60 and widescreen should not be both enabled, that's why i left it as is. i have since changed this as most (all?) pal tv's capable of 16:9 can also do 16:9 at 60 hz (pal60).
the aspect option + resolution in the settings menu is just for the gui - this will be made clear eventually. note that you'll need to reboot after changing it for it to have any effect (and i'm not sure what effect it will have, other than setting the widescreen flag in the signal, which some widescreen capable tv's can pick up and auto-switch into 16:9 mode.)
i'm looking for testers to help me get this right - i only have 2 tvs (both pal 4:3, though 1 is capable of 16:9 compression mode) so it's hard for me to get it 100% right.
in particular i'm looking for people who have tvs that can sense the widescreen flag and autoswitch between 4:3 and 16:9 modes, and also people with pal hdtv or ntsc hdtv sets.
if you can help, please pm me.