Playback of packed 3D (3D ISO)

Theres actually still a fair few 3D titles coming out so it would be really good to have this working.

But I wasnā€™t talking about encoding at all. I just want the option to output the MVC stream as 4k SBS/TAB on the fly.
I got a LG E6 before they got rid of 3D so this is kind of important to me :slight_smile:

Forgive me if Iā€™ve got this wrong but I seem to remember last year talks of V18 supporting frame packed 3D. Was this taken out by the Kodi team or still an option for you to work with at some point?

Is decoding MVC a problem? Or is it just outputting Frame-Packed thats problematic?
Can we please get a V18 build with 2160p SBS or TAB output?

Hi,

Decoding MVC isnā€™t the issue; itā€™s presenting it in an FP manner.

They no longer use the post process manager (3D PPMGR) extension of the SoC; and instead use software based scaling, but from some testing it may not be needed at all.

Sam

1 Like

I would by really happy if full 3D MVC support can be added to Kodi 18 (MKV format) if possible. Actually looking forward to this for some time already :slight_smile:

1 Like

Having followed this topic for more than a year now Iā€™m giving up hope, but thereā€™s some input Iā€™d like throw in:

  1. You were mentioning several times that detecting 3D MVC (in mkv) files would be a problem and the solution was a special naming, which would be ok. Though there should be some neat ways, as the raspberry does it somehow even without special naming.
    One suggestion would be that the mkv file header of 3D MVC streams in MKV files contains the lines:
  • Format profile : Stereo High@L4.1 / High@L4.1

  • MultiView_Count : 2


This information can be obtained with MediaInfo tool and MPC-HC has it integrated as well. So it must be open source IP.

Also, I understand that you mention FramePacked Output is not so easy to signal to TVā€™s there is no proper EDID for FramePacking modes? I donā€™t remember the correct SSH command anymore, but as far as I know there was an EDID command for Odroid C2 etc (similar Hardware as vero) that showed all resolutions and also had an FP column in its output.

Anywayā€¦ signalling FP to a TV could be done by tricking a TV. I even think that the Raspberry Pi does this as well by tricking the following way (my observation):
Whenever the RPi starts an MVC MKV it signals to my TV that it is a 3D TAB (OU) signal. Thus my TV switches into 3D and stays there. I see that Kodi/LibreELEC OSD shows ā€œ3D TAB Modeā€ shortly on my TV, so apparently kodi handles the output as TAB for its OSD and also to trigger the TV into 3D. Since Odroid C2 and Vero etc. are capable of triggering the TVs into 3D when playing back Half-SBS and Half-Top-Bottom content, the same triggering signal should do it for MVC containing MKVs. And since kodi should detect the MVC stream with a TAG in the filename (e.g. MVC) or due to the header information similar to MediaInfo, it should all be solvable.

On a side note: TAB should always be the preferred fallback or triggering mode instead of SBS.
The reason is that TAB has no additional downsides on polarized (passive) 3D screens, as they are already halved vertically by principle due to the polarized foil alternating the lines per eye. If you output an MVC-Fallback in half rez (or even FullHD FP MVC) as SideBySide, then this would half the resolution on a passive 3D TV horizontally as wellā€¦ thus youā€™d get half the vertical resolution and half the horizontal. For an active/shutter 3D TV on the other hand it does not make any difference whether you halve the vertial or the horizontal resolutionā€¦ as it shows always all the Pixels for both eyes but shuts one of them at a time.

Iā€™d really love to see MVC support for MKV and even if it is Half-TAB (please no SBS for obvious reasons), that would enable to at least play back MVC MKVs without the need to reencode everything all the time. I donā€™t want to imagine what happens in 3 years, when finally another device with FullHD FP MVC supportā€¦ Iā€™d cry for all the deleted ISOS/FullHD MVC-MKVs because I needed the space and thought that I needed to encode everything to Half-TAB.

I really appreciate all your dedication and patience with this topic. Really astonished that you truly kept working on it for so long.

We are finalising support for Frame Packed 3D output with Kodi v18.

I will let you know when thereā€™s something to test and will make a new thread then.

3 Likes

On a side note: TAB should always be the preferred fallback or triggering mode instead of SBS.
The reason is that TAB has no additional downsides on polarized (passive) 3D screens, as they are already halved vertically by principle due to the polarized foil alternating the lines per eye. If you output an MVC-Fallback in half rez (or even FullHD FP MVC) as SideBySide, then this would half the resolution on a passive 3D TV horizontally as wellā€¦ thus youā€™d get half the vertical resolution and half the horizontal. For an active/shutter 3D TV on the other hand it does not make any difference whether you halve the vertial or the horizontal resolutionā€¦ as it shows always all the Pixels for both eyes but shuts one of them at a time.

I donā€™t exactly agree with this. First, there are 4K passive 3D TVs (I have one). Also, generally, itā€™s understood that SBS results in better image quality; scan lines are more important than horizontal resolution for perceived image quality. Since there are a lot more pixels on the X axis than the Y axis, and additionally since sometimes we donā€™t even use all the scan lines (letterboxed), using TAB/OU results in a very small # of scan lines (compared to the horizontal resolution). That imbalance results in a worse overall image quality.

So I suppose in the specific case of a passive 2K TV, TAB could be better, but for everyone else SBS is better.

And for the record I donā€™t really care - I donā€™t intend to ever watch 3D in any format or device that cuts the resolution in half either :slight_smile: but just wanted to point out thereā€™s no one best answer.

Cannot follow your argumentationā€¦ Obviously there are more pixels on X-Axis, since it is also widerā€¦ otherwise it would be misbalanced. The halving is relative, so actually it should be no difference for an active TV whether you cut it vertically or horizontally qualitywise. Also letterboxedā€¦ it is the same. You could even say that halving the horizontal pixels is even worse especially when having letterboxed video, because when halving vertically there are ā€œabsolutelyā€ falling away more useless black pixels than halving horizontally, whereas halving horizontally (H-SBS) results in also loosing ā€œgoodā€ pixels. Halving vertically (H-TAB) means that you halve also the useless black bars, where you effectively donā€™t loose any useful information. Think about it.

And yes, Iā€™m happy that 4k passive TVā€™s exist, but that does not change anything actually apart from the fact that they are capable of displaying FullHD after halving vertically. Still TAB would be better then again.

On 3D passive TVs, they use horizontal polarized rows for left/right differentiation. So when rendering the TV effectively needs to convert the image into row-interleaved (which btw, is also a valid mkv 3d format), leaving you with 1/2 the vertical resolution of the incoming source. If the incoming signal is SBS, then the source has already had the horizontal resolution halved, and then the TV halves the vertical resolution, leaving you with 1/4 resolution. If you instead pass in TAB, then the TV just needs to interlace the top and bottom, leaving you with just the 1/2 vertical resolution that the incoming source started with and the horizontal resolution unmolested from the original source. Thatā€™s why TAB is better than SBS for passive TVs. TAB source only needs to be interlaced onto the screen with no further degradation of the source. SBS needs to have the vertical resolution also halved by the TV to convert into the format that the polarized screen requires.

2 Likes

Just anecdotally, O/U has always resolved in a higher resolution for me than SBS on my custom encodes into a 4K shell once my E6 has rendered them out.

That being said, Sam making this superfluous would be great.

Only if the televisionā€™s native (2D) resolution is equal to the resolution of the source. If the source is 1920x1080 and the screen is 3840x2160 then passive 3D doesnā€™t halve the image resolution.

Most manufacturers dropped 3D support before they rolled out their 4k screens unfortunately, so I suspect that the majority of 3D TVs are older 1080p (I really hope they bring back 3D again). (although my older Vizio is supposed to be a 1080p TV, yet it accepts 4k signalsā€¦ probably because of computer resolutions I expect)

Regardless, if the Vero is going to convert the video format, Iā€™d say it would be best if the output type is something configurable. (either via settings or advanced.xml, or better yet, selectable from the pop-up video settings when playing the video to let you pick and choose based on the video you happend to be viewing at the time)

We are almost there.

As always ā€“ the last bits always take the most effort.

@tanio99 appeared recently and Iā€™m confident that with @grahamh weā€™ll get this done well.

1 Like

Thatā€™s absolutely great news :slight_smile:

Do you feel like giving a bit of insights about this? Since you mentioned in another thread that OSMC is moving towards mainline Kernel, is your MVC solution kind of accounting for this respectively unaffected by such changes or will it always be some kind of compromise based hack solution (which can always be broken by such changes?). And any infos regarding half-rez or full-rez and iso or MKV that you can already speak of?

I was totally not expecting to get such feedback when I decided to post yesteday, since I just wanted to mention that there are distinct ways to detect MVC content in MKV. But now Iā€™m just completely impressed that you guys were really working on a solution despite some quite negative posts here thrown towards you lately.

Kudos!

ISO and MKV playback should work.

You will have the option to either output as FP or SBS/TAB.

Iā€™ve not thought about a mainline approach yet; particularly as V4L2 does not yet define how to handle interlaced content, let alone 3D content.

Sam

1 Like

Glad to read this, thanks :slight_smile:

(mainline: I was referring to this post: Some news about Kodi 19 (and OSMC) - #5 by sam_nazarko)

Cheers

Guess Iā€™ll have to remux all my 3D m2ts files. :laughing:

Iā€™m glad 3D has become a priority again. :slight_smile: From a business perspective, I think thereā€™s a lot to be said for giving the Vero 4K+ capabilities that other players, and especially the Apple TV 4K, lack - and frame-packed 3D is one thing that (as far Iā€™m aware) you still canā€™t get with the Apple device. If whoever is responsible for the relevant plugins manages to enable 4K HDR playback on YouTube at a later date, thatā€™ll be another.

Shouldnā€™t be necessary.