Compartilhar via


Estrutura AVICOMPRESSOPTIONS (vfw.h)

A estrutura AVICOMPRESSOPTIONS contém informações sobre um fluxo e como ele é compactado e salvo. Essa estrutura passa dados para a função AVIMakeCompressedStream (ou a função AVISave , que usa AVIMakeCompressedStream).

Sintaxe

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;

Membros

fccType

Código de quatro caracteres que indica o tipo de fluxo. As seguintes constantes foram definidas para os dados comumente encontrados em fluxos AVI:

Constante Descrição
streamtypeAUDIO
Indica um fluxo de áudio.
streamtypeMIDI
Indica um fluxo MIDI.
streamtypeTEXT
Indica um fluxo de texto.
streamtypeVIDEO
Indica um fluxo de vídeo.

fccHandler

Código de quatro caracteres para o manipulador de compressor que compactará esse fluxo de vídeo quando ele for salvo (por exemplo, mmioFOURCC ('M','S','V','C')). Esse membro não é usado para fluxos de áudio.

dwKeyFrameEvery

Período máximo entre quadros-chave de vídeo. Esse membro será usado somente se o sinalizador AVICOMPRESSF_KEYFRAMES estiver definido; caso contrário, cada quadro de vídeo é um quadro-chave.

dwQuality

Valor de qualidade passado para um compressor de vídeo. Esse membro não é usado para um compressor de áudio.

dwBytesPerSecond

Taxa de dados do compressor de vídeo. Esse membro será usado somente se o sinalizador AVICOMPRESSF_DATARATE estiver definido.

dwFlags

Sinalizadores usados para compactação. Os seguintes valores são definidos:

Nome Descrição
AVICOMPRESSF_DATARATE
Compacta esse fluxo de vídeo usando a taxa de dados especificada em dwBytesPerSecond.
AVICOMPRESSF_INTERLEAVE
Intercala esse fluxo a cada quadro dwInterleaveEvery em relação ao primeiro fluxo.
AVICOMPRESSF_KEYFRAMES
Salva esse fluxo de vídeo com quadros-chave pelo menos todos os quadros dwKeyFrameEvery . Por padrão, cada quadro será um quadro-chave.
AVICOMPRESSF_VALID
Usa os dados nessa estrutura para definir os valores de compactação padrão para AVISaveOptions. Se uma estrutura vazia for passada e esse sinalizador não estiver definido, alguns padrões serão escolhidos.

lpFormat

Ponteiro para uma estrutura que define o formato de dados. Para um fluxo de áudio, essa é uma estrutura LPWAVEFORMAT .

cbFormat

Tamanho, em bytes, dos dados referenciados por lpFormat.

lpParms

Dados específicos do compressor de vídeo; usado internamente.

cbParms

Tamanho, em bytes, dos dados referenciados por lpParms

dwInterleaveEvery

Fator de intercalação para intercalar dados de fluxo com dados do primeiro fluxo. Usado somente se o sinalizador AVICOMPRESSF_INTERLEAVE estiver definido.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho vfw.h

Confira também

Funções e macros AVIFile

Estruturas AVIFile

AVIMakeCompressedStream

AVISave

AVISaveOptions

mmioFOURCC