"Sync playback to Display" - with cheap Android Hardware.
#1
There are now quite a number of cheap Android Kodi media players on the market coming out with Android Nougat 7.x Firmware that are pretty capable Kodi 10bit hardware decode capable devices - like the AMLogic S905x Xiaomi Mi Box and MECOOL M8S Pro Plus.

Users of such boxes usually only have 2.x Audio too, so care little for AC3 / DTS Audio passthrough. Nor care little for 4K video.

Usually what is broken in Android Firmware when using Android Kodi Krypton on these cheap devices is Kodi dynamic refresh switching. That enable's Kodi to switch a TV's refresh rate to match that of the source video's Framerate (fps) resulting in nice smooth video playback without the usual 3:2 pulldown video panning judder.

Well there is a solution that will satisfy 95% of video playback cases with such Android devices, it's Kodi's - Sync Playback to Display setting.

The Setup (using Kodi 17.3 – SPMC 16.7.x is similar):

1) Android Settings > Display > Screen Resolution > 1080p50hz (this is essential before starting Kodi)
2) Kodi Settings > Player Settings > Videos > Adjust display refresh rate > OFF
3) Sync Playback to display > ON
4) Kodi Settings > System > Audio > Resample Quality > High or Medium

So what's happening ?
"Sync Playback to Display" alters the video playback speed so that it matches the display's refresh rate.
(ie. Android Settings > Screen resolution)

You may notice an Audio Pitch change right at the very start of video playback as audio is resampled and synced.

Eg. 23.976fps video (most movies & US TV series) are sped up to be approx. 4% faster to sync with 25/50 fps.

Upside:
--> TV Settings Motion Interpolation can now be turned down to minimal or OFF - reducing the picture "Soap Opera" Effect Smile
--> Much quicker video playback startup and sync.
--> 25 / 50fps video content from the UK, Europe, Aus & NZ etc now has silky smooth video playback.

Downside:
--> 59.94 / 60Hz video playback is now worse. I have very little of this video content with that framerate anyway.
--> Because Audio is being resampled you loose all Audio Passthrough capabilities.
--> Tested this method with 4K video and playback was not smooth.
--> Netflix and Youtube & other Android Apps may require 1080p60Hz to be reset in Android settings again, for decent video playback Sync.

W. Smile

Reply
#2
Does Kodi now do a pitch correct to counteract the 4% speed-up you get ? (Broadcast conversions usually do - as 24->25p speed up is the standard way US TV shows and movies are shown in 50Hz TV regions)

Presumably this also means you lose bitstreamed/passthrough DD/DTS/Dolby True HD and DTS HD MA too?

It used to be a good fix in the days of CRT TVs and early non-24p-friendly LCDs - as a way of avoiding the dreaded 3:2 pulldown (that many of us who have grown up in 50Hz territories find unwatchable) - but it is a real kludge...

Though I wholeheartedly agree that setting your default refresh rate to 50Hz makes a lot of sense if most of your viewing is 50Hz content (Live/Recorded TV, Catch Up TV and DVD rips in a 50Hz region)
Reply
#3
(2017-08-21, 11:51)noggin Wrote: Does Kodi now do a pitch correct to counteract the 4% speed-up you get ? (Broadcast conversions usually do - as 24->25p speed up is the standard way US TV shows and movies are shown in 50Hz TV regions)
Yes I can hear the Audio pitch change at the start of Kodi video playback as the video if sped up.

In Krypton's Audio options there is also this now:
"Threshold for pitch correction" with 2 as default (I'm assuming 2%)

I can never remember Android Krypton ever being that smooth with Sync playback to Display in previous test attempts.
It so good I'm even using it for 50Hz LibreELEC Kodi Krypton with the limited Audio requirements I have.

Reply
#4
(2017-08-21, 11:58)wrxtasy Wrote:
(2017-08-21, 11:51)noggin Wrote: Does Kodi now do a pitch correct to counteract the 4% speed-up you get ? (Broadcast conversions usually do - as 24->25p speed up is the standard way US TV shows and movies are shown in 50Hz TV regions)
Yes I can hear the Audio pitch change at the start of Kodi video playback as the video if sped up.

In Krypton's Audio options there is also this now:
"Threshold for pitch correction" with 2 as default (I'm assuming 2%)

Ah - will check. I have reasonably good pitch - so I'll try listening to a 24p clip with music and see if the pitch and tempo change or just the tempo.

Quote:I can never remember Android Krypton ever being that smooth with Sync playback to Display in previous test attempts.
It so good I'm even using it for 50Hz LibreELEC Kodi Krypton with the limited Audio requirements I have.

Yep - if you are stereo only it's probably a good fit. If you want bitstreamed audio with no messing around - definitely not.
Reply
#5
Would be great if the feature also slows down 25p material to 24p. I have very few 50p/50i content, so this means I can leave my TV at 60hz and enjoy smooth playback of videos with various framerates. (granted 24p material requires pull down at 60hz but they look really smooth on my TV anyway)
Reply
#6
(2017-08-21, 12:03)noggin Wrote: Ah - will check. I have reasonably good pitch - so I'll try listening to a 24p clip with music and see if the pitch and tempo change or just the tempo.
What I cannot check is if Sync Playback to Display with its resulting PCM only Audio output, can do Multichannel PCM audio resampling or if it is limited to 2.0 PCM only.
Even then I believe most cheap AMLogic Android hardware cannot do Multichannel PCM Audio output anyway. WeTek Hub / Play2 I believe can due to Android HAL Audio mods.

Reply
#7
Quote:I have very little of this video content with that framerate anyway.
Just a quick sidenote... a lot of YouTube content is 30/60fps, even in Europe. The mobile world does not seem to care about PAL anymore. This is at least true for my iPhone where I can only choose 720p30, 1080p30/60 and 2160p30 for recording video Wink .
Reply
#8
(2017-08-21, 12:42)CiNcH Wrote:
Quote:I have very little of this video content with that framerate anyway.
Just a quick sidenote... a lot of YouTube content is 30/60fps, even in Europe. The mobile world does not seem to care about PAL anymore. This is at least true for my iPhone where I can only choose 720p30, 1080p30/60 and 2160p30 for recording video Wink .

Entirely depends who created the content in the first place. Globally most mobile phones will only shoot 30/60 with their default camera apps - though with third party software you can shoot recorded and live material in 25/50 (as most European broadcasters using iPhones for newsgathering do)

People shooting specifically for YouTube will usually shoot 24 or 30p (30p looks better on 60Hz mobile phone screens, tablets, laptops etc.)

However stuff uploaded that was originated on European TV will usually be 25/50, even on YouTube.
Reply
#9
I have the M8s Pro L with the Freaktab custom android rom and Libreelec on SD card.

In  Android Settings > Display > Screen Resolution > 1080p50hz, Android TV works well. Reboot to LibreElec all works great.

Reboot back to Android and Settings > Display > Screen Resolution have been changed to Auto ?

With Pro L hdmi>TV this is no issue but when Pro L hdmi>Denon AVR3000>TV the Android image is green/pixellated/blurry to the extent I can't even access the menu.

Why does rebooting back to Android not retain the original settings, ie Display > Screen Resolution > 1080p50hz ?

Really like this box but without this fix it may get relegated to the outdoor area. I suspect the Minix U9h may be the ultimate dual purpose media player.
Reply
#10
(2017-08-21, 11:07)wrxtasy Wrote: There are now quite a number of cheap Android Kodi media players on the market coming out with Android Nougat 7.x Firmware that are pretty capable Kodi 10bit hardware decode capable devices - like the AMLogic S905x Xiaomi Mi Box and MECOOL M8S Pro Plus.

Users of such boxes usually only have 2.x Audio too, so care little for AC3 / DTS Audio passthrough. Nor care little for 4K video.

Usually what is broken in Android Firmware when using Android Kodi Krypton on these cheap devices is Kodi dynamic refresh switching. That enable's Kodi to switch a TV's refresh rate to match that of the source video's Framerate (fps) resulting in nice smooth video playback without the usual 3:2 pulldown video panning judder.

Well there is a solution that will satisfy 95% of video playback cases with such Android devices, it's Kodi's - Sync Playback to Display setting.

The Setup (using Kodi 17.3 – SPMC 16.7.x is similar):

1) Android Settings > Display > Screen Resolution > 1080p50hz (this is essential before starting Kodi)
2) Kodi Settings > Player Settings > Videos > Adjust display refresh rate > OFF
3) Sync Playback to display > ON
4) Kodi Settings > System > Audio > Resample Quality > High or Medium

So what's happening ?
"Sync Playback to Display" alters the video playback speed so that it matches the display's refresh rate.
(ie. Android Settings > Screen resolution)

You may notice an Audio Pitch change right at the very start of video playback as audio is resampled and synced.

Eg. 23.976fps video (most movies & US TV series) are sped up to be approx. 4% faster to sync with 25/50 fps.

Upside:
--> TV Settings Motion Interpolation can now be turned down to minimal or OFF - reducing the picture "Soap Opera" Effect Smile
--> Much quicker video playback startup and sync.
--> 25 / 50fps video content from the UK, Europe, Aus & NZ etc now has silky smooth video playback.

Downside:
--> 59.94 / 60Hz video playback is now worse. I have very little of this video content with that framerate anyway.
--> Because Audio is being resampled you loose all Audio Passthrough capabilities.
--> Tested this method with 4K video and playback was not smooth.
--> Netflix and Youtube & other Android Apps may require 1080p60Hz to be reset in Android settings again, for decent video playback Sync.

W. Smile

With sync playback to display the vertical sync should be disabled?
Reply
#11
No - what sense would that make?
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#12
(2018-08-01, 21:37)fritsch Wrote: No - what sense would that make?
 Because it's already matching the source refresh rate at least with auto refresh rate change working. So I don't see the point of v-sync.

"Short for Vertical Sync, Vsync is a display option found in some 3-D computer games that allow the gamer to synchronize the frame rate of the game with the monitor refresh rate for better stability. If theVsync is turned off, gamers might obtain a higher frame rate but this action may introduce artifacts in the game."
Reply
#13
(2018-08-02, 19:35)Samekas Wrote:
(2018-08-01, 21:37)fritsch Wrote: No - what sense would that make?
 Because it's already matching the source refresh rate at least with auto refresh rate change working. So I don't see the point of v-sync.

"Short for Vertical Sync, Vsync is a display option found in some 3-D computer games that allow the gamer to synchronize the frame rate of the game with the monitor refresh rate for better stability. If theVsync is turned off, gamers might obtain a higher frame rate but this action may introduce artifacts in the game."  
 That's one, very specific and narrow, definition of V-sync.  

The more widely used one is used is the technique that is used to ensure display output frames are refreshed only once per frame interval and thus only change content during the vertical blanking interval - so you don't get tearing mid way down the screen as you see portions of two source frames displayed in the same display frame.  The same is also true for GUI refreshes.
Reply
#14
(2018-08-02, 21:30)noggin Wrote:
(2018-08-02, 19:35)Samekas Wrote:
(2018-08-01, 21:37)fritsch Wrote: No - what sense would that make?
 Because it's already matching the source refresh rate at least with auto refresh rate change working. So I don't see the point of v-sync.

"Short for Vertical Sync, Vsync is a display option found in some 3-D computer games that allow the gamer to synchronize the frame rate of the game with the monitor refresh rate for better stability. If theVsync is turned off, gamers might obtain a higher frame rate but this action may introduce artifacts in the game."   
 That's one, very specific and narrow, definition of V-sync.  

The more widely used one is used is the technique that is used to ensure display output frames are refreshed only once per frame interval and thus only change content during the vertical blanking interval - so you don't get tearing mid way down the screen as you see portions of two source frames displayed in the same display frame.  The same is also true for GUI refreshes. 
Right, but if the TV is already at the same refresh rate as the video file, then the v-sync is useless.
Reply
#15
I think you don't have an idea at all. With disabled vsync you render 300 fps or more, cause your hw is not limited ...
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply

Logout Mark Read Team Forum Stats Members Help
"Sync playback to Display" - with cheap Android Hardware.0