Oklahoma! Blu Ray Deinterlace Issue

Hi All,

Oklahoma! Todd-AO version released by Fox is the only High Frame Rate (>25fps) 1080 Blu Ray commercially available that I know of. It’s 29.97. Yes there are 60fps UHD Blu Rays from Ang Lee, but Oklahoma! is the only 1080 Blu Ray (Please correct me if I’m wrong).

Here’s a 20 second clip for testing: https://drive.google.com/file/d/1MwVSL1NVKXQtE6iTr1CayCB66NAt3mjh/view?usp=sharing

As far as I can tell using VitualDub2 and AVIsynth, the frames are progressive 29.97, however the video input stream metadata is coded as MBAFF, Interleaved fields, Top Field First. This metadata can’t be edited in MKVToolNix because it comes from the video stream, not the container. This allows 29.97p playback in a 60i format because 29.97p is not officially supported on Blu ray.

When I play the file with various decoders on Windows, on Android, play back on TVs including the latest LG OLEDs, the file plays back fine, meaning the default deinterlacing filters work correctly and it plays back 1080p @ 29.97fps.

With Ugoos amb6+ CoreElec latest nightly:
When /sys/module/di/parameters/bypass_all = 0:
With default settings, reported Video stream is 1920x1080i 59.940 FPS; deinterlace method is hardware; Display mode is 1920x1080p 59.94 Hz. Image has combing interlace artifacts and looks slightly soft. It’s like it doesn’t want to deinterlace back to the progressive frames and tries to interweave interlaced frames that don’t exist.

When I turn off hardware acceleration and use software decoding: Reported video stream is 1920x1088i, 29.970 FPS; deinterlace method is bwdif=0:-1:1; Display mode is 1920x1080p 59.94 Hz. CPU runs at ~75%, and the image looks correct but I think it’s frame doubled to get 59.94. From what I’ve read bwdif=0:-1:1 is Bob Weaver Deinterlacing Filter, 0=Same rate, keep bottom field.

When /sys/module/di/parameters/bypass_all = 1:
It plays back correctly and looks good. Reported Video stream is 1920x1080p 29.97 FPS; deinterlace method is hardware; Display mode is 1920x1080p 29.97 Hz. Perfect!
UPDATE: I’m not sure now. I can’t get bypass_all=1 to stick, so I can’t replicate this.

So It appears both hardware and software deinterlacing have their own issues when bypass_all = 0.

Is this a known issue with interlaced content?

Should I keep bypass_all = 1? Is there any other issue that could incur from keeping it at 1?

UPDATE: For some reason I can’t get bypass_all = 1 to stick. It changes back to 0 after reboot. How do I prevent this?
echo 1 > /sys/Module/di/parameters/bypass_all
cat /sys/Module/di/parameters/bypass_all returns 1
reboot
cat /sys/Module/di/parameters/bypass_all returns 0?

Thanks for your help.

Add your code to autostart script