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


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

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

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

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

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