Opened 6 years ago

Closed 3 years ago

#3077 closed defect (wontfix)

Corruption when decoding experimental hevc stream

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

Description

(Sample from xhevc)
No information is shown that a hevc sample cannot be decoded by the current decoder.

$ ffmpeg -i hevc.hm10 -qscale 2 out.avi
ffmpeg version N-57366-gfbdc98c Copyright (c) 2000-2013 the FFmpeg developers
  built on Oct 23 2013 23:51:57 with gcc 4.7 (SUSE Linux)
  configuration: --enable-gpl
  libavutil      52. 47.101 / 52. 47.101
  libavcodec     55. 38.101 / 55. 38.101
  libavformat    55. 19.104 / 55. 19.104
  libavdevice    55.  4.100 / 55.  4.100
  libavfilter     3. 89.100 /  3. 89.100
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100
Input #0, hevc, from 'hevc.hm10':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: hevc, yuv420p, 1280x720, 25 fps, 25 tbr, 1200k tbn, 25 tbc
Please use -q:a or -q:v, -qscale is ambiguous
Output #0, avi, to 'out.avi':
  Metadata:
    ISFT            : Lavf55.19.104
    Stream #0:0: Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 1280x720, q=2-31, 200 kb/s, 25 tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (hevc -> mpeg4)
Press [q] to stop, [?] for help
[hevc @ 0x33a5000] CABAC_MAX_BIN : 100
frame=  933 fps=170 q=2.0 Lsize=   75571kB time=00:00:37.44 bitrate=16535.2kbits/s
video:75543kB audio:0kB subtitle:0 global headers:0kB muxing overhead 0.037002%

output looks severely broken.

Attachments (1)

hevc.hm10 (2.4 MB) - added by cehoyos 6 years ago.

Change History (12)

Changed 6 years ago by cehoyos

comment:1 Changed 6 years ago by mraulet

could you put the link of where this bitstreams comes from? If it wpp, they fixed it with hm11.

comment:2 Changed 6 years ago by cehoyos

comment:3 Changed 6 years ago by cehoyos

  • Cc mraulet added

comment:4 Changed 6 years ago by mraulet

it is not a conforming bitstream.

comment:5 Changed 6 years ago by cehoyos

Is it possible to detect these kind of streams and print a message?

comment:6 Changed 6 years ago by mraulet

I could add profile level indication error.

comment:7 Changed 6 years ago by mraulet

I added profile indication warnings

comment:8 Changed 5 years ago by kurosu

  • Priority changed from normal to minor
  • Summary changed from Corruption when decoding hevc to Corruption when decoding experimental hevc stream

I suggest closing this bug because: this is not a conforming bitstream, and hm10 is development/experimental version whose bitstreams shall be ignored. Current version is now hm15.

comment:9 Changed 5 years ago by cehoyos

I wondered if a better message could be shown (if it is impossible to support these streams): Is "profile 0" the only relevant information the stream contains?

comment:10 Changed 5 years ago by kurosu

profile 0, afaik, doesn't exist and means it could be anything, in particular on how to parse the bitstream. There are a few bits that can be parsed, but nothing that will say "we absolutely can't decode". It's not even a "patch welcome"/"missing feature" here.

"CABAC_MAX_BIN : 100" in the log underlines this: it is not possible and means we've already had bitstream reading errors.

We have something that looks vaguely watchable, and could maybe be fixed, but I can't see how anybody knowing hevc would want to go beyond what mraulet did.

Maybe we can be clearer and say that the decoded output may be total garbage.

comment:11 Changed 3 years ago by richardpl

  • Resolution set to wontfix
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.