mvReadCompressedImage(3dm)                          mvReadCompressedImage(3dm)


NAME
     mvReadCompressedImage, mvGetCompressedImageSize, mvInsertCompressedImage
     - read and write compressed images in a movie


SYNOPSIS
     #include <dmedia/moviefile.h>


     DMstatus mvReadCompressedImage( MVid track, MVframe frameIndex,
                    size_t bufferSize, void* buffer )

     size_t mvGetCompressedImageSize( MVid track, MVframe frameIndex )

     DMstatus mvInsertCompressedImage( MVid track, MVframe frameIndex,
                    size_t compressedSize, void* buffer )


DESCRIPTION
     These functions are similar to the ones in mvEditByFrame(3dm) that read
     and write frames in a movie track, but these functions read and write the
     uncompressed data in an image track.  This can save on
     compression/decompression time for applications that deal directly with
     compressed image data.

     mvGetCompressedImageSize return the number of bytes that image number
     frameIndex requires.

     mvReadCompressedImage reads image number frameIndex into buffer.  If the
     frame number is out of range or if it corresponds to a track gap, an
     error is set and DM_FAILURE is returned.

     mvInsertCompressedImage inserts the image in buffer before image number
     frameIndex.  The caller supplies the size of the compressed image, which
     will be stored in the movie file.  DM_SUCCESS or DM_FAILURE is returned.

EXAMPLE
          void* ReadFirstImage( MVid track )
          {
              size_t size   = mvGetCompressedImageSize( track, 0 );
              void*  buffer = malloc( size );

              if ( mvReadCompressedImage( track,
                                          0,
                                          size,
                                          buffer ) != DM_SUCCESS ) {
                  /* handle error */
              }

              return buffer;
          }


SEE ALSO
     mvIntro(3dm), mvGetErrno(3dm).


                                                                        Page 2