Artefacts when playing MKV / H.264 files

This image from MediaInfo is showing the information of a MKV file which is causing artefacts on a SD 8635 based mediaplayer (like the Conceptronic CFULLHDMA).

I write this entry to have myself informed better about video encoding and get knowlegde about possiblities to find solutions getting things to work if hardware is not capable of doing due to limitations.

One of the major reasons of getting the artefacts are the amount of reference frames used in: I frame, P frame and B frame.

When we check WikiPedia for information about why we should use L4.1 or L5.1 than we can read that L5.1 should be used for high bitrates only. Even HDDVD and Blueray are encoded on L4.1 level

Although L5.1 is supported by the 8635 up to a certain extend, there will still be some clips with artefacts when playing the L5.1 profile.

Sigma Designs does not support L5.1 for their chipset. If they would say so, than they have to ensure 100% compatibility, including the ‘very’ high bitrates. The higher the bitrate, the more memory/processor power (and more) is needed to decode it. And even if we could extend memory still we would see clips with artefacts (if the bitrate would be high up to a certain level.

So if you want to ensure yourself with correct playable media you have to use these max. number of frames:

1280×720@68.3 (9), 1920×1088@30.1 (4), 2048×1024@30.0 (4) L4.1 (Source: Wikipedia)

You will not get better quality when using more stored frames when the resolution, bitrates and framerates are within the level 4.1. Even it is not understandable why some encoders / people within the ‘scene’ are using L5.1 encoding when video bitrates are <25 Mb/s. What for use has it? Even if the original source is L4.1 it has no use to bring it to Level 5.1 and I’ve barely seen people using high bitrated uncompressed masters for encoding.

A valid question could be: how to play the L5.1 encoded clip without artefacts.

My answer: the easiest way is to remux the file to a TS or a M2TS stream.

Another simple tool for users like me could be: RIPBOT264. This tool was working fine when remuxing a 150MB MKV L5.1 clip I used for testing.

more info about ripbot264 can be found here.

This tool can remux the L5.1 file to L4.1 with correct reference frames, keep the audio as it is and put it all back in the MKV… (no idea about subtitles though).

A simple guide for ripbot can be found here

if you want to remux your clip to MP4 than I advise you to use Gotsent, This program can be found here

More all-in-one tools I did not find yet. Other tools do need a bunch of other programs to accomplish the same.

So sometimes it seems that a ‘scene’ release is awesome encoded, but the performance is poor as hardware is not capable of decode it without artefacts or other issues

update: with the beta release of 1.09.11 firmware we were able to have L5.1 supported. Although not 100% of all files  can be played without artefacts (there are some reasons why it can’t be all) but I think 95% of the content we can .. And that is a huge huge improvement compared to other Sigma Designs 8634/8635 players. 

CFULLHDMA: Trying to understand decoding H.264

During the development of the CFULLHDMA I am always trying the best out of things. (= chipset + firmware). Knowing that not everything can be supported it is always a challenge to get the best.

Therefore my search for answers ..

Challenging the Sigma Designs 8635 chipset is one of the main things I like, especially as we know that the SDK of Sigma Designs is far from perfect.

SD 8635 does not support MKV, so this is added by a lot of manufactures themselves. The chip is strong in TS and MP4 .. 

We did some tests and got feedback from users: some certain files could not be played correct: during playback a lot of artefacts (squares) could be seen. In search for ansers why this happened a lot of debugging and research has been done.

In general this is what is happening: the filestream is forced to be played at H.264 High Profile @ L4.1 but the stream is a High Profile @ L5.x one and this is causing the artefacts.

The H.264 High Profile L5.x does need much more memory than the profile L4.1 (Blueray and HDDVD do use L4.1) ..  Also the ref frames have a role in this part: the more ref. frames, the more issues can be expected.

So in search for solutions it’s being checked if enough power/memory can be made available to decode the H.264 High profile L5.x

So my first suggestion is to remux the stream from L5.x to L4.x and check the amount of ref. frames.

It’s also wise to check some forums. I think the L4.1 is the profile to choose.

note: I am not H.264 expert, so if someone has more info about difference between L4.x and L5.x: please give me some hints