diff -r 000000000000 -r 951a5db380a0 videoeditorengine/h263decoder/inc/renapi.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videoeditorengine/h263decoder/inc/renapi.h Fri Jan 29 14:08:33 2010 +0200 @@ -0,0 +1,169 @@ +/* +* Copyright (c) 2010 Ixonos Plc. +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - Initial contribution +* +* Contributors: +* Ixonos Plc +* +* Description: +* A header file for external usage of the services provided by +* the Video Renderer engine. +* +*/ + + +#ifndef _RENAPI_H_ +#define _RENAPI_H_ + +/* + * Includes + */ + + + + +/* + * Defines + */ + +/* Return values */ +#define REN_ERROR_BAD_IMAGE_SIZE -4 +#define REN_ERROR_BAD_FORMAT -3 +#define REN_ERROR_HALTED -2 +#define REN_ERROR -1 +#define REN_OK 1 +#define REN_OK_PLAYING_COMPLETE 2 +#define REN_OK_RESOURCE_LEAK 3 + +/* Defines for the flags member of renExtDrawParam_t */ +#define REN_EXTDRAW_NEW_SOURCE 1 +#define REN_EXTDRAW_COPY_NOT_CODED 2 +#define REN_EXTDRAW_NO_STATUS_CALLBACK 32 + + + +/* + * Structs and typedefs + */ + + + + +/* {{-output"renbmihi.txt" -ignore"*" -noCR}} + renBitmapInfoHeader_t is used to store the header information of + (device-independent) bitmaps such as individual video frames. + {{-output"renbmihi.txt"}} */ + +/* {{-output"renbmiht.txt"}} */ + +typedef struct { + u_int32 biSize; + int32 biWidth; + int32 biHeight; + u_int32 biSizeImage; +} renBitmapInfoHeader_t; +/* {{-output"renbmiht.txt"}} */ + + + + +/* {{-output"renExtDrawParam_t_info.txt" -ignore"*" -noCR}} + renExtDrawParam_t is used in a renDrawItem_t structure to provide + additional information which cannot be included in a renDrawParam_t + structure. + {{-output"renExtDrawParam_t_info.txt"}} */ + +/* {{-output"renExtDrawParam_t.txt"}} */ +typedef struct { + u_int32 size; /* The size of this structure in bytes, + if 0, no macroblock information is used + and the whole frame is converted */ + + u_int32 flags; /* REN_EXTDRAW_NEW_SOURCE = use this frame as + a new source for macroblock copying + (for subsequent frames until a new source + frame appears), + REN_EXTDRAW_COPY_NOT_CODED = use copying of + not coded macroblocks from the source frame, + REN_EXTDRAW_SNAPSHOT = mark this frame as + a snapshot + REN_EXTDRAW_NO_STATUS_CALLBACK = no status callback + function is called after this frame has been + processed + */ + + u_int32 rate; /* Frames / second = rate / scale, */ + u_int32 scale; /* These values replace the current values and affect + the subsequent frames. */ + + /* The values in this section are valid only if + the REN_EXTDRAW_COPY_NOT_CODED flag is on. */ + int numOfMBs; /* The number of macroblocks (16 x 16 blocks) in the + frame. */ + int numOfCodedMBs; /* The number of coded macroblocks in the frame + (compared to the previous reference frame) */ + u_char *fCodedMBs; /* one-dimensional array of u_char + flags indicating if the corresponding macroblock + in the normal scan-order is coded (1) or not (0) */ + +} renExtDrawParam_t; +/* {{-output"renExtDrawParam_t.txt"}} */ + + +#define RENDRAWPARAM_NOSTATUSCALLBACK 0x00000001L + /* Do not call the status callback function after + the processing of this frame */ + +/* {{-output"renDrawParam_t_info.txt" -ignore"*" -noCR}} + renDrawParam_t contains parameters for drawing video data to the screen. + This structure is used with the renDraw function. + renDrawParam_t is compatible with the ICDRAW type introduced by + the Win32 Video Compression Manager. The lpData member of renBasicDrawParam_t + must point to an address where the upper-left corner pixel of the Y frame + to be shown lies. The Y frame data must be in scanning order. The U frame + data must follow the Y frame data in scanning order, and similarly + the V frame data must follow the U frame data. + {{-output"renDrawParam_t_info.txt"}} */ + +/* {{-output"renDrawParam_t.txt"}} */ +typedef struct { + u_int32 dwFlags; /* Flags */ + void *lpFormat; /* Pointer to a renBitmapInfoHeader_t structure */ + void *lpData; /* Address of the data to render */ + u_int32 cbData; /* Ignored */ + int32 lTime; /* The frame number telling the time when this frame + should be drawn */ +} renDrawParam_t; +/* {{-output"renDrawParam_t.txt"}} */ + + + +/* {{-output"renDrawItem_t_info.txt" -ignore"*" -noCR}} + renDrawItem_t contains parameters for drawing video image to the screen. + In addition, it holds the returning information for the image. + This structure is used with the renDraw function. + {{-output"renDrawItem_t_info.txt"}} */ + +/* {{-output"renDrawItem_t.txt"}} */ +typedef struct { + renDrawParam_t param; + /* Basic, ICDRAW compatible parameters */ + + renExtDrawParam_t extParam; + /* Extended parameters */ + +} renDrawItem_t; +/* {{-output"renDrawItem_t.txt"}} */ + + + + +#endif +// End of File