Partager via


Fonction ICCompress (vfw.h)

La fonction ICCompress compresse une seule image vidéo.

Syntaxe

DWORD VFWAPIV ICCompress(
  HIC                hic,
  DWORD              dwFlags,
  LPBITMAPINFOHEADER lpbiOutput,
  LPVOID             lpData,
  LPBITMAPINFOHEADER lpbiInput,
  LPVOID             lpBits,
  LPDWORD            lpckid,
  LPDWORD            lpdwFlags,
  LONG               lFrameNum,
  DWORD              dwFrameSize,
  DWORD              dwQuality,
  LPBITMAPINFOHEADER lpbiPrev,
  LPVOID             lpPrev
);

Paramètres

hic

Poignée au compresseur à utiliser.

dwFlags

Indicateur de compression. La valeur suivante est définie :

ICCOMPRESS_KEYFRAME

Le compresseur doit faire de ce cadre un cadre clé.

lpbiOutput

Pointeur vers une structure BITMAPINFOHEADER contenant le format de sortie.

lpData

Pointeur vers une mémoire tampon de sortie suffisamment grande pour contenir un cadre compressé.

lpbiInput

Pointeur vers une structure BITMAPINFOHEADER contenant le format d’entrée.

lpBits

Pointeur vers la mémoire tampon d’entrée.

lpckid

Réservé ; ne pas utiliser.

lpdwFlags

Pointeur vers les indicateurs de retour utilisés dans l’index AVI. La valeur suivante est définie :

AVIIF_KEYFRAME

Le cadre actuel est un cadre clé.

lFrameNum

Numéro d’image.

dwFrameSize

Taille de trame demandée, en octets. Spécifiez une valeur différente de zéro si le compresseur prend en charge une taille de trame suggérée, comme indiqué par la présence de l’indicateur VIDCF_CRUNCH retourné par la fonction ICGetInfo . Si cet indicateur n’est pas défini ou si un débit de données pour la trame n’est pas spécifié, spécifiez zéro pour ce paramètre.

Un compresseur peut devoir sacrifier la qualité de l’image ou faire un autre compromis pour obtenir l’objectif de taille spécifié dans ce paramètre.

dwQuality

Valeur de qualité demandée pour le cadre. Spécifiez une valeur différente de zéro si le compresseur prend en charge une valeur de qualité suggérée, comme indiqué par la présence de l’indicateur de VIDCF_QUALITY retourné par ICGetInfo. Sinon, spécifiez zéro pour ce paramètre.

lpbiPrev

Pointeur vers une structure BITMAPINFOHEADER contenant le format de l’image précédente.

lpPrev

Pointeur vers l’image non compressée du cadre précédent. Ce paramètre n’est pas utilisé pour la compression temporelle rapide. Spécifiez NULL pour ce paramètre lors de la compression d’une trame clé, si le compresseur ne prend pas en charge la compression temporelle ou si le compresseur ne nécessite pas de mémoire tampon externe pour stocker le format et les données de l’image précédente.

Valeur retournée

Retourne ICERR_OK en cas de réussite ou une erreur dans le cas contraire.

Remarques

Vous pouvez obtenir la valeur requise en fonction de la taille de la mémoire tampon de sortie en envoyant le message ICM_COMPRESS_GET_SIZE (ou à l’aide de la macro ICCompressGetSize ).

Le compresseur définit le contenu de lpdwFlags sur AVIIF_KEYFRAME lorsqu’il crée un cadre clé. Si votre application crée des fichiers AVI, elle doit enregistrer les informations retournées pour lpckid et lpdwFlags dans le fichier.

Les compresseurs utilisent lpbiPrev et lpPrev pour effectuer une compression temporelle et nécessitent une mémoire tampon externe pour stocker le format et les données de l’image précédente. Spécifiez NULL pour lpbiPrev et lpPrev lors de la compression d’une image clé, lors de la compression rapide ou si le compresseur dispose de sa propre mémoire tampon pour stocker le format et les données de l’image précédente. Spécifiez des valeurs non NULL pour ces paramètres si ICGetInfo renvoie l’indicateur VIDCF_TEMPORAL , si le compresseur effectue une compression normale et si le cadre à compresser n’est pas une image clé.

Configuration requise

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête vfw.h
Bibliothèque Vfw32.lib
DLL Msvfw32.dll

Voir aussi

Fonctions de compression vidéo

Gestionnaire de compression vidéo