Is judder free playback on 23.976 content even possible?
#1
I've been trying to accomplish that for a long time now, using openelec 3.2.4 on my Samsung plasma 51D6900. Most of the movies in my collection are 720p @ 23.976. However most of them in fast action sequences when the camera is panning left or right, I can notice judder. In some movies this is very annoying and they are unwatchable.

I have done so far:

- Adjust display refresh rate to match video -> The TV switches to 1920x1080 @ 24fps and the judder is reduced but it is still there.
- The above + Sync playback to display with all possible combinations of A/V sync methods -> No noticeable changes. Slight judder still there.
- All of the above plus Deinterlace video when playing a movie. This is the best method but some movies playback perfect, others have still judder problems in panning sequences.

When playing these 720p Brrips through Samsung's media player (which by the way maintains the TV's native format of 1920x1080p @ 60fps) ALL movies playback perfectly fine. They also play fine in WDTV and PC so no fault in the file themselves.

I have disabled from the TV's HDMI menu the option for "Cinema Smooth" as I read somewhere that it messes up the refresh rate and it was advised to disable it.

I have issued tvservice -s during playback and the TV correctly switches and uses CEA mode 32 when Adjust display refresh rate to match video is on. This is logical and normal since this mode supports 1920x1080p @ 24fps.
To my knowledge and my eyes, however, I think what happens is the pi is either sending 23.976fps to the TV and the TV refreshes @24 so some frames are missed, or more probably the pi is NOT sending the 23.976 all the time and skips some frames. I have not debugged yet to see if frames are skipped but I would like to know if other users experience the same and a probable solution.

Note I have the pi overclocked with USB for storage @ 1000 500 500 4. I don't think that matters a lot (since I experience the same with lower settings too) but just saying. Also the material playing is correctly displayed when using the internal Samsung media player @ 60fps, so basically Samsung does a great job of adjusting 23.976 to 60fps. The pi does NOT.
Reply
#2
You should enable "cinema smooth". Without it, tv refreshes at 60hz (ie 3:2 pulldown). Normaly 24p at 60hz has more judder than 96hz (cinema smooth enabled and adjust refresh rate enabled). Don't mind what the tv info says, it refers to the input signal, not the actual refresh that it displays.
Keep in mind that 24p has some native judder and your tv has not any frame interpolation system, so don't expect butter-like motion.
Sync playback to display doesn't affect motion. Deinterlace should be set to auto (ie enabled on demand, not all matterial requires deinterlacing).
I have used 3.2.4 on the pi for some time on a panasonic plasma with perfect motion handling.
Reply
#3
@vprasinos
for video files with good timestamps at 23.976 or 24 fps, you should get perfect judder-free playback on the Pi if "Adjust display refresh rate to match video" is enabled, and TV supports the refresh rate.
Don't enable "Sync playback to display", and don't enable "Deinterlace video" unless video is interlaced.

The fact you say you get less judder when playing at 60Hz (with a different player) suggests something bad is happening.
Be aware that some TV's support a 1920x1080@24 input clock rate, but cannot drive the panel at 24Hz, and will be doing some sort of pull down.
You will never get judder-free playback on that sort of display.

You should disable any motion interpolation (or other processing) on the TV which is often harmful.
If there is an option to play at 24Hz (or an integer multiple) without interpolation (may be called cinema smooth) then enable that.
Reply
#4
Samsung plasma D6900 has not any frame interpolation system. Cinema smooth is the option for 4:4 pulldown for 24p material, so it should be enabled. It is only visible when tv is fed with 24p content. If I recall correct, the D6900 can handle 24p perfectly (23,976x4).
Reply
#5
@host505
I understand what you are saying but I don't expect butter-like motion, the soap opera effect is not what I want anyways. I am referring to skipped frames during panning sequences which produces judder. "Cinema smooth" is only selectable if I enable 24p with "Adjust display refresh rate to match video" anyways but the issue here is that if the source is 24p material (which displays perfectly fine in Samsung's internal media player without judder in fast sequences) is NOT displayed properly with the same material fed from pi through HDMI to Samsung. You recall correctly that D6900 handles 24p perfectly, but I am at a dead end why this does not happen when pi is playing. Instead, if I enable "Cinema smooth" having "Adjust display refresh rate to match video" I have judder again. Something must be going on in how the pi handles the material or how it advertises it to the TV (maybe EDID has something to do with it?).

@popcornmix
You are correct, some files do play perfectly, but others are terrible, maybe those with correct timestamps. However if I do not select "Deinterlace video" in the bad ones, the judder is awful! "Deinterlace" being always on helps matters in the affected files and does absolutely nothing on the good ones. Keep in mind that bad and good files all play perfectly fine in the TV's internal media player. The TV can handle perfectly fine 24p content as host505 suggests but not through HDMI using pi. (I have also connected a sat box in an other HDMI slot which displays fine without judder)

What is really going on under the hood is really a mystery. I have started fiddling with advancedsettings.xml but have not accomplished anything so far. I am at a loss as why this is happening. I am beginning to suspect that this is a matter of either bad pi response based on the advertised EDID of the TV or an internal problem of pi. Since it plays fine on a plasma Panasonic as you suggest, and other people are not complaining about it, I am inclining towards my first view of the matter. Any other input on what to check would be valuable and might help others too.

Thanks
Reply
#6
(2014-02-04, 19:40)vprasinos Wrote: @popcornmix
You are correct, some files do play perfectly, but others are terrible, maybe those with correct timestamps. However if I do not select "Deinterlace video" in the bad ones, the judder is awful! "Deinterlace" being always on helps matters in the affected files and does absolutely nothing on the good ones. Keep in mind that bad and good files all play perfectly fine in the TV's internal media player. The TV can handle perfectly fine 24p content as host505 suggests but not through HDMI using pi. (I have also connected a sat box in an other HDMI slot which displays fine without judder)

If you can produce a sample file that shows the problem I can test it on my system.
There is a problem when files have incorrect timestamps (specifically files that I imagine were once packed-bitstream AVI, and have been converted to non-packed and end up with pts timestamps that are out of order).
I have a plan for dealing with timestamps like that, but it's not done yet.

Yours may be an issue like that, or it may play perfectly for me suggesting an issue at your end (settings or other equipment).
Reply
#7
Since files that I am referring to are common 720p Brrips found on the net and they play perfectly fine in Samsung's internal media player the problem must be in my setup as you suggest. However let me know of a way to check for incorrect time stamps, just to eliminate this from my mind and yours. (and if Samsung's media player corrects these time stamps).

My opinion is leaning towards my setup problem also since the internal media player plays back the same material in 1920x1080p @ 60fps (the TV's native resolution). I am confident this happens because the option "Cinema Smooth" is turned off. Hence the internal media player pulldowns correctly 4:4 for the 24p material.

I will also post my tvservice -m CEA when I get home.

Thanks for trying to help me!
Reply
#8
tvservice -m CEA
Group CEA has 14 modes:
mode 1: 640x480 @ 60Hz 4:3, clock:25MHz progressive
mode 2: 720x480 @ 60Hz 4:3, clock:27MHz progressive
mode 3: 720x480 @ 60Hz 16:9, clock:27MHz progressive
mode 4: 1280x720 @ 60Hz 16:9, clock:74MHz progressive 3D:TopBot|SbS-HH
mode 5: 1920x1080 @ 60Hz 16:9, clock:74MHz interlaced 3D:TopBot|SbS-HH
(prefer) mode 16: 1920x1080 @ 60Hz 16:9, clock:148MHz progressive 3D:TopBot|SbS-HH
mode 17: 720x576 @ 50Hz 4:3, clock:27MHz progressive
mode 18: 720x576 @ 50Hz 16:9, clock:27MHz progressive
mode 19: 1280x720 @ 50Hz 16:9, clock:74MHz progressive 3D:TopBot|SbS-HH
mode 20: 1920x1080 @ 50Hz 16:9, clock:74MHz interlaced 3D:TopBot|SbS-HH
mode 31: 1920x1080 @ 50Hz 16:9, clock:148MHz progressive 3D:TopBot|SbS-HH
mode 32: 1920x1080 @ 24Hz 16:9, clock:74MHz progressive 3D:TopBot|SbS-HH
mode 33: 1920x1080 @ 25Hz 16:9, clock:74MHz progressive 3D:TopBot|SbS-HH
mode 34: 1920x1080 @ 30Hz 16:9, clock:74MHz progressive 3D:TopBot|SbS-HH

tvservice -s
state 0x12001a [HDMI CEA (32) RGB lim 16:9], 1920x1080 @ 24Hz, progressive

What is indicated above is that the TV's native format is CEA mode 16 but when "Adjust display refresh rate to match video" is selected it reverts to mode 32. What does clock mean? Maybe that has to do something?
Reply
#9
There's no such thing as tv's native format. Your tv can refresh at 60 (when fed with 60p or 30i material, or with 24p 3:2 pulldown), 95.904 (23.976px4), 96 (24px4) or 100hz (50p or 25i).
Because you say that when you playback from the tv's built-in player it looks good to you, I suspect that you're used to 3:2 pulldown on 24p content. But that's not the right way 24p should be played (if you want to see the original film's motion).
The tv's player doesn't pulldown 4:4. How would that work? 24x4=96, and the player works at 60hz.
Only through hdmi you can get the correct pulldown on 24p and the pi with xbmc is capable of sending that if the settings are correct.
If you have frame drops, something else is going on.
You could try another openelec build.
Reply
#10
Thanks man, you nailed it! Something was wrong with official build 3.2.4, I am now with the latest milhouse build and the problem is gone! I get proper playback with 60fps, without changing to 24p (probably watching with 3:2 pulldown as you said). Will try also 24p with "Cinema Smooth" 96fps to see the difference.

Thanks again!
Reply
#11
Να'σαι καλά πατριώτη!
Yeah, Milhouse's latest build is what I also use. But I don't remember having problem with official, only some sound glitches.
Reply
#12
Και σύ φίλε μου!

I will try 3.2.4 with another sd card, maybe something was wrong with that card...

From my experience sound glitches are due to Sync playback to display, I always have that disabled, but I guess you already know that!..
Reply
#13
Nope! The SD card was fine! It has to do with incorrect timestamps in non packed-bitstream files after all!

I tried the milhouse builds but while the problem was corrected for non packed bitstream avis, the packed ones now have the problem! Does anyone know, especially popcornmix, if the problem is solved for both types of files in any nightly or any other build?
Reply
#14
(2014-02-06, 09:58)vprasinos Wrote: Nope! The SD card was fine! It has to do with incorrect timestamps in non packed-bitstream files after all!

I tried the milhouse builds but while the problem was corrected for non packed bitstream avis, the packed ones now have the problem! Does anyone know, especially popcornmix, if the problem is solved for both types of files in any nightly or any other build?

Try latest milhouse or miappa build, and add the three config.txt settings.
Reply
#15
Still cannot get the incorrect files to play. I have 2 categories of incorrect files:

- Packed bitstream avis. They have noticeable judder even with interlace on. Sync playback to display does not affect them. Have also tried another TV and PC monitor, the problem is definitely how the latest build handles it. Raspbmc plays them noticeably better-almost perfect with interlace on however.

- Wrongly indexed avis (video-audio out of sync). The latest nightly has done a great job of fixing those! They play flawlessly fine even with interlace off. Raspbmc and official openelec cannot play those correctly.

Bear in mind that all of the above files play great on other media players and the PC with wmp-hc (lav codecs). I will upload samples to check yourself the problem.
Reply

Logout Mark Read Team Forum Stats Members Help
Is judder free playback on 23.976 content even possible?0