Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.
Announcements
FPGA community forums and blogs have moved to the Altera Community. Existing Intel Community members can sign in with their current credentials.

H.264 UMC decoder problem

Purvin_Pandit
Beginner
1,456 Views
I have a H.264 bitstream generated by an encoder which canot be decoded by UMC decoder. I am not sure exactly why its failing. I can decode the bitstream with ffmpeg, vlc, JM decoder andVega analyzer.

I have attached the ES. I have also attached the debug trace from the UMC decoder.
0 Kudos
10 Replies
Vladimir_Dudnik
Employee
1,456 Views
Thanks, we will look at it. Just to be clear, did you try the latest version of IPP for yout test?

Regards,
Vladimir
0 Kudos
Purvin_Pandit
Beginner
1,456 Views

Yes I have the latest IPP. Also the bitstream isa network capture so initially it will not start with IDR or SPS, PPS etc.

0 Kudos
Vladimir_Dudnik
Employee
1,456 Views
That might the root cause. UMC expect correctly formed stream.
0 Kudos
Purvin_Pandit
Beginner
1,456 Views
I dont think that is the problem. I have other bitstreams which do not start with IDR, SPS, PPS and UMC can decode them just fine.
0 Kudos
Chao_Y_Intel
Moderator
1,456 Views

Hello,

From the error log, it showed that you are using a MPEG TS splitter. The attached file looks to be a raw H.264 file. Anything missed here?

Also I tried with FFMPEG, it looks this stream contains many invalid data. See attached file.

Thanks,
Chao

0 Kudos
Purvin_Pandit
Beginner
1,456 Views
Hi Chao

(1) The error log is from the same bitstream I have attached and not from a MPEG-2 TS. I enableddebugging in UMC and that is the debug log message I see.

(2) Yes there are many error messages from ffmepeg but it can eventually start decoding. As I mentioned, this is a network capture so a decoder is bound to receive some invalid data initiallly until it can find an SPS/PPS/IDR. And UMC does decode some of my network captures correctly in other cases.

Did you try to decode the attachedbitstream with UMC?

Thanks,
-Purvin
0 Kudos
Purvin_Pandit
Beginner
1,456 Views
Hi Vladimir, Chao

Any update? Did any of you have a chance to try the bitstream?

Thanks,
-Purvin
0 Kudos
Purvin_Pandit
Beginner
1,456 Views
Ok I think I have found the problem.

The problem is that the UMC decoder (for some reason)allowsonly the 1st 14 (0- 13)values for the aspec ratio as specified in Table E-1 of the spec:

const Ipp16u H264ParsingCore::AspectRatio[14][2] = {

{ 1, 1}, { 1, 1}, {12, 11}, {10, 11}, {16, 11}, {40, 33}, { 24, 11},

{20, 11}, {32, 11}, {80, 33}, {18, 11}, {15, 11}, {64, 33}, {160, 99},

};

The bitstream that I have attached has the syntax set to 14 which is considered an invalid bitstream by UMC decoder. I do not know why the values 14, 15 and 16 are not supported but simply extending the array and setting the right values as below fixes the problem.

const Ipp16u H264ParsingCore::AspectRatio[17][2] = {

{ 1, 1}, { 1, 1}, {12, 11}, {10, 11}, {16, 11}, {40, 33}, { 24, 11},

{20, 11}, {32, 11}, {80, 33}, {18, 11}, {15, 11}, {64, 33}, {160, 99},

{4, 3}, {3, 2}, {2, 1}

};

Thanks,
-Purvin

0 Kudos
Chao_Y_Intel
Moderator
1,456 Views

Purvin,

Thanks for the update. I escalated the owner for the fix in the future release.

Thanks,
Chao

0 Kudos
Chao_Y_Intel
Moderator
1,455 Views

Purvin,

The fix has been included into 7.0.2 release. thanks for your report.

Regards,
Chao

0 Kudos
Reply