Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
29 Views

NV12 Output pin of decoder wont connect

I have done lots of work with directshow and decoders so I more or less know what I'm doing but.... I am evaluating the Intel H264 decoder that comes with the SDK (v2.10.11.12). When I try to play any H264 file thru the decoder (e.g. an AVI file using Graphedt) the decoder connects OK to the source but I cant connect the output pin (NV12) to a renderer (tried VMR and basic renderer). If I use any other decoder (DIVX, Axis, FFDshow, etc) its fine. There seem to be no color space converters that handle NV12. So it does not work at all for me. Am I missing something obvious?
0 Kudos
4 Replies
Highlighted
Employee
29 Views

Can you try the Enhanced Video Renderer (EVR)? It's what we use all the time.
-Eric
0 Kudos
Highlighted
Beginner
29 Views

Correct me if I'm wrong but it looks like EVR is only available in Vista and newer. In many cases we are trying to run our applicaitons on dedicated machines using XP/Embedded so it looks like EVR is not an option in that case. Unless you have a better idea, I'm thinking of writing a DS transform/converter filter for NV12 to YUY2 (and maybe a few other common types). This ought to be fairly easy. I'm sure I can figure it out but I dont suppose you have a code snippet handy that you could share with me to do this efficiently. (And is the NV12 output actually packed 12 bit pixels or is it 12 bits plus 4 zeros per short?). Thanks for the help so far. - Al
0 Kudos
Highlighted
Employee
29 Views

Well first I must remind you that the Intel Media SDK supports Windows Vista or Windows 7. Please see the release notes. That being said, We made some changes in the Media SDK 2012 that allows those filters to connect to VMR9. I suggest that you upgrade the Media SDK to the current version before tackling the task of writing a color converter.

-Eric

0 Kudos
Highlighted
Beginner
29 Views

Understood - if we try to run on XP we are on our own.
I just installed V3.0 SDK and dont see any difference. Cant connect to VMR9. Output pin shows NV12 as the only possible type (as does your 3.0 documentation of the H264 decoder). Am I missing something?

I also read that you were going to add the ability to override the max_dec_frame_buffering parameter to reduce latency for realtime/live applications but I dont see this in the docs either. I know the underlying IPP library APIs support it but I thought there was going to be an interface in the prebuilt filter in the SDK 3.o.

Thanks
-Al
0 Kudos