Opened 8 years ago

Closed 8 years ago

#5002 closed defect (invalid)

HEVC Decoding Problem

Reported by: smallishzulu Owned by:
Priority: normal Component: avcodec
Version: git-master Keywords: hevc
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Hello All,

I noticed a TS that can play well on UHD STBs, but having problem on VLC, FFplay and FFmpeg. The files are uploaded to here:

http://www.datafilehost.com/d/03c382a8

The files are 3840x2160@50fps HEVC yuv420p coded. These TS files are temporalscaling layered, which means UHD 4K TV wth 25 fps can show also.

/ffmpeg -i /media/usb1/part1.ts -vcodec rawvideo -an -f nut -y /dev/null
ffmpeg version N-76542-g6e3244f Copyright (c) 2000-2015 the FFmpeg developers

built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04)
configuration: --prefix=/opt/ffmpeg --enable-shared --enable-nonfree --enable-gpl --extra-cflags='-I/opt/ffmpeg/include -I/usr/local/include' --extra-ldflags=-L/opt/ffmpeg/lib --bindir=/opt/ffmpeg/bin --extra-libs=-ldl --enable-libx264 --enable-libx265 --enable-nonfree --enable-gpl --enable-nvenc --enable-libopenjpeg --enable-vdpau
libavutil 55. 5.100 / 55. 5.100
libavcodec 57. 15.100 / 57. 15.100
libavformat 57. 14.100 / 57. 14.100
libavdevice 57. 0.100 / 57. 0.100
libavfilter 6. 15.100 / 6. 15.100
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100

[hevc @ 0x24788a0] PPS id out of range: 0

Last message repeated 1 times

[hevc @ 0x24788a0] Error parsing NAL unit #1.
[hevc @ 0x24788a0] PPS id out of range: 0

Last message repeated 1 times

[hevc @ 0x24788a0] Error parsing NAL unit #1.
[hevc @ 0x24788a0] PPS id out of range: 0

Last message repeated 1 times

[hevc @ 0x24788a0] Error parsing NAL unit #1.
[hevc @ 0x24788a0] PPS id out of range: 0

Last message repeated 1 times

[hevc @ 0x24788a0] Error parsing NAL unit #1.
[hevc @ 0x24788a0] PPS id out of range: 0

Last message repeated 1 times

[hevc @ 0x24788a0] Error parsing NAL unit #1.
[hevc @ 0x24788a0] PPS id out of range: 0

Last message repeated 1 times

[hevc @ 0x24788a0] Error parsing NAL unit #1.
[hevc @ 0x24788a0] PPS id out of range: 0

Last message repeated 1 times

[hevc @ 0x24788a0] Error parsing NAL unit #1.
[hevc @ 0x24788a0] PPS id out of range: 0

Last message repeated 1 times

[hevc @ 0x24788a0] Error parsing NAL unit #1.
[hevc @ 0x24788a0] PPS id out of range: 0

Last message repeated 1 times

[hevc @ 0x24788a0] Error parsing NAL unit #1.
[hevc @ 0x24788a0] PPS id out of range: 0

Last message repeated 1 times

[hevc @ 0x24788a0] Error parsing NAL unit #1.
[hevc @ 0x24788a0] PPS id out of range: 0

Last message repeated 1 times

[hevc @ 0x24788a0] Error parsing NAL unit #1.
[hevc @ 0x24788a0] PPS id out of range: 0

Last message repeated 1 times

[hevc @ 0x24788a0] Error parsing NAL unit #1.
[hevc @ 0x24788a0] PPS id out of range: 0

Last message repeated 1 times

[hevc @ 0x24788a0] Error parsing NAL unit #1.
[hevc @ 0x24788a0] PPS id out of range: 0

Last message repeated 1 times

[hevc @ 0x24788a0] Error parsing NAL unit #1.
[hevc @ 0x24788a0] PPS id out of range: 0

Last message repeated 1 times

[hevc @ 0x24788a0] Error parsing NAL unit #1.
[hevc @ 0x24788a0] PPS id out of range: 0

Last message repeated 1 times

[hevc @ 0x24788a0] Error parsing NAL unit #1.
[hevc @ 0x24788a0] PPS id out of range: 0

Last message repeated 1 times

[hevc @ 0x24788a0] Error parsing NAL unit #1.
[hevc @ 0x24788a0] PPS id out of range: 0

Last message repeated 1 times

[hevc @ 0x24788a0] Error parsing NAL unit #1.
[hevc @ 0x24788a0] PPS id out of range: 0

Last message repeated 1 times

[hevc @ 0x24788a0] Error parsing NAL unit #1.
[hevc @ 0x24788a0] PPS id out of range: 0

Last message repeated 1 times

[hevc @ 0x24788a0] Error parsing NAL unit #1.
[mpegts @ 0x24744e0] PES packet size mismatch
Input #0, mpegts, from '/media/usb1/part1.ts':

Duration: 00:00:13.07, start: 472.580000, bitrate: 64191 kb/s
Program 1

Metadata:

service_name : TURKSAT 4K HEVC
service_provider: TURKSAT

Stream #0:0[0x3f3]: Video: hevc (Main) ([36][0][0][0] / 0x0024), yuv420p(tv), 3840x2160, 50 fps, 50 tbr, 90k tbn, 50 tbc
Stream #0:1[0x3f4]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 127 kb/s

Output #0, nut, to '/dev/null':

Metadata:

encoder : Lavf57.14.100
Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 3840x2160, q=2-31, 200 kb/s, 50 fps, 51200 tbn, 50 tbc
Metadata:

encoder : Lavc57.15.100 rawvideo

Stream mapping:

Stream #0:0 -> #0:0 (hevc (native) -> rawvideo (native))

Press [q] to stop, ? for help
[hevc @ 0x24a9040] Could not find ref with POC 28
[hevc @ 0x24a9040] Could not find ref with POC 24
[hevc @ 0x24a9040] Could not find ref with POC 32
[hevc @ 0x24bdf00] Could not find ref with POC 160:00:06.12 bitrate=4960389.1kbits/s
[hevc @ 0x24bdf00] Could not find ref with POC 12
[hevc @ 0x24bdf00] Could not find ref with POC 20
[hevc @ 0x24a9040] Ignoring POC change between slices: 0 -> 20
[hevc @ 0x24a9040] Non-matching NAL types of the VCL NALUs: 19 1
[hevc @ 0x24a9040] Error parsing NAL unit #9.
Error while decoding stream #0:0: Invalid data found when processing input
frame= 470 fps= 57 q=-0.0 Lsize= 5710517kB time=00:00:11.78 bitrate=3971184.5kbits/s
video:5710500kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000293%

The problem is:
[hevc @ 0x24a9040] Ignoring POC change between slices: 0 -> 20
[hevc @ 0x24a9040] Non-matching NAL types of the VCL NALUs: 19 1
[hevc @ 0x24a9040] Error parsing NAL unit #9.

Output makes lots of freezes on output, which should not occur.

Kind Regards,

Change History (8)

in reply to:  description comment:1 by Carl Eugen Hoyos, 8 years ago

Keywords: decode removed

Replying to smallishzulu:

/ffmpeg -i /media/usb1/part1.ts -vcodec rawvideo -an -f nut -y /dev/null

I don't think this command line allows to reproduce a decoding problem.

Output makes lots of freezes on output, which should not occur.

Can you confirm that the actual transport streams you uploaded play without freezes on your stb?

comment:2 by smallishzulu, 8 years ago

Yes, I confirm that STB has no problem. I tested both with Sagemcom and Techwood UHD STBs.
I uploaded longer TS files to here:

For TS file:
http://we.tl/Ji2a7C2SDF

For zip version of the file:
http://we.tl/BJkcR8eTcg

I run the TS files like this:
/opt/ffmpeg/bin/ffmpeg -i /home/admintv/trt4k2.ts -vcodec rawvideo -an -f nut - | DISPLAY=:0.0 /opt/ffmpeg/bin/ffplay -loglevel quiet -fs -i -

The error is here:

Input #0, mpegts, from '/home/admintv/trt4k2.ts':

Duration: 00:01:28.34, start: 90678.500000, bitrate: 98487 kb/s
Program 1

Metadata:

service_name : TURKSAT 4K HEVC
service_provider: TURKSAT

Stream #0:0[0x3f3]: Video: hevc (Main) ([36][0][0][0] / 0x0024), yuv420p(tv), 3840x2160, 50 fps, 50 tbr, 90k tbn, 50 tbc
Stream #0:1[0x3f4]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 127 kb/s

Output #0, nut, to 'pipe:':

Metadata:

encoder : Lavf57.14.100
Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 3840x2160, q=2-31, 200 kb/s, 50 fps, 51200 tbn, 50 tbc
Metadata:

encoder : Lavc57.15.100 rawvideo

Stream mapping:

Stream #0:0 -> #0:0 (hevc (native) -> rawvideo (native))

Press [q] to stop, ? for help
[hevc @ 0x902840] Could not find ref with POC 24
[hevc @ 0x902840] Could not find ref with POC 20
[hevc @ 0x902840] Could not find ref with POC 28
[hevc @ 0x9c2c00] Ignoring POC change between slices: 49 -> 16trate=4973551.7kbits/s
[hevc @ 0x9d3120] Could not find ref with POC 12
[hevc @ 0x9d3120] Could not find ref with POC 8
[hevc @ 0x9d3120] Could not find ref with POC 16
[hevc @ 0x9c2c00] Ignoring POC change between slices: 49 -> 16

Last message repeated 2 times

Past duration 0.999992 too large

Last message repeated 1 times

Past duration 0.999992 too large19792399kB time=00:00:32.96 bitrate=4919276.0kbits/s dup=0 drop=3

Last message repeated 7 times

Past duration 0.999992 too large19889600kB time=00:00:33.12 bitrate=4919553.2kbits/s dup=0 drop=3

Last message repeated 6 times

[hevc @ 0x991ca0] Duplicate POC in a sequence: 49.
[hevc @ 0x991ca0] Error parsing NAL unit #1.
Past duration 0.999992 too large

Last message repeated 10 times

Error while decoding stream #0:0: Invalid data found when processing input
admintv@decoder:~/multicat-2.1$ 21469104kB time=00:00:35.72 bitrate=4923709.3kbits/s dup=0 drop=3

When you get slice or POC errors, there is freezing and corruption in video.

comment:3 by smallishzulu, 8 years ago

This error does not happen x265 or nvenc codded videos.
I noticed this on Astra 19.2 SES UHD Test Channel and on Turksat 42E TRT 4K Test Channel.

Last edited 8 years ago by smallishzulu (previous) (diff)

comment:4 by smallishzulu, 8 years ago

[hevc @ 0x1723ae0] Could not find ref with POC 12
[hevc @ 0x17135c0] Ignoring POC change between slices: 7 -> 12
[hevc @ 0x17135c0] Non-matching NAL types of the VCL NALUs: 2 1
[hevc @ 0x17135c0] Error parsing NAL unit #2.

Error while decoding stream #0:1: Invalid data found when processing input
[hevc @ 0x1754a40] Ignoring POC change between slices: 12 -> 9
[hevc @ 0x1754a40] Non-matching NAL types of the VCL NALUs: 1 2
[hevc @ 0x1754a40] Error parsing NAL unit #6.

Error while decoding stream #0:1: Invalid data found when processing input
[hevc @ 0x13024c0] Could not find ref with POC 8
[hevc @ 0x1754a40] Ignoring POC change between slices: 1 -> 8
[hevc @ 0x1754a40] Non-matching NAL types of the VCL NALUs: 2 1
[hevc @ 0x1754a40] Error parsing NAL unit #3.

comment:5 by Carl Eugen Hoyos, 8 years ago

I am not sure I understand: You uploaded a 44 second sample. Do the first 20 seconds play correctly with FFmpeg? Is the speed (that looks unsteady to me) correct or is there a difference if you compare with playback on your stb?
After 23 seconds, I get a decoding error. Is this the only issue you get with the sample you uploaded?

comment:6 by Carl Eugen Hoyos, 8 years ago

Status: newopen

comment:7 by smallishzulu, 8 years ago

Yes only issue is decoding problem and it makes fuzzy video on playback and frame drop.
First 20 secs is ok as you said, this problem happens time to time.
Play duration on STB and ffplay or on ffmpeg decode is same.
Only issue STB has no fuzzy video or frame drop.

comment:8 by Carl Eugen Hoyos, 8 years ago

Resolution: invalid
Status: openclosed

I see the exact same artefacts with a Samsung hardware as with FFmpeg. I don't think there is a bug that can be fixed.

Note: See TracTickets for help on using tickets.