#685 closed defect (fixed)
H264 decoder error
Reported by: | Anatoly | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | avcodec |
Version: | git-master | Keywords: | h264 |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | yes | |
Analyzed by developer: | no |
Description
There is a stream obtained from IP Camera which cannot be correctly decoded by ffmpeg but successfully decoded by Elecard StreamEye and IPP.
FFmpeg report:
./ffprobe ~/projects/decodeh264/frame.264
ffprobe version N-34962-gfd1cea6, Copyright (c) 2007-2011 the FFmpeg developers
built on Nov 25 2011 13:28:59 with gcc 4.4.5
configuration: --disable-optimizations
libavutil 51. 26. 0 / 51. 26. 0
libavcodec 53. 35. 0 / 53. 35. 0
libavformat 53. 20. 0 / 53. 20. 0
libavdevice 53. 4. 0 / 53. 4. 0
libavfilter 2. 48. 1 / 2. 48. 1
libswscale 2. 1. 0 / 2. 1. 0
[h264 @ 0x27a7c40] negative number of zero coeffs at 0 0
[h264 @ 0x27a7c40] error while decoding MB 0 0
[h264 @ 0x27a7c40] concealing 396 DC, 396 AC, 396 MV errors
[h264 @ 0x27a1880] Estimating duration from bitrate, this may be inaccurate
Input #0, h264, from '/home/alien/projects/decodeh264/frame.264':
Duration: N/A, bitrate: N/A
Stream #0:0: Video: h264 (Constrained Baseline), yuv420p, 352x288, 25 tbr, 1200k tbn, 50 tbc
Attachments (2)
Change History (11)
by , 13 years ago
by , 13 years ago
comment:1 by , 13 years ago
comment:2 by , 13 years ago
Keywords: | h264 added |
---|---|
Reproduced by developer: | set |
Status: | new → open |
Version: | unspecified → git-master |
Given that the reference decoder also fails ("ERROR: failed to find Total Zeros !cdc"), I would assume the sample is broken...
follow-up: 4 comment:3 by , 13 years ago
Component: | undetermined → avcodec |
---|
comment:4 by , 13 years ago
I also tried reference decoder and it fails. But Elecard StreamEye successfully decode this stream. Why?
comment:5 by , 13 years ago
I think I found the solution. It looks like flag "transform_8x8_mode_flag" is wrongly set to 1. After inverting this flag to 0 both streams become decodeable. And it also looks like StreamEye support old version of AVC standart that doesn't provide "transform_8x8_mode_flag".
Thus, I think this ticket may be closed.
comment:7 by , 3 years ago
I will just point out that "fix" in 85c92789b60416bb89f7938fa236c558603559f6 does not work on android (due to different byte endianess?)
follow-up: 9 comment:8 by , 3 years ago
Please ban yourself from this site.
Your inputs have no value at all.
comment:9 by , 3 years ago
Replying to richardpl:
Please ban yourself from this site.
Your inputs have no value at all.
Test for yourself using mpv for android. And stop attacking me.
I've made some investigations and found that the problem may be in flag dct8x8_allowed. Thus the following patch makes file "frame.264" decodable.
This is an ugly fix but it may shows the way to resolve this issue.