[mythtv-users] PVR-350 Deciding

Michael T. Dean mtdean at thirdcontact.com
Wed Aug 30 20:41:07 UTC 2006


On 08/30/06 15:10, David Watkins wrote:

>On 30/08/06, Daniel A Segel <mythtv at archer-segel.com> wrote:
>  
>
>>Michael T. Dean wrote:
>>    
>>
>>>OK, so disabling the PVR-350 hardware decoder and instead using the
>>>software decoder to do Xv output on the PVR-350 still doesn't solve the
>>>problem that MythTV requires a 100x100DPI, and it's impossible to get
>>>that using a video aspect ratio that differs from the display aspect ratio.
>>>
>>Not to beat a dead horse (I don't really care what video card other
>>people use), but I don't understand exactly what you mean by this. I
>>have my display set up to be 100x100dpi,
>>

But, now MythTV (and any other program running in X) thinks your display 
has square pixels, when they're actually 4:3 pixels (assuming a 4:3 
display), so when it calculates how to display video with non-square 
pixels (i.e. 720x480 resolution with a 4:3 aspect ratio), it messes up 
the aspect ratio of the video--either letterboxing or pillarboxing your 
video.

In other words, you got the 100x100DPI by lying to X about the aspect 
ratio of your physical display (thereby making X think you're using a 
3:2 display).  So, trying to display something with a 4:3 ratio (or 
trying to draw a circle), results in improper rendering.

>> and the Myth interface is
>>adjusted to fit it perfectly, within reason - my TV doesn't display
>>equal overscan on all four sides, so when I have it adjusted properly
>>for the top of the display the lower-right corner is sometimes off, but
>>that's a problem with my TV, not the 350.
>>
>> From my xorg.conf:
>>
>>Section "Monitor"
>>  Identifier "Sony TV"
>>  HorizSync 30-50
>>  VertRefresh 60
>>  DisplaySize 182 121
>>  Mode "720x480"
>>    DotClock 34.564
>>    HTimings 720 736 808 896
>>    VTimings 480 481 484 497
>>    Flags "-HSync" "-VSync"
>>  EndMode
>>EndSection
>>
>>This leads to:
>>(**) IVTVDEV_TST(0)Display dimensions: (182, 121) mm
>>(**) IVTVDEV_TST(0)DPI set to (100, 100)
>>
>This was pretty much how my system was set up until I realised
>that16:9 DVDs (played using Xine) were appearing as letterbox on my
>16:9 CRT TV, which didn't seem right.
>

That's exactly why you need to specify 100x100 /and/ have the aspect 
ratio of the output resolution match the aspect ratio of the physical 
display.  For programs that don't rely on a 100x100 DPI setting, you 
would just specify an appropriate DPI for each direction and things 
would work.

Basically, most people forget there are two aspect ratios in use:  the 
"software" aspect ratio of the desktop (the X aspect ratio/the aspect 
ratio of the signal output to the display device by your video card) and 
the display device's physical aspect ratio (i.e. the ratio of the 
measurement of the width to the height of the monitor/TV).  These are 
distinct and will only be identical if you choose the a resolution whose 
aspect ratio is identical to that of your physical display device.

(Note, there's also an aspect ratio associated with the video, but 
that's completely handled by the application.  However, since it does so 
by using information from the X server about the physical and software 
aspect ratios, the application can't display the video properly if the X 
server information is incorrect.)

X remembered this distinction.  The DisplaySize is used to determine the 
physical aspect ratio.  If the DisplaySize is not available, the DPI 
(which is always available--if by no other means than the X Windows 
default of 75x75DPI) is used to determine the physical aspect ratio ( 
(Xres/Xdpi) / (Yres/Ydpi) ).  The software aspect ratio is always
determined by dividing the X resolution by the Y resolution.  Note that 
if the DisplaySize is available, it (the physical aspect ratio) and the 
X resolution are used to calculate DPI.

So, specifying DisplaySize--as described in the wiki--allows us to 
specify a 100x100DPI.  But, because DisplaySize, DPI, and resolution are 
so tightly linked, the only way this works for Myth is if the aspect 
ratio of the physical display and that of the specified resolution are 
identical.

>  Not suprising though because
>Xine must think the apect ration is 1.5:1 rather than the actual
>1.77:1.  So I tweaked the displaysize until the aspect ratio was
>correct for my TV, while keeping the DPI as close to 100 as I could.
>I suppose I should probably have adjust the resolution to an aspect
>ratio of 16:9, but that was beyond my skill level.
>  
>
Yep.  For Myth, you should always use a resolution whose aspect ratio is 
identical to the aspect ratio of your physical display because Myth 
relies on a 100x100 DPI.  In other words, to keep the theming engine 
simple, the Myth devs simplified things to only work perfectly on a 
particular system configuration (one whose software and physical aspect 
ratios are identical).  Since there are many ways to create such a 
system, it seems to me a valid simplification.

Those using widescreen TV's that only accept PAL signals (or NTSC 
signals) are really stuck because of this since most TV outputs 
(including those on the PVR-350) can only be used with a small number of 
desktop resolutions, and I haven't ever seen one that can be used with 
16:9 (or other widescreen) aspect ratios (as the hardware designers 
"simplified" things to say they will only support 4:3 physical aspect 
ratios).  So, users in this situation can either have GUI elements lined 
up with text or they can get the proper sizing of videos (those decoded 
with the software decoder), but can't have both.

Those who have standard 4:3 TV's can usually just select a 4:3 
resolution (i.e. 800x600 or 1024x768) and let the TV output hardware 
sample from that image.  However, the PVR-350 doesn't let you select a 
resolution:  you get 720x480 (or 720x576 for PAL)--i.e. 3:2 (or 5:4) 
software aspect ratio.  So, why add this limitation (by using a PVR-350) 
when a video card doesn't have this issue.

Mike



More information about the mythtv-users mailing list