Поделиться через


Почему декодер не принимает заданный формат входных данных?

Существует множество причин, по которым декодер может отклонять формат. Наиболее распространенными являются отсутствующие или неправильные данные расширенного формата. Данные расширенного формата — это сведения, относящиеся к кодеку, которые добавляются к структуре, описывающей тип носителя.

При перечислении типа вывода с помощью объекта кодировщика элемент pbFormatструктуры DMO_MEDIA_TYPE будет указывать на структуру WAVEFORMATEX . К этой структуре добавляются данные расширенного формата, а размер этих данных хранится в элементе WAVEFORMATEX.cbSize . Независимо от контейнера, используемого для хранения сжатых данных, необходимо сохранить структуру WAVEFORMATEX и использовать ее в типе входных данных для декодера. Без данных расширенного формата декодер не может распаковать содержимое.

Для форматов видео необходимо вручную получить данные расширенного формата и добавить их в структуру VIDEOINFOHEADER . Дополнительные сведения см. в разделе Использование частных данных видеокодека.

Часто задаваемые вопросы