Req Composite output PAL/NTSC switching
#1
At the moment, when using the Pi's composite output I have to set it to PAL or NTSC at boot using the parameter sdtv_mode=

In XBMC, the auto-refresh rate switching option is then greyed out.

Having discussed it here it seems that tvservice can be used to switch between PAL and NTSC mode on the fly with

tvservice -n "PAL 16:9"

tvservice -n "NTSC 16:9"

but I'm sure a more elegant way to incorporate this into XBMC can be found so that's my feature request, for XBMC to be able to auto-switch between 50hz (PAL) and 60hz (NTSC) on the fly when using the Pi's composite output.
Reply
#2
The main problem with this approach is most composite displays only accept either PAL or NTSC (possibly displaying the wrong one in monochrome).
There is no way to query from display if this will work or not (unlike hdmi).

I think implementing this will generate a lot of support issues of "some videos play with black screen".

Does xbmc support PAL/NTSC composite framerate switching on any other platforms?
Reply
#3
Several people have told me that modern TV's (i.e. built since around 1990) are mostly multi-standard and certainly the manual for my brother's Toshiba 28W23b says it supports NTSC as well as PAL.

Are you suggesting that this won't work over the composite input though, only using RGB SCART? The 14" portable 4:3 TV I've got for testing does display the Pi's NTSC mode in B&W, even though I got it to display NTSC properly from my PC via VGA->RGB SCART using custom timings as described here http://www.avsforum.com/t/1355148/tweaki...gb-timings but I don't have a manual for it and it probably doesn't claim to support NTSC.

I would think that setting the auto-refresh rate switch to default off when using composite output would minimise the support issues, perhaps also with a warning when enabling it in composite mode that it might result in some videos playing in B&W or not at all. Or make it locked out unless a line is manually added to config.txt or advancedsetting.xml.
Reply
#4
(2013-01-14, 15:25)doveman2 Wrote: I would think that setting the auto-refresh rate switch to default off when using composite output would minimise the support issues, perhaps also with a warning when enabling it in composite mode that it might result in some videos playing in B&W or not at all. Or make it locked out unless a line is manually added to config.txt or advancedsetting.xml.
Yes, defaulting to off, and manually enabling is an option.

There is another complication that xbmc currently only switches framerates between modes of the same resolution (e.g. if you had a HDMI TV that only supported 1080p24 and 720p60 then you won't get xbmc to switch between them).
PAL/NTSC are different resolutions.

There have been suggestions that xbmc supports native resolution as well as framerate, so might deliberately switch from 1080p to 720p for a 720p video (as TV probably has higher quality scalers than Pi/PC).
So far that hasn't been implemented. (See https://github.com/xbmc/xbmc/pull/1096). If that were implemented it would at least excercise the resolution changing on playback code path.
Reply
#5
I'm not actually sure whether it's necessary or desirable to switch between PAL/NTSC or if it would be better to switch from PAL50 to PAL60, as it's just to match the refresh rate to the video to avoid micro-stutter.

As the Pi supports PAL60 I imagine it is possible between them on the fly and then it's just switching refresh rate and not resolution.

The only possible issue is a mismatch between colourspaces if the video is coded for NTSC colourspace and the TV is using PAL colourspace. I guess TVs that support both PAL and NTSC automatically adjust their colourspace when switching to match the material. I'm not sure how noticeable it would be if it's playing NTSC material into a PAL colourspace though, so it might not be significant enough to worry about.

Interesting to see that resolution switching is being looked at for HDMI at least though.



Reply
#6
There is no PAL60 or NTSC50 over composite. It just doesn't exist as a standard.
PAL is 50 fields per second 720x576 (overscanned).
NTSC is 60 fields per second 720x480 (overscanned).

You can't change the framerate without changing the resolution.

In the video file, they both use the same colourspace (ITU-R Rec. BT.601). There is nothing to convert.

(sure the analogue signal over composite cable represents colour differently for PAL/NTSC, but if the TV supports both, then it will do the right thing).
Reply
#7
OK, thanks for clarifying that. So we just need to switch between PAL and NTSC somehow.
Reply
#8
Just wondering if there's been any further consideration of a way to facilitate auto-switching, perhaps using the tvservice command, of the composite output between PAL and NTSC depending on the video framerate?
Reply
#9
currently, i have a few Pis, at this stage running raspbmc. i know for a fact, that the only display option to me is ghosted on NTSC (Never Twice the Same Colour), and my old telly only displays mono.

however, a method that i think some tv card manufacturers use to try and determine framerate is via the region settings.

i.e. if region is set to Australia, composite will be PAL 50hZ, whereas, if region is set to a USA state, then you could safely assume NTSC 60hZ.

D.
Reply

Logout Mark Read Team Forum Stats Members Help
Composite output PAL/NTSC switching1