1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| DWORD dwFormatSize;
// Charge le format de l'image en entrée
AVIStreamFormatSize( pAVIStream, 0, &lStreamSize );
if ( (unsigned int) lStreamSize > sizeof( biIn ) )
return false;
lStreamSize = sizeof( biIn );
HRESULT hr = AVIStreamReadFormat( pAVIStream, 0, &biIn.bmiHeader,
&lStreamSize );
if ( hr != 0 )
return false;
// Récupère les informations sur la vidéo d'entrée
hr = AVIStreamInfo( pAVIStream, &aviInfos, sizeof ( aviInfos ) );
if ( hr != 0 )
return false;
// Allocation du buffer d'entrée
In = malloc( biIn.bmiHeader.biSizeImage );
// Récupère le format de l'image de sortie
dwFormatSize = ICCompressGetFormat( hCodec, &biIn, NULL );
if ( (unsigned int) dwFormatSize > sizeof( biIn ) )
return false;
if ( ICCompressGetFormat( hCodec, &biIn, &biOut ) != ICERR_OK )
return false;
OutSize = ICCompressGetSize( hCodec, &biIn, &biOut );
Out = malloc( OutSize );
return true; |
Partager