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


Структура COMPVARS (vfw.h)

Структура COMPVARS описывает параметры сжатия для таких функций, как ICCompressorChoose, ICSeqCompressFrame и ICCompressorFree.

Синтаксис

typedef struct {
  LONG         cbSize;
  DWORD        dwFlags;
  HIC          hic;
  DWORD        fccType;
  DWORD        fccHandler;
  LPBITMAPINFO lpbiIn;
  LPBITMAPINFO lpbiOut;
  LPVOID       lpBitsOut;
  LPVOID       lpBitsPrev;
  LONG         lFrame;
  LONG         lKey;
  LONG         lDataRate;
  LONG         lQ;
  LONG         lKeyCount;
  LPVOID       lpState;
  LONG         cbState;
} COMPVARS, *PCOMPVARS;

Члены

cbSize

Размер этой структуры в байтах. Этот элемент должен быть задан для проверки структуры перед вызовом любой функции с помощью этой структуры.

dwFlags

Применимые флаги. Определяется следующее значение:

Имя Описание
ICMF_COMPVARS_VALID
Данные в этой структуре являются допустимыми и были введены вручную. Установите этот флаг перед вызовом любой функции при заполнении этой структуры вручную. Не устанавливайте этот флаг, если позволяете ICCompressorChoose инициализировать эту структуру.

hic

Ручка к используемому компрессору. Вы можете открыть компрессор и получить его ручку с помощью функции ICOpen . Вы также можете выбрать компрессор с помощью ICCompressorChoose. ICCompressorChoose открывает выбранный компрессор и возвращает ручку компрессора в этом элементе. Вы можете закрыть компрессор с помощью ICCompressorFree.

fccType

Тип используемого компрессора. В настоящее время поддерживается только ICTYPE_VIDEO (VIDC). Для этого элемента можно задать нулевое значение.

fccHandler

Четырехзначный код компрессора. Укажите значение NULL , чтобы указать, что данные не должны быть сжаты повторно. Укажите "DIB", чтобы указать, что данные являются несжатой полной рамкой. С помощью этого элемента можно указать, какой из них выбран по умолчанию при отображении диалогового окна.

lpbiIn

Защищены; не использовать.

lpbiOut

Указатель на структуру BITMAPINFO , содержащую формат вывода изображения. Вы можете указать конкретный формат для использования или указать ЗНАЧЕНИЕ NULL для использования сжатия по умолчанию, связанного с форматом входных данных. Вы также можете задать формат вывода изображения с помощью ICCompressorChoose.

lpBitsOut

Защищены; не использовать.

lpBitsPrev

Защищены; не использовать.

lFrame

Защищены; не использовать.

lKey

Частота ключевых кадров. Укажите целое число, чтобы указать частоту появления ключевых кадров в сжатой последовательности, или нуль, чтобы не использовать ключевые кадры. Вы также можете разрешить ICCompressorChoose задать частоту ключевых кадров, выбранную в диалоговом окне. Функция ICSeqCompressFrameStart использует значение этого элемента для создания ключевых кадров.

lDataRate

Скорость передачи данных в килобайтах в секунду. ICCompressorChoose копирует выбранную скорость передачи данных из диалогового окна в этот элемент.

lQ

Настройка качества. Укажите значение качества от 1 до 10 000 или укажите ICQUALITY_DEFAULT для использования параметра качества по умолчанию. Можно также разрешить ICCompressorChoose задать значение качества, выбранное в диалоговом окне. ICSeqCompressFrameStart использует значение этого элемента в качестве параметра качества.

lKeyCount

Защищены; не использовать.

lpState

Защищены; не использовать.

cbState

Защищены; не использовать.

Комментарии

Вы можете разрешить ICCompressorChoose заполнить содержимое этой структуры или сделать это вручную. При заполнении структуры вручную необходимо предоставить сведения для следующих членов: cbSize, hic, lpbiOut, lKey и lQ. Кроме того, необходимо задать флаг ICMF_COMPVARS_VALID в элементе dwFlags .

Требования

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

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

ICCompressorChoose

ICCompressorFree

Кадр ICSeqCompress

ICSeqCompressFrameStart

Диспетчер сжатия видео

Структуры сжатия видео