[Libav-user] Decoding H.264 using only decoder

Info || Non-Lethal Applications info at non-lethal-applications.com
Fri Jan 9 15:56:25 CET 2015


I have an MXF Op1b file (which I can’t share due to a strict NDA) using the AVC codec which I’d like to playback in my app.
When opening the file with libavformat, it gets recognized and it plays back just fine at first.
However, the playback gets stuck after a couple of seconds.

I found out that there’s an issue with the index tables and partitions within the MXF file.
I don’t remember the exact position but there was an annotation in the code that currently only Op1a and OpAtom files are handled properly.

As the decoding seems to work fine using libavcodec, I’d like to use only the decoder part and gather the AVPackets myself using code I already have based on the open source MXF Lib.
While this approach does work in general, the H.264 decoder gives me a lot of errors during decoding like:

[h264 @ 0x1059fda00] concealing 50 DC, 50 AC, 50 MV errors in I frame
[h264 @ 0x105b29600] concealing 50 DC, 50 AC, 50 MV errors in I frame
[h264 @ 0x105b37600] negative number of zero coeffs at 255 134
[h264 @ 0x105b37600] error while decoding MB 255 134
[h264 @ 0x105b37600] concealing 50 DC, 50 AC, 50 MV errors in I frame
[h264 @ 0x105b2a800] concealing 2048 DC, 2048 AC, 2048 MV errors in I frame
[h264 @ 0x105b2ae00] negative number of zero coeffs at 255 134
[h264 @ 0x105b2ae00] error while decoding MB 255 134
[h264 @ 0x105b2ae00] concealing 50 DC, 50 AC, 50 MV errors in I frame
[h264 @ 0x105b43c00] concealing 2048 DC, 2048 AC, 2048 MV errors in I frame
[h264 @ 0x105b44200] corrupted macroblock 254 134 (total_coeff=-1)
[h264 @ 0x105b44200] error while decoding MB 254 134
[h264 @ 0x105b44200] concealing 51 DC, 51 AC, 51 MV errors in I frame
[h264 @ 0x105b44800] negative number of zero coeffs at 254 134
[h264 @ 0x105b44800] error while decoding MB 254 134
[h264 @ 0x105b44800] concealing 51 DC, 51 AC, 51 MV errors in I frame
[h264 @ 0x105b44e00] concealing 2048 DC, 2048 AC, 2048 MV errors in I frame

The first error occurs when the frameFinished flag of av_decode_video2 is true for the first time.
The image itself looks fine but there are some areas with pink and white bar-like artifacts.

It was my understanding that avformat provides data packets only.
However, this looks to me like it also adjusts parameters of the AVCodecContext during reading?

Any pointers as to how I could make the decoder happy would be highly appreciated.

Thanks,

best,

Flo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://ffmpeg.org/pipermail/libav-user/attachments/20150109/aabc454d/attachment.html>


More information about the Libav-user mailing list