locked
Color converter in transcode topology RRS feed

  • Question

  • Hi all,

    I'm using the Transcoding feature of Media Foundation to encode media files with my own video codec in a console application. My encoder MFT accepts YV12 input format only. So when I'm using an input video with the RGB24 color format, the transcoding fails (MESessionTopologySet with error status).

    When I go ahead and use topoedit, however, the transcoding of the same input file works fine since the color converter mft is inserted to do the RGB->YUV conversion. How does topoedit behave differently to allow inserting of the converter?

    Any hints would be appreciated! Thanks

    Monday, December 12, 2011 12:00 PM

Answers

  • There is a special video processor that normally gets inserted when using the transcode API to set up a transcode topology.  This video processor (and the sink writer, as well) does not support the wide variety of color space conversions that the color converter DSP does.  RGB24 is one of the formats that is not supported by it.

    TopoEdit creates a copy of the topology before setting it on the media session so that the topology being displayed on screen can be modified without adversely affecting the session.  This copy does not use the special video processor, so the media session inserts the standard color converter DSP.  If you delete all attributes on the transcode topology, you should get the same effect as TopoEdit.

    Thursday, January 5, 2012 11:56 PM