Dela via


Dekomprimera data

[Funktionen som är associerad med den här sidan, Video Compression Manager, är en äldre funktion. Microsoft rekommenderar starkt att ny kod inte använder den här funktionen.]

I följande exempel visas hur ett program kan initiera en dekomprimerare med hjälp av ICDecompressBegin makro, dekomprimera en bildrutesekvens med hjälp av funktionen ICDecompress och avsluta dekomprimering med hjälp av ICDecompressEnd makro.

LPBITMAPINFOHEADER lbpiIn, lpbiOut; 
LPVOID             lpIn, lpOut; 
LONG               lNumFrames, lFrameNum; 
 
// Assume lpbiIn and lpbiOut are initialized to the input and output 
// format and lpIn and lpOut are pointing to the buffers. 
if (ICDecompressBegin(hIC, lpbiIn, lpbiOut) == ICERR_OK)
{ 
    for (lFrameNum = 0; lFrameNum < lNumFrames, lFrameNum++)
    { 
        if (ICDecompress(hIC, 0, lpbiIn, lpIn, lpbiOut, 
            lpOut) == ICERR_OK) 
        { 
            // Frame decompressed OK so we can process it as required. 
        } 
        else 
        { 
            // Handle the decompression error that occurred. 
        } 
    } 
    ICDecompressEnd(hIC); 
} 
else 
{ 
    // Handle the error identifying an unsupported format. 
}