Biblioteki C/C++
AVIMakeCompressedStream
[funkcja] Tworzy skompresowany strumień na bazie strumienia nieskompresowanego.Składnia
#include <vfw.h>
STDAPI AVIMakeCompressedStream(
PAVISTREAM * ppsCompressed,
PAVISTREAM psSources,
AVICOMPRESSOPTIONS * lpOptions,
CLSID * pclsidHandler
);
Argumenty
Zwracana wartość
Funkcja zwraca AVIERR_OK, jeśli jej działanie zakończyło się sukcesem, lub kod błędu w przeciwnym wypadku:
Opis szczegółowy
Funkcja
AVIMakeCompressedStream tworzy nowy skompresowany strumień, do którego będzie można zapisywać dane.
IAVIFile * pfile;
IAVIStream * ps;
HBITMAP hbm;
DIBSECTION dibs;
int sbm = GetObject( hbm, sizeof( dibs ), & dibs );
if( sbm != sizeof( DIBSECTION ) )
{
}
AVIFileInit();
HRESULT hr = AVIFileOpen( & pfile, "plik.avi", OF_WRITE | OF_CREATE, NULL );
AVISTREAMINFO strhdr;
ZeroMemory( & strhdr, sizeof( strhdr ) );
strhdr.fccType = streamtypeVIDEO;
strhdr.fccHandler = 0;
strhdr.dwScale = 1000;
strhdr.dwRate = 1000;
strhdr.dwSuggestedBufferSize = dibs.dsBmih.biSizeImage;
SetRect( & strhdr.rcFrame, 0, 0, dibs.dsBmih.biWidth, dibs.dsBmih.biHeight );
hr = AVIFileCreateStream( pfile, & ps, & strhdr );
if( hr != AVIERR_OK )
{
}
AVICOMPRESSOPTIONS acopts;
IAVIStream * psCompressed;
ZeroMemory( & acopts, sizeof( acopts ) );
acopts.fccHandler = mmioFOURCC( 'D', 'I', 'B', ' ' );
hr = AVIMakeCompressedStream( & psCompressed, ps, & acopts, NULL );
if( hr != AVIERR_OK )
{
}
AVIStreamRelease( psCompressed );
AVIStreamRelease( ps );
AVIFileRelease( pfile );
AVIFileExit();
Wymagania
Linki zewnętrzne
Wszystkie teksty są chronione prawami autorskimi. Kopiowanie lub rozpowszechnianie treści poza niniejszym serwisem
jest zabronione.
Powyższe ograniczenie nie dotyczy autora opracowania, któremu przysługuje prawo do rozpowszechniania własnego tekstu wedle własnego uznania.