Do you have one that has header > 4.1 and doesn't play?
Yes #1 and #3 below with transcoding off but that doesn't tell us anything. You need a file with header >4.1 and ref frames below the 4.1 level that does play natively and a file with header < 4.2 and ref frames greater than the 4.1 level that does not play in order to prove the TV only uses ref frames.
#3 and #4 below do that.
First I think the wikipedia table is better than the formula for determining level, so I'll refer to that below as well as the formula.
http://en.wikipedia.org/wiki/H.264/MPEG-4_AVCFor 1280 up to 5 ref frames = 3.1, 6 to 9 ref frames = 4.0
For 1920 up to 4 ref frames = 4.0, 5 to 13 ref frames = 5.0 and 14 to 16 ref frames = 5.1
Here are my test files.
#1 5-5 A clip of the original Planet Earth 1920x1080 w/16 ref frames and valid 5.1 header (16=5.1 & 1920x1080x16/256= 129,600 = 5.1)
#2 4-4 Same clip w/3 ref frames and valid 4.1 header (3=4.0 & 1920x1280x3/256= 24,300 = 4.0)
#3 5-4 Copy of #1 (16 ref frames) with header changed to 4.1
#4 4-5 Copy of #2 (3 ref frames) with header changed to 5.1
With transcoding off (note new bug
https://bitbucket.org/xnejp03/serviio/i ... il-serviio) the Samsung D will play #2 and #4 but not #1 or #3. This demonstrates that the Samsung D uses resolution and ref frames (either by table or formula)rather than header value to determine playback capability which they document as "up to level 4.1" (ie: 32,768).
With transcoding on, Serviio transcodes #1, #3 and #4 due to caching the higher of header or ref frames. Given the above, it would be appropriate to have Servio only use the ref frames value in determining h264 levels with Samsung C/D/E.
I also found that the level change tool reporting of the "AVC level pattern found at file offset nnn" just reports the stored header value and does not report the real level based on ref frames.
To confirm the above, I tested another file.
#5 5-3 A demo clip 1280x720 w/4 ref frames and incorrect 5.1 header (4=3.1 & 1280x720x4/256=14400 = 3.1)
With transcoding off the Samsung D plays it correctly, again confirming the Samsung D ignores the header and uses ref frames.