Skip to content

ref_struct_VDXFBitmap

shekh edited this page Apr 15, 2018 · 1 revision

VirtualDub Plugin SDK 1.2

VDXFBitmap structure

Structure used to describe a frame buffer used as sources or outputs during video filter operation.

Definition

class VDXFBitmap : public VDXBitmap {
public:
    enum {
        /// Set in paramProc if the filter requires a Win32 GDI display context
        /// for a bitmap.
        ///
        /// (Deprecated as of API V12 - do not use)
        /// (Blocked as of API V16)
        NEEDS_HDC   = 0x00000001L,
    };

    uint32    dwFlags;
    VDXHDC    hdc;

    uint32  mFrameRateHi;           // Frame rate numerator
    uint32  mFrameRateLo;           // Frame rate denominator
    sint64  mFrameCount;            // Frame count; -1 if unlimited or indeterminate

    VDXPixmapLayout *mpPixmapLayout;
    const VDXPixmap *mpPixmap;

    uint32  mAspectRatioHi;         ///< Pixel aspect ratio fraction (numerator). 0/0 = unknown
    uint32  mAspectRatioLo;         ///< Pixel aspect ratio fraction (denominator).

    sint64  mFrameNumber;           ///< Current frame number (zero based).
    sint64  mFrameTimestampStart;   ///< Starting timestamp of frame, in 100ns units.
    sint64  mFrameTimestampEnd;     ///< Ending timestamp of frame, in 100ns units.
    sint64  mCookie;                ///< Cookie supplied when frame was requested.

    uint32  mVDXAHandle;            ///< Acceleration handle to be used with VDXA routines.
    uint32  mBorderWidth;
    uint32  mBorderHeight;
};

Fields

dwFlags
A bitfield with the following flags:

NEEDS_HDC
(V1-V15 only) Set when a Win32 GDI display context handle is desired for the frame buffer. This allows GDI rendering, particularly text rendering, into the frame buffer. This request is only valid for 32-bit RGB (XRGB8888) format frame buffers. Use of this flag can slow down filter execution due to the need to copy frame data in and out of a GDI compatible bitmap layout and is prohibited entirely starting with the V16 API.

hdc
(V1-V15 only) A Win32 GDI display context handle, when the NEEDS_HDC flag has been specified.

mFrameRateHi
(V12+ only) The numerator of the stream frame rate, represented as a fraction.

mFrameRateLo
(V12+ only) The denominator of the stream frame rate, represented as a fraction.

mFrameCount
(V12+ only) The number of frames in the stream. For source streams, this may be -1 for a live stream. For output streams, this is normally the same as the source stream unless modified by the filter.

mpPixmapLayout
(V12+ only) The image layout of frames in this frame buffer. This field is negotiated in paramProc and is only valid if the depth field of VDXBitmap is set to 0; if so, it takes precedence over the layout fields in that structure. The pixmap and bitmap structures are merged and this field is valid in startProc and runProc.

mpPixmap
(V12+ only) Image descriptor for the currently bound frame. This field is only valid in runProc.

mAspectRatioHi
(V14+ only) The numerator of the pixel aspect ratio, represented as a fraction, where a fraction greater than 1 represents a pixel that is wider than it is tall. A fraction of 0/0 means indeterminate.

mAspectRatioLo
(V14+ only) The denominator of the pixel aspect ratio, represented as a fraction.

mFrameNumber
(V12+ only) The number of the currently bound frame, starting at zero.

mFrameTimestampStart
(V14+ only) The timestamp of the start of the current frame, in 100ns units, from the start of the stream.

mFrameTimestampEnd
(V14+ only) The timestamp of the end of the current frame, in 100ns units, from the start of the stream.

mCookie
(V14+ only) Contains the arbitrary value that was passed when this frame was requested by prefetchProc or prefetchProc2.

mVDXAHandle
(V15+ only) 3D video acceleration handle for this frame. This field is only valid when a filter is running in 3D acceleration mode.

mBorderWidth
(V15+ only) Number of surrounding border pixels requested or available horizontally in this frame buffer. This field is only valid when a filter is running in 3D acceleration mode.

mBorderHeight
(V15+ only) Number of surrounding border pixels requested or available vertically in this frame buffer. This field is only valid when a filter is running in 3D acceleration mode.


Copyright (C) 2007-2012 Avery Lee.

Clone this wiki locally