Структура AVICOMPRESSOPTIONS (vfw.h)
Структура AVICOMPRESSOPTIONS содержит сведения о потоке, а также о том, как он сжимается и сохраняется. Эта структура передает данные в функцию AVIMakeCompressedStream (или функцию AVISave , которая использует AVIMakeCompressedStream).
Синтаксис
typedef struct {
DWORD fccType;
DWORD fccHandler;
DWORD dwKeyFrameEvery;
DWORD dwQuality;
DWORD dwBytesPerSecond;
DWORD dwFlags;
LPVOID lpFormat;
DWORD cbFormat;
LPVOID lpParms;
DWORD cbParms;
DWORD dwInterleaveEvery;
} AVICOMPRESSOPTIONS, *LPAVICOMPRESSOPTIONS;
Члены
fccType
Четырехзначный код, указывающий тип потока. Для данных, часто встречающихся в потоках AVI, определены следующие константы:
Константа | Описание |
---|---|
|
Указывает звуковой поток. |
|
Указывает поток MIDI. |
|
Указывает текстовый поток. |
|
Указывает видеопоток. |
fccHandler
Четырехзначный код обработчика компрессора, который будет сжимать этот видеопоток при его сохранении (например, mmioFOURCC ('M','S','V','C').). Этот элемент не используется для аудиопотоков.
dwKeyFrameEvery
Максимальный период между ключевыми кадрами видео. Этот элемент используется только в том случае, если установлен флаг AVICOMPRESSF_KEYFRAMES; в противном случае каждый видеокадр является ключевым кадром.
dwQuality
Качество, передаваемое видеокомпрессору. Этот элемент не используется для аудиокомпрессора.
dwBytesPerSecond
Скорость передачи данных видеокомпрессора. Этот элемент используется только в том случае, если установлен флаг AVICOMPRESSF_DATARATE.
dwFlags
Флаги, используемые для сжатия. Определены следующие значения:
Имя | Описание |
---|---|
|
Сжимает этот видеопоток, используя скорость данных, указанную в dwBytesPerSecond. |
|
Чередует этот поток с каждым кадром dwInterleaveEvery относительно первого потока. |
|
Сохраняет этот видеопоток с ключевыми кадрами по крайней мере для каждого кадра dwKeyFrameEvery . По умолчанию каждый кадр будет ключевым кадром. |
|
Использует данные в этой структуре для задания значений сжатия по умолчанию для AVISaveOptions. Если передается пустая структура, а этот флаг не установлен, будут выбраны некоторые значения по умолчанию. |
lpFormat
Указатель на структуру, определяющую формат данных. Для аудиопотока это структура LPWAVEFORMAT .
cbFormat
Размер данных, на которые ссылается lpFormat, в байтах.
lpParms
Данные, относящиеся к видеокомпрессору; используется для внутренних целей.
cbParms
Размер данных, на которые ссылается lpParms, в байтах
dwInterleaveEvery
Коэффициент чередования данных потока с данными из первого потока. Используется, только если установлен флаг AVICOMPRESSF_INTERLEAVE.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Верхняя часть | vfw.h |
См. также раздел
Функции и макросы AVIFile