videoeditorengine/h263decoder/inc/h263dext.h
branchRCL_3
changeset 3 e0b5df5c0969
parent 0 951a5db380a0
child 7 4c409de21d23
--- a/videoeditorengine/h263decoder/inc/h263dext.h	Fri Jan 29 14:08:33 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,278 +0,0 @@
-/*
-* 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 Decoder Engine.
-*
-*/
-
-
-#ifndef _H263DEXT_H_
-#define _H263DEXT_H_
-
-
-/*
- * Includes
- */
-
-//#include "renapi.h"
-#include "epoclib.h"
-
-/*
- * Defines
- */
-
-/* _WIN32_EXPLICIT has to be defined before anything else. */
-
-/* Return codes */
-#define H263D_OK_BUT_NOT_CODED   4     /* not coded frame, 
-                                          copied to output as is, 
-                                          no decoded output generated */  
-#define H263D_OK_BUT_BIT_ERROR   3     /* Bit errors detected but frame decoded */
-#define H263D_OK_BUT_FRAME_USELESS \
-                                 2     /* function behaved normally, but no output
-                                          was produced due to too corrupted frame */
-#define H263D_OK_EOS             1     /* End-of-Stream has been reached */
-#define H263D_OK                 0     /* the function was successful */
-#define H263D_ERROR             -1     /* indicates a general error */
-#define H263D_ERROR_NO_INTRA    -2     /* No INTRA frame has been decoded, 
-                                          decoding cannot be started */
-#define H263D_ERROR_HALTED      -3     /* no further decoding possible */
-/* Note: In practice, there is no difference between H263D_ERROR and 
-   H263D_ERROR_HALTED. The caller should react to both error messages
-   in the same way. They both exist due to compatibility with older
-   versions of the decoder. */
-
-
-/* Frame type scope. See h263dFrameType_t (in this file) for descriptions. */
-#define H263D_FTYPE_ALL       0xffffffff
-#define H263D_FTYPE_NDEF      0xffffffff
-#define H263D_FTYPE_DEF       0
-#define H263D_FTYPE_SIZE      0x00000001
-#define H263D_FTYPE_SNAPSHOT  0x00000002
-
-
-/* Mode values used in h263dSetStartOrEndCallback to select if the function
-   scope is in the start of the frame (H263D_CB_START) 
-   or in the end the frame (H263D_CB_END),
-   or both (H263D_CB_START | H263D_CB_END). */
-#define H263D_CB_START     0x00000001
-#define H263D_CB_END       0x00000002
-
-
-/* H.263 Annex N submodes */
-#define H263D_BC_MUX_MODE_SEPARATE_CHANNEL   1  /* Separate Logical Channel 
-                                                   submode*/
-#define H263D_BC_MUX_MODE_VIDEO              2  /* VideoMux submode */
-
-
-/* Error resilience features, see h263dSetErrorResilience for details */
-#define H263D_ERD_FEATURE_STATUS 1
-#define H263D_ERD_FEATURE_CHECK_ALL 2
-#define H263D_ERD_FEATURE_DISCARD_CORRUPTED 3
-
-#define H263D_ERD_INTRA_DCT_DOMAIN 0
-#define H263D_ERD_INTRA_PIXEL_DOMAIN 1
-
-#define H263D_ERD_INTER_NO_MOTION_COMPENSATION 0
-#define H263D_ERD_INTER_MOTION_COMPENSATION 1
-
-
-/* Output types, see h263dSetOutputFile for more information */
-#define H263D_OUT_FILE_MODE_FRAME_BY_FRAME      1
-#define H263D_OUT_FILE_MODE_ONE_PER_COMPONENT   2
-#define H263D_OUT_FILE_MODE_ONE_FOR_ALL         3
-
-
-
-/* Temporal/computational scalability levels, 
-   see h263dSetTemporalScalabilityLevel for more details */
-#define H263D_LEVEL_ALL_FRAMES   0
-#define H263D_LEVEL_INTRA_FRAMES 1
-
-
-/* Calling convention for exported functions */
-#ifndef H263D_CC
-   #define H263D_CC   
-#endif
-
-
-/* Calling convention for callback functions declared in the decoder */
-#ifndef H263D_CALLBACK   
-   #define H263D_CALLBACK
-#endif
-
-
-/* Declaration specifier for exported functions */
-#ifndef H263D_DS
-   #define H263D_DS
-#endif
-
-
-/*
- * Structs and typedefs
- */
-
-/* size_t */
-   typedef unsigned int size_t;
-
-
-/* {{-output"h263dHInstance_t_info.txt" -ignore"*" -noCR}}
-   h263dHInstance_t is used as a unique identifier of a H.263 Video Decoder
-   instance.
-   The type can be casted to u_int32 or void pointer and then back to
-   h263dHInstance_t without any problems.
-   {{-output"h263dHInstance_t_info.txt"}} */
-
-/* {{-output"h263dHInstance_t.txt"}} */
-typedef void * h263dHInstance_t;
-/* {{-output"h263dHInstance_t.txt"}} */
-
-
-/* {{-output"h263dFrameType_t_info.txt" -ignore"*" -noCR}}
-   This structure is used to define a frame type scope for some setting
-   functions.
-   Currently, there are three scopes: the default scope (H263D_FTYPE_DEF),
-   the frame size scope (H263D_FTYPE_SIZE) and the snapshot scope 
-   (H263D_FTYPE_SNAPSHOT). If a setting is defined for a particular size, 
-   all frames having that size will be handled according to the setting, 
-   i.e. the frame size scope overrides the default scope. Later on, it may 
-   be possible to add more frame types scopes, like the enchancement layer 
-   number or the snapshot tag (Annex L.8. of the H.263 recommendation). 
-   Then, the scope order must also be defined. For example, if there are 
-   two settings, one for a particular size and one for a particular enhancement 
-   layer. If a frame fulfills both scopes, one has to know which scope has 
-   the priority, e.g. that the frame has to be handled according to the 
-   enchancement layer setting. There can also be a combination of scopes, 
-   e.g. some setting may be defined for a particular frame size and 
-   enhancement layer.
-   {{-output"h263dFrameType_t_info.txt"}} */
-
-/* {{-output"h263dFrameType_t.txt"}} */
-typedef struct {
-   u_int32 scope;       /* the scope of the frame type setting:
-                           H263D_FTYPE_ALL
-                              This setting overrides all previous settings,
-                              i.e. it is valid for all frame types.
-                           H263D_FTYPE_DEF
-                              is used to define a setting for frame types
-                              which do not have a specific setting of their
-                              own.
-                           H263D_FTYPE_SIZE
-                              is used to define a setting for a particular
-                              frame size.
-
-                           H263D_FTYPE_SNAPSHOT
-                              is used to define a setting for snapshot
-                              frames.
-
-                           For internal use only:
-                           H263D_FTYPE_NDEF
-                              is used in querying functions to solve the scope
-                              depending on the parameters which are used.
-                              All parameters must be set.
-                        */
-
-   int width;
-   int height;          /* width and height of the frame which is in the scope
-                           of the setting. These parameters are valid
-                           only if scope indicates H263D_FTYPE_SIZE. */
-   u_char fSnapshot;    /* snapshot flag, valid only if scope is 
-                           H263D_FTYPE_SNAPSHOT */
-} h263dFrameType_t;
-/* {{-output"h263dFrameType_t.txt"}} */
-
-
-/* Used in h263dOpen_t to pass a callback function to call when decoding
-   has to stopped. */
-typedef void (H263D_CALLBACK *h263dDecodingFinishedCallback_t) (void *);
-
-
-
-/* Prototype for callback function related to h263dSetStartOrEndCallback.
-   See the function description for more details. */
-typedef void (H263D_CALLBACK *h263dStartOrEndCallback_t) 
-   (u_int32, u_int32, void *);
-
-/* Prototype for callback function related to h263dSetStartOrEndSnapshotCallback.
-   See the function description for more details. */
-typedef void (H263D_CALLBACK *h263dStartOrEndSnapshotCallback_t) (u_int32, u_int32, void *);
-
-/* Prototype for callback function related to h263dSetReportPictureSizeCallback.
-   See the function description for more details. */
-typedef void (H263D_CALLBACK *h263dReportPictureSizeCallback_t) (void *, int, int);
-                              
-typedef struct {
-   int fExist;          /* 1 or 0 */
-   u_int8 data[255];    /* header data */
-   int length;          /* length of header data */
-} h263dMPEG4Header_t;
-
-/* {{-output"h263dOpen_t_info.txt" -ignore"*" -noCR}}
-   This structure is used with the h263dOpen function to give the necessary
-   data for opening a new H.263 Video Decoder Engine instance.
-   {{-output"h263dOpen_t_info.txt"}} */
-
-/* {{-output"h263dOpen_t.txt"}} */
-typedef struct {
-   int numPreallocatedFrames;    /* Number of preallocated frame memories */
-
-   int lumWidth;                 /* Size of preallocated frame memories */
-   int lumHeight;
-
-   int fRPS;                     /* 1 = Reference Picture Selection mode in use */
-
-   int numReferenceFrames;       /* number of reference frames in RPS mode */
-
-   h263dDecodingFinishedCallback_t decodingFinishedCallback;
-                                 /* callback function to call when no data has
-                                    been decoded for a while */
-
-   int decodingFinishedIdleTimeInMSec;
-                                 /* number of milliseconds to go by until
-                                    decodingFinishedCallback is called */
-
-   h263dMPEG4Header_t mpeg4Header;
-                                 /* MPEG-4 header received via H.245 */
-
-   size_t freeSpace;             /* Used internally */
-} h263dOpen_t;
-/* {{-output"h263dOpen_t.txt"}} */
-
-
-/*
- * Function prototypes
- */
-
-H263D_DS int H263D_CC h263dFree(
-   void);
-
-H263D_DS int H263D_CC h263dLoad(
-   void);
-
-H263D_DS int H263D_CC h263dSetStartOrEndCallback(
-   h263dHInstance_t hInstance,
-   u_int32 mode, 
-   h263dFrameType_t *frameType,
-   h263dStartOrEndCallback_t callback, 
-   u_int32 param);
-
-
-H263D_DS int H263D_CC h263dSetReportPictureSizeCallback(
-   h263dHInstance_t hInstance, 
-   h263dReportPictureSizeCallback_t callback);
-
-#endif
-// End of File