I'm quite surprised that just converting to YUV420 seems to be taking nearly as long as other encoders take to do the entire encode (from the same source file).So I'm wondering, does this make any sense, or must I be doing something wrong? Ifit seems like my code is likely to be working as expected, is there anything I can do to speed up the conversion?
Can you use VPP to accelerate the color conversion? The DirectShow h264 encoder filter demonstrates how to setup VPP to accept RGB32 anddo the conversion inthe hardware. Check out mfx_video_enc_filer.cpp in the samples.
My primary purpose is simply to get an idea of the performance of my transcode scenario (AVI with raw rgb data to h.264) using QuickSync hardware. I took a look at the example you mentioned (1000 lines or so)andit looks like it would take me awhile to grok that and pull out the code I want. I don't wantto invest the timeon that right now. Is there aquicker way to determine the speed?Can I (easily) build aDirectShow or MediaFoundation filter chain using the sample filters to do this processing?
The DirectShow filters are not optimized for performance, but they certainly can be used to examine your transcode scenario. The inclusion of VPP color conversion in the sample should help you get an idea. Use graphedit to build something like: SouceFilter(Your RGB data) -> H.254 Encoder Sample Filter (with VPP Color Conversion) -> MP4 Muxer -> FileWriter. All MSDK samples and no code.
Hope this helps
I don't think thecomment above about using DirectShow filters was accurate, I didn't find VPP code in there, maybe thatsuggestion confuses DirectShow and Media Foundation.I thinkthe MF sample has VPP code, but MF doesn't work for me, evidentlydue to a MF GUID registration problem (not Intel's problem) that makes it impossible to connect filters that use RGB GUIDs, but that's another story.
Note that my profiler numbers in my original post were very distorted (possibly byusing adebug build) but regardless the color conversion was stillthe bottleneck. The transcode is muchfaster nowwith VPP.