MMA_Video_BitsPerPixel

MMA_Video_BitsPerPixel (V51) [ISGPQ], ULONG

DESCRIPTION

   Number of bitplanes. The default value is 0. It is then overridden in
   MMM_Setup method by value returned in the previous object (only if
   MMM_Setup is called when connecting the object input to something). Then
   it can be overridden by application

MMA_Video_Height

MMA_Video_Height (V51) [ISGPQ], ULONG

DESCRIPTION

   Number of pixel rows in every bitplane. The default value is 0, it is
   overridden in MMM_Setup method by value returned in the previous object
   (only if MMM_Setup is called when connecting the object input to
   something). Then it can be overridden by application

MMA_Video_Palette

MMA_Video_Palette (V51) [IS.P.], ULONG*

DESCRIPTION

   This is the palette used to "resolve" color numbers after gathering plane
   bits into color numbers of pixels. It is assumed the palette has at least
   as many entries as number two raised to the power of
   MMA_Video_BitsPerPixel. Every entry is ARGB 32-bit color. Note that alpha
   value is used, so it is possible to apply palette based alpha channel to
   image data. The default palette is a linear grayscale one from white
   (background) to black (with no alpha). It may be overridden in MMM_Setup,
   where the previous object (a demuxer usually) is asked for a palette
   stored in the image data. Then it can be overridden by an application.
   Setting this attribute to NULL restores the default grayscale palette

NOTES

   The palette passed is not copied, the palette must stay in memory until
   the object is disposed, or the attribute is set to another value.


MMA_Video_UseAlpha

MMA_Video_UseAlpha (V51) [ISGPQ], BOOL

DESCRIPTION

   Controls usage of alpha channel data provided by demuxer. The default
   value for this attribute is FALSE. Then, when the object input is
   connected to a previous object, this previous object (a demuxer usually)
   is asked for alpha channel data presence. An application can override the
   attribute value later

MMA_Video_Width

MMA_Video_Width (V51) [ISGPQ], ULONG

DESCRIPTION

   Number of pixels in one row of a bitplane. Note that bitplane row is
   always padded to the nearest byte boundary. The default value is 0. It is
   then overridden in MMM_Setup method by value returned in the previous
   object (only if MMM_Setup is called when connecting the object input to
   something). Then it can be overridden by application

MMM_Pull

Converts bitplane data to a common format. (V50)

SYNOPSIS

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

DESCRIPTION

   The method pulls bitplane data from input and converts them to ARGB32
   pixels. ARGB32 values are placed in the passed buffer. Note that for more
   than one bitplane, all bitplanes, except the last one, must be buffered,
   so for large images this call may need huge amounts of memory. Buffering
   bitplanes consumes less memory than buffering ARGB32 output however.
   One-bitplane images are not buffered and very large images can be
   processed with small amount of memory

INPUTS

   obj - object to perform method on.
   port - number of port, data must be pulled from output, so 1.
   buffer - destination buffer for common format image data. This buffer
     must be allocated with MediaAllocMem().
   length - amount of data to be pulled in bytes. It should be evenly
     divisible by number of bytes per pixel for the common format (4 for
     MMFC_VIDEO_ARGB32), if not, it is rounded down, and the rest of
     bytes are undefined

RESULT

   Number of bytes pulled, secondary error information via MMA_ErrorCode

SEE ALSO

background

DESCRIPTION

   The class is designed to convert bitplane (planar) formatted graphics
   into the common ARGB32 format. The current version handles only one
   bitplane (two colours) data. The class has two main purposes. The first
   one is to decode bitplane data found in some formats like PBM or IFF
   ILBM. In this case image width, height, number of bitplanes and palette
   are read from a demuxer object. The second purpose is to directly process
   raw bitplane data (delivered via stream object), in the case image width,
   height, number of bitplanes and palette are set by application.

NEW ATTRIBUTES

   Attributes applicability:
     I - may be set at creation time.
     S - may be set on an existing object.
     G - may be get from an object.
     P - may be set for an object's port.
     Q - may be queried from an object's port.

   MMA_Video_BitsPerPixel   (V51) [ISGPQ], ULONG
   MMA_Video_Height         (V51) [ISGPQ], ULONG
   MMA_Video_Palette        (V51) [IS.P.], ULONG*
   MMA_Video_Width          (V51) [ISGPQ], ULONG
   MMA_Video_UseAlpha       (V51) [ISGPQ], BOOL

NEW METHODS

   MMM_Pull(port, buffer, length)  (V50)