Share via


ICCompress 함수(vfw.h)

ICCompress 함수는 단일 비디오 이미지를 압축합니다.

구문

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
);

매개 변수

hic

사용할 압축기 핸들입니다.

dwFlags

압축 플래그입니다. 다음 값이 정의됩니다.

ICCOMPRESS_KEYFRAME

압축기는 이 프레임을 키 프레임으로 만들어야 합니다.

lpbiOutput

출력 형식을 포함하는 BITMAPINFOHEADER 구조체에 대한 포인터입니다.

lpData

압축된 프레임을 포함할 수 있을 만큼 큰 출력 버퍼에 대한 포인터입니다.

lpbiInput

입력 형식을 포함하는 BITMAPINFOHEADER 구조체에 대한 포인터입니다.

lpBits

입력 버퍼에 대한 포인터입니다.

lpckid

예약되어 있으므로 사용하지 마세요.

lpdwFlags

AVI 인덱스에서 사용되는 반환 플래그에 대한 포인터입니다. 다음 값이 정의됩니다.

AVIIF_KEYFRAME

현재 프레임은 키 프레임입니다.

lFrameNum

프레임 번호입니다.

dwFrameSize

요청된 프레임 크기(바이트)입니다. 압축기가 제안된 프레임 크기를 지원하는 경우 ICGetInfo 함수에서 반환하는 VIDCF_CRUNCH 플래그가 있는 경우 0이 아닌 값을 지정합니다. 이 플래그가 설정되지 않았거나 프레임의 데이터 속도를 지정하지 않은 경우 이 매개 변수에 대해 0을 지정합니다.

압축기는 이미지 품질을 희생하거나 이 매개 변수에 지정된 크기 목표를 얻기 위해 다른 절편을 수행해야 할 수 있습니다.

dwQuality

프레임에 대해 요청된 품질 값입니다. ICGetInfo에서 반환된 VIDCF_QUALITY 플래그가 있는 경우 압축기가 제안된 품질 값을 지원하는 경우 0이 아닌 값을 지정합니다. 그렇지 않으면 이 매개 변수에 대해 0을 지정합니다.

lpbiPrev

이전 프레임의 형식을 포함하는 BITMAPINFOHEADER 구조체에 대한 포인터입니다.

lpPrev

이전 프레임의 압축되지 않은 이미지에 대한 포인터입니다. 이 매개 변수는 빠른 임시 압축에 사용되지 않습니다. 키 프레임을 압축할 때, 압축기가 임시 압축을 지원하지 않거나, 압축기가 이전 이미지의 형식과 데이터를 저장하는 데 외부 버퍼가 필요하지 않은 경우 이 매개 변수에 대해 NULL 을 지정합니다.

반환 값

성공하거나 오류가 있으면 ICERR_OK 반환합니다.

설명

ICM_COMPRESS_GET_SIZE 메시지를 보내거나 ICCompressGetSize 매크로를 사용하여 출력 버퍼의 크기에 따라 필요한 를 가져올 수 있습니다.

압축기는 키 프레임을 만들 때 lpdwFlags 의 내용을 AVIIF_KEYFRAME 설정합니다. 애플리케이션에서 AVI 파일을 만드는 경우 lpckidlpdwFlags 에 대해 반환된 정보를 파일에 저장해야 합니다.

압축기는 lpbiPrevlpPrev 를 사용하여 임시 압축을 수행하고 이전 프레임의 형식과 데이터를 저장하기 위해 외부 버퍼가 필요합니다. 키 프레임을 압축할 때, 빠른 압축을 수행할 때 또는 압축기에서 이전 이미지의 형식과 데이터를 저장할 자체 버퍼가 있는 경우 lpbiPrevlpPrev대해 NULL을 지정합니다. ICGetInfoVIDCF_TEMPORAL 플래그를 반환하고 압축기가 일반 압축을 수행하고 압축할 프레임이 키 프레임이 아닌 경우 이러한 매개 변수에 NULL이 아닌 값을 지정합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 vfw.h
라이브러리 Vfw32.lib
DLL Msvfw32.dll

추가 정보

비디오 압축 함수

비디오 압축 관리자