尝试在MediaFoundation转码中添加色彩空间信息(主要/传输矩阵/变换功能)。
要在
上设置颜色相关的属性MFCreateSinkWriterFromURL(..,..,pAttributes,..)
IMFSample*
至IMFSinkWriter::WriteSample()
只有Nvidia的输出mp4标头上有颜色标签,而AMD和Intel没有。
如何为这两个供应商添加颜色标签?
答案 0 :(得分:0)
创建文件接收器包装器,该文件接收器包装器由MFCreateMPEG4MediaSink
在内部创建实际的文件接收器。
将MF_MPEG4SINK_SPSPPS_PASSTHROUGH
的属性TRUE
设置为实际的媒体接收器。
执行IMFMediaSink
和IMFStreamSink
来挂接所有API。
IMFStreamSink ::ProcessSample(__RPC__in_opt IMFSample *pSample)
将获得编码器输出样本。
使用MFCreateSinkWriterFromMediaSink()
和包装器创建SinkWriter。
运行时,从IMFSample*
/ IMFMediaBuffer*
/ BYTE*
中提取原始缓冲区。按照h264或h265规范,用