H.264 Decoder failed

H.264 Decoder failed

Hello
i used h.264 decoder sample to decode a packet. the emergence of a gray section, how to solve this problem? I used the ffmpeg solution of this package, there is no such phenomenon.

who can help me ?

by the way , 352*288 is right, but 1280*720 has that problem.

i used ipp_ia32_5.3 , and ipp-samples 5.3

18 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Hello,

IPP 5.3 is a bit out dated version. Is there any chance to check this with the latest version which is IPP 6.1 update 1?There wereseveral bug fixed since IPP 5.3...

Regards,
Vladimir

Hello Yida,

Significant improvements and bug fixes have been implemented since v5.3 was released (current version is v6.1.1). Please upgrade your IPP library to see if that fixes the problem you are experiencing. Your upgrades to 6.1 will be free if your subscription is still active (generally, if you purchased your product withing the last year). Log into the registration center to determine the state of your license:

https://registrationcenter.intel.com

A subscription renewal can be purchased for less cost than repurchasing the product, to extend your license (please note the difference between a subscription renewal and a new purchase as covered in the FAQ links below).

http://software.intel.com/en-us/articles/renewal-period-start/
http://software.intel.com/en-us/articles/download-registration-licensing/

Regards,

Paul

Quoting - Paul Fischer (Intel)

Hello Yida,

Significant improvements and bug fixes have been implemented since v5.3 was released (current version is v6.1.1). Please upgrade your IPP library to see if that fixes the problem you are experiencing. Your upgrades to 6.1 will be free if your subscription is still active (generally, if you purchased your product withing the last year). Log into the registration center to determine the state of your license:

https://registrationcenter.intel.com

A subscription renewal can be purchased for less cost than repurchasing the product, to extend your license (please note the difference between a subscription renewal and a new purchase as covered in the FAQ links below).

http://software.intel.com/en-us/articles/renewal-period-start/
http://software.intel.com/en-us/articles/download-registration-licensing/

Regards,

Paul

thanks !

i also used the ipp 6.0, the problem is the same .

is there any different between ipp 6.0 and ipp6.1?

that problem didn't hanppend all the time , Decode some time to appear.

who can help me ?

Quoting - yida_123

thanks !

i also used the ipp 6.0, the problem is the same .

is there any different between ipp 6.0 and ipp6.1?

that problem didn't hanppend all the time , Decode some time to appear.

who can help me ?

i used ipp 6.1 the problems still existence
is this ipp bug
is there has the Solutions

Can you provide some sample video files that illustrate the problem?

Quoting - Paul Fischer (Intel)

Can you provide some sample video files that illustrate the problem?

HiPaul and thanks for the reply,

how can i post to you ?

the packet is so big , 8817kb

Thanks!

Quoting - Vladimir Dudnik (Intel)
Hello,

IPP 5.3 is a bit out dated version. Is there any chance to check this with the latest version which is IPP 6.1 update 1?There wereseveral bug fixed since IPP 5.3...

Regards,
Vladimir

hi vladimir

i just want to know about ipp decode h264, H264 decoding process, if there are 2 consecutive bytes of 0, there will be an 0x03, I want to know whether to delete the 0x03when use ipp decoding

Quoting - yida123

HiPaul and thanks for the reply,

how can i post to you ?

the packet is so big , 8817kb

Thanks!

When you reply to a post in the forum there is an "Add Files" button (above the editing window) where you can attach a file along with your reply. Not sure how big the attachments can be, but please give it a try. If that doesn't work we can find an alternate method. I think the file is too large to mail (will probably bounce).

hi paul

the 264 packet decoded by ffmpeg is correctly.

hi paul

Can you see the files , is there some problem?

yida

Quoting - yida123

hi paul

Can you see the files , is there some problem?

yida

Hi Yida,

There seem to be a problem in the stream. Toward the beginning there are two IDRs which both have an invalid intra chroma mode at MB 720 which cause the decoder to throw an exceptions (you can get more details by putting a breakpoint into the constructor ofh264_exception).
On my side the file would not decode at all until I modified the functionProcessSegment in umc_h264_segment_decoder_mt.cpp to return a success code instead of an error in case of an exception.
I get a video of an office with the top broken (green band)

Emmanuel

Quoting - eweber
Hi Yida,

There seem to be a problem in the stream. Toward the beginning there are two IDRs which both have an invalid intra chroma mode at MB 720 which cause the decoder to throw an exceptions (you can get more details by putting a breakpoint into the constructor ofh264_exception).
On my side the file would not decode at all until I modified the functionProcessSegment in umc_h264_segment_decoder_mt.cpp to return a success code instead of an error in case of an exception.
I get a video of an office with the top broken (green band)

Emmanuel

Hi Emmanuel
Thanks for your reply!
That ismy problem . iget the video of an office with the top broken(gray band). but when i used ffmpeg decode ,the video is correct.

Yida

Quoting - yida123

Hi Emmanuel
Thanks for your reply!
That ismy problem . iget the video of an office with the top broken(gray band). but when i used ffmpeg decode ,the video is correct.

Yida

Hi yida,

The problem is in the stream, ffmpeg makes an assumption (which is working in that case). The idr_pic_id field of frame 78 is 36 for the first slices and then becomes 35 begining with the slice with MB address 720. According to the specs all slices of the IDR should have the same value. The IPP decoder treat it as two different frames, ffmpeg probably do not check the value and assume it is the same frame. (not that both my analyser and reference implementation show that frame broken and actually have the exact same output than my IPP implementation).

Emmanuel

Quoting - eweber
Hi yida,

The problem is in the stream, ffmpeg makes an assumption (which is working in that case). The idr_pic_id field of frame 78 is 36 for the first slices and then becomes 35 begining with the slice with MB address 720. According to the specs all slices of the IDR should have the same value. The IPP decoder treat it as two different frames, ffmpeg probably do not check the value and assume it is the same frame. (not that both my analyser and reference implementation show that frame broken and actually have the exact same output than my IPP implementation).

Emmanuel

Hi Emmanuel,
Thanks for your reply. is there exactly solution.modify the frame by myself? i received the data from network.
can you show me the code?

yida

hi

IF i want to use ipp , is there any solutions ? and how should i do

yida

Best Reply

Quoting - yida123

hi

IF i want to use ipp , is there any solutions ? and how should i do

yida

In umc_h264_slice_decoding.h there is a function called IsPictureTheSame.
Toward the end of the function there is a check done to compare the idr_pic_id of two slices.
If you comment out the check (and following return) you will be able to decode the stream.
Note that if you do so the decoder will be unable to differentiate between two consecutives IDR that have missing packets.

Emmanuel

Quoting - eweber

In umc_h264_slice_decoding.h there is a function called IsPictureTheSame.
Toward the end of the function there is a check done to compare the idr_pic_id of two slices.
If you comment out the check (and following return) you will be able to decode the stream.
Note that if you do so the decoder will be unable to differentiate between two consecutives IDR that have missing packets.

Emmanuel

Hi Emmanuel,
Thanks for your reply! The problem had solved !
Thanks so much!

yida

Leave a Comment

Please sign in to add a comment. Not a member? Join today