MMA_BlockAlign

MMA_BlockAlign (V51.6) [..G.Q], ULONG

DESCRIPTION

   This attribute is used internally to pass pixmap data offset from
   beginning of the stream, as specified in the header. This offset is used
   by bmp.decoder as a helper for decoding broken images

MMA_DataFormat

MMA_DataFormat (V51.7) [..G.Q], STRPTR

DESCRIPTION

   Returns read-only textual NULL-terminated description of decoded format.
   This class returns "Windows BitMap" string

MMA_MimeType

MMA_DataFormat (V51.8) [..G.Q], STRPTR

DESCRIPTION

   Returns read-only textual NULL-terminated MIME type string. This class
   returns "image/x-bmp" string

MMA_StreamPosBytes

MMA_StreamPosBytes (V51.6) [..G.Q], UQUAD*

DESCRIPTION

   Current position in BMP encoded data in bytes (after stripping 14-byte
   BMP file header

NOTES

   As every 64-bit attribute, MMA_StreamPosBytes is passed by pointer to a
   64-bit value.

MMA_Video_FrameCount

MMA_Video_FrameCount (V50) [..G.Q], UQUAD*

DESCRIPTION

   As BMP format does not support multiframe images, this attribute returns
   1 always

NOTES

   As every 64-bit attribute, MMA_Video_FrameCount is passed by pointer to a
   64-bit value.

MMM_Pull

Writes Windows BitMap data to specified buffer. (V50)

SYNOPSIS

   ULONG DoMethod(Object *obj, MMM_Pull, ULONG port, APTR buffer, ULONG
   length);

DESCRIPTION

   Pulls needed amount of stream data from input, processes them to extract
   raw Windows BitMap data and places them in the specified buffer. The
   demuxer is pass-through for image data (no data copying

INPUTS

   obj - object to perform method on.
   port - number of port, must be output (1).
   buffer - destination buffer for bitmap data.
   length - amount of data to be pulled in bytes

RESULT

   Number of bytes pulled, secondary error information via MMA_ErrorCode

SEE ALSO

MMM_Seek

Seeks in encoded BMP data. (V51.6)

SYNOPSIS

   ULONG DoMethod(Object *obj, MMM_Seek, ULONG port, ULONG type, UQUAD*
   offset);

DESCRIPTION

   Seeks in encoded BMP stream, as the demuxer does no data conversion it
   only adds main BMP header size to the offset, and passes the method
   to the input port (it is then forwarded to the connected stream object

INPUTS

   obj - object to perform method on.
   port - number of port, must be output (1).
   type - seek type, must be MMM_SEEK_BYTES.
   length - absolute position in BMP encoded data in bytes

RESULT

   Boolean success value

NOTES

   The offset is passed as a pointer to 64-bit unsigned number.

SEE ALSO

__background__

HISTORY

   51.10 (01.03.2022)
   - Fixed MMM_Seek bogus DoSuperMethod call.

   51.8 (27.06.2015)
   - MMA_DataFormat now falls back to the class definition (requires
     multimedia.class 55.10+ to work).
   - Implemented MMA_MimeType (requires multimedia.class 55.10+ to work).

   51.7 (29.06.2007)
   - Implemented MMA_DataFormat.

   51.6 (29.01.2007)
   - Added MMA_BlockAlign attribute (stream offset to pixmap data) used by
     bmp.decoder for workarounds for decoding buggy images.
   - Added missing OM_GET and MMM_GetPort entries to the dispatcher.
   - Implemented MMM_Seek().
   - Added MMA_StreamPosBytes attribute.
   - Recognition routine: if header filesize does not match filesystem
     filesize, does not set probability to 0. Allows lot of broken images to
     be accepted.

   51.5 (08.01.2006)
   - Fixed Setup(), should return TRUE when called on the output port.

   51.4 (13.06.2005)
   - Fixed broken recognition routine (peeking into random port).

   51.3 (04.05.2005)
   - Removed debuglog output.

   51.2 (20.04.2005)
   - Added debug info in the destructor.

   50.1 (24.10.2004)
   - Initial revision.

DESCRIPTION

   The class is a Reggae demultiplexer for BMP streams (pictures). It
   recognizes and decodes basic BMP header, then sends image data to
   bmp.decoder.

PORTS

   - port 0 - input, MMF_STREAM.
   - port 1 - output, MMF_VIDEO_BMP.