Community
cancel
Showing results for 
Search instead for 
Did you mean: 
paul1andrews
Beginner
142 Views

Intel media SDK produces B&W frames when decoding stream from Logitech C920

I have a saved stream from a logitech C920 camera (which encodes to h264 on-board). The stream displays properly as color via other software (the other software is not Intel media SDK based). When I decode it using the Media SDK it gives me frames that are monochrome. Can you think of a possible explanation for this?
0 Kudos
14 Replies
142 Views

Hi,
Is there a way you can make sure that chroma components are copied properly out of MSDK decoder? MSDK produces YV12. it looks like only Y frames got copied.
paul1andrews
Beginner
142 Views

Thanks for your reply. The U and V components all come back as zero.
paul1andrews
Beginner
142 Views

I am having trouble contacting premium support regarding this - could someone from intel please reply on this thread?
Eric_S_Intel
Employee
142 Views

Hi,


The Media SDK is free API and doesnt have a Premium Support service, just these forums. Sorry weve overlooked this post. We try to do our best to help everybody. That being said, can I ask that you share your stream (or a piece of it) so we can take a look?


Thanks

-Eric

paul1andrews
Beginner
142 Views

Hi Eric,

Thanks for the reply.

I have attached the first part of a stream (just a single frame).

ffmpeg decodes this fine.

Intel Media SDK only gives monochrome (U and V are all zero).

Regards,
Paul
paul1andrews
Beginner
142 Views

By the way I have tried this with Media SDK 2012 (software) and with an older version (software and sandy bridge).
Eric_S_Intel
Employee
142 Views

Hi Paul,

I took the *.264 file that you posted and decoded it using 2012 Gold to a YUV file. That file was then imported into Elecard YUV viewer, and I dont see any issue with the color planes.

Can you elaborate on how you are viewing the YUV file? You want to make sure you have the YUV player set to IYUV format. If you open it with YV12, the color planes are reversed and the picture looks black & white (actually more blue).


-Eric

paul1andrews
Beginner
142 Views

Hi Eric,

I am viewing the YUV by using our own code that converts YUV to RGB and displays in a Windows bitmap. This code works fine for streams that were encoded with Media SDK.

Also, I have looked at the data and have seen that the UV plane contains 0's only. (The Y plane is fine).

Perhaps it's to do with the way we are calling the Media SDK methods? (Although the same code works fine with H.264 streams encoded with Media SDK).

I've attached a cut-down version of the code.

Regards,
Paul
paul1andrews
Beginner
142 Views

Hi Eric,

What did you use to decode the .h264 file to YUV? In other words, did you use packaged software that calls the Media SDK, or do you have a program with source code that calls the Media SDK?

If you have a program with source code, perhaps you can share with me some of the code so that I can see what might be different between it and my source code? This might be quicker for you than looking at my code.

Regards,
Paul
Eric_S_Intel
Employee
142 Views

Hi Paul,

I used sample_decode from the Media SDK 2012 download package. You can render the file as well - use the "-r" funcation. Pretty fast with only 1 frame though :)

-Eric
142 Views

Hi,
I have the same issue (monochrome YUV420 at output).
What was the solution?
Thanks in advance
Petter_L_Intel
Employee
142 Views

Hi,

You both seem to encounter an empty UV plane.

Please try the Media SDK provided sample_decode that Eric referred to using the "-r" option to render the decoded frames. If you still see B/W then my guess is that the actual stream may have been encoded as B/W.

Regards,
Petter
H_L_
Beginner
142 Views

Does the MediaSDK muxer accept FORMAT_VideoInfo on the C920 H.264 pin?
Petter_L_Intel
Employee
142 Views

Hi, Unfortunately the Media SDK binary muxer component does not work with that input. The muxer component (and the other binary only filters part of the SDK) has not been designed or validated for such usage. The intent of the binary only filters is to provide rapid ability to test the SDK, not to deliver full featured functionality. If you need a muxer filter with extended functionality to support this use case, I suggest you look for commercial or open solutions from a 3rd party. Regards, Petter
Reply