--- 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