Log in

View Full Version : hevc decoding issues questions


alturismo
15th November 2019, 14:04
hi, as i have some applications i may ask here if someone has an idea what could cause this and if there is a solution.

its about DVB hevc broadcasts and often fails to decode in hw with ffmpeg.

i experience this in several apps like tvheadend, plex, emby, ...

sample failures are

tvheadend
vaapi: decode: unsupported pixel format: yuv420p10le

encoding to h265 as note working fine

plex
[Transcoder] [hevc @ 0x6f2080] PPS id out of range: 0
[Transcoder] [hevc @ 0x14af040] Could not find ref with POC -48
[Transcoder] [eac3_eae @ 0x14e0d40] Sample rate 0 invalid
[Transcoder] Error while processing the decoded data for stream #0:1
...

my source are either DVB-C or DVB-S streams coming from tvheadend, i also tested with filtering subs, teletext on/off, made no difference ...

when i look for these failures there are alot of entries, but nothing i could understand to work with.

may someone here had experience with these beaviors.

hardware is as note intel i7-8700 UHD630

and, mkv movie files are working ...

for an tipp thanks ahead

foxyshadis
19th November 2019, 08:14
Driver problem? Anything from HD520 up should be able to decode Main10 in hardware. Maybe you need to decode to yuv420p16le instead?

Missing refs and corrupted start is common at the start of a capture, so that error isn't useful. There must be something further in. Can you share a 10-30 second snip of your capture? Preferably raw, not remuxed (DGSplit is good for this).

alturismo
21st November 2019, 18:55
sorry for the late reply, as i tested some manual ffmpeg transcodes now too ...

and yes, it should be capable of decoding and encoding (which is working in hardware - tested from h264 to hevc)

here are some small samples i made, onedrive

https://1drv.ms/u/s!ApY1s9BRY-iSpxNTBcl8J1-PyOTl?e=NgHm3X

all my tests ended in software decoding with dvb streams ...

benwaggoner
23rd November 2019, 01:05
Interlaced content on a progressive-only decoder?

alturismo
23rd November 2019, 09:10
Interlaced content on a progressive-only decoder?

interlaced ? the 4k broadcasted streams are all 2160/50p and not like the regular HD channels here in 1080/50i

so no, here on hevc there is no interlaced content afaik.

attached i made 2 samples benchmark results from ffmpeg console, 1 downloaded content file showing hw decoding working, 1 from my recorded sample file wich fails.

alturismo
23rd November 2019, 09:45
ok, i guess im 1 step further now, as im no expert in these things i try in my words

as i guessed it has something todo with the "start" frame i made now a test, i imported the .ts file in avisynth and jumped to the 1st found keyframe, cutted away the start, went to the last found keyframe, cutted the end.
(i use avisynth to cut commercials fast and easy so thats how i came to the "found" keyframe)

now, when i do use ffmpeg with the cutted and remuxed files hw acc works and no more errors appear ...

so my question is now, is there a cmd string to tell ffmpeg to start on the 1st found keyframe ?

i added 4 files to the shared onedrive

VU_SAT.ts -> VU_SAT_edit.ts
VU_CBL.ts -> VU_CBL_edit.ts

the edited one are cutted and remuxed (not encoded) with avisynth and working, sample result from a benchmark and no errors

# ffmpeg -hwaccel vaapi -hwaccel_output_format vaapi -i VU_CBL_edit.ts -f null - -benchmark -hide_banner
Input #0, mpegts, from 'VU_CBL_edit.ts':
Duration: 00:00:15.38, start: 0.344000, bitrate: 31796 kb/s
Program 1
Metadata:
service_name : Service01
service_provider: FFmpeg
Stream #0:0[0x100]: Video: hevc ([36][0][0][0] / 0x0024), yuv420p10le(tv), 3840x2160 [SAR 1:1 DAR 16:9], 50 fps, 50 tbr, 90k tbn, 50 tbc
Stream #0:1[0x101](qab): Audio: eac3 ([135][0][0][0] / 0x0087), 48000 Hz, 5.1(side), fltp, 192 kb/s
Stream #0:2[0x102](qac): Audio: eac3 ([135][0][0][0] / 0x0087), 48000 Hz, stereo, fltp, 96 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (hevc (native) -> wrapped_avframe (native))
Stream #0:1 -> #0:1 (eac3 (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
Output #0, null, to 'pipe:':
Metadata:
encoder : Lavf58.20.100
Stream #0:0: Video: wrapped_avframe, vaapi_vld, 3840x2160 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 50 fps, 50 tbn, 50 tbc
Metadata:
encoder : Lavc58.35.100 wrapped_avframe
Stream #0:1(qab): Audio: pcm_s16le, 48000 Hz, 5.1(side), s16, 4608 kb/s
Metadata:
encoder : Lavc58.35.100 pcm_s16le
frame= 771 fps=207 q=-0.0 Lsize=N/A time=00:00:15.42 bitrate=N/A speed=4.13x
video:404kB audio:8568kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
bench: utime=0.433s stime=0.218s rtime=3.733s
bench: maxrss=314784kB
#