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


Структура 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, определены следующие константы:

Константа Описание
streamtypeAUDIO
Указывает звуковой поток.
streamtypeMIDI
Указывает поток MIDI.
streamtypeTEXT
Указывает текстовый поток.
streamtypeVIDEO
Указывает видеопоток.

fccHandler

Четырехзначный код обработчика компрессора, который будет сжимать этот видеопоток при его сохранении (например, mmioFOURCC ('M','S','V','C').). Этот элемент не используется для аудиопотоков.

dwKeyFrameEvery

Максимальный период между ключевыми кадрами видео. Этот элемент используется только в том случае, если установлен флаг AVICOMPRESSF_KEYFRAMES; в противном случае каждый видеокадр является ключевым кадром.

dwQuality

Качество, передаваемое видеокомпрессору. Этот элемент не используется для аудиокомпрессора.

dwBytesPerSecond

Скорость передачи данных видеокомпрессора. Этот элемент используется только в том случае, если установлен флаг AVICOMPRESSF_DATARATE.

dwFlags

Флаги, используемые для сжатия. Определены следующие значения:

Имя Описание
AVICOMPRESSF_DATARATE
Сжимает этот видеопоток, используя скорость данных, указанную в dwBytesPerSecond.
AVICOMPRESSF_INTERLEAVE
Чередует этот поток с каждым кадром dwInterleaveEvery относительно первого потока.
AVICOMPRESSF_KEYFRAMES
Сохраняет этот видеопоток с ключевыми кадрами по крайней мере для каждого кадра dwKeyFrameEvery . По умолчанию каждый кадр будет ключевым кадром.
AVICOMPRESSF_VALID
Использует данные в этой структуре для задания значений сжатия по умолчанию для AVISaveOptions. Если передается пустая структура, а этот флаг не установлен, будут выбраны некоторые значения по умолчанию.

lpFormat

Указатель на структуру, определяющую формат данных. Для аудиопотока это структура LPWAVEFORMAT .

cbFormat

Размер данных, на которые ссылается lpFormat, в байтах.

lpParms

Данные, относящиеся к видеокомпрессору; используется для внутренних целей.

cbParms

Размер данных, на которые ссылается lpParms, в байтах

dwInterleaveEvery

Коэффициент чередования данных потока с данными из первого потока. Используется, только если установлен флаг AVICOMPRESSF_INTERLEAVE.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Верхняя часть vfw.h

См. также раздел

Функции и макросы AVIFile

Структуры AVIFile

AVIMakeCompressedStream

AVISave

AVISaveOptions

mmioFOURCC