Main Page   Modules   Compound List   File List   Compound Members   File Members  

xlv_codec.h File Reference

#include "xlv_plugin_mgr.h"
#include "xlv_audio.h"
#include "xlv_video.h"
#include "xlv_session.h"

Go to the source code of this file.

Compounds

struct  _XLV_CodecFrame
 Frame descriptor. More...

struct  _XLV_CodecQuality
struct  _XLV_CodecQueryRealtime
struct  _XLV_CodecRTBuffer
struct  _XLV_CodecSpec
 Main structure for XLV Codec API: Format specification. More...


Defines

#define XLV_CODEC_QUERY_ENCODING   0xffffffff
#define XLV_CODEC_ZERO_ENCODING   0
#define XLV_CODEC_RGB8_ENCODING   xlv_fourcc('R','G','3','2')
#define XLV_CODEC_RGB32_ENCODING   xlv_fourcc('R','G','3','2')
#define XLV_CODEC_RGB24_ENCODING   xlv_fourcc('R','G','2','4')
#define XLV_CODEC_RGB16_565_ENCODING   xlv_fourcc('R','G','6','5')
#define XLV_CODEC_RGB15_555_ENCODING   xlv_fourcc('R','G','5','5')
#define XLV_CODEC_BGR32_ENCODING   xlv_fourcc('B','G','3','2')
#define XLV_CODEC_BGR24_ENCODING   xlv_fourcc('B','G','2','4')
#define XLV_CODEC_BGR16_565_ENCODING   xlv_fourcc('B','G','6','5')
#define XLV_CODEC_BGR15_555_ENCODING   xlv_fourcc('B','G','5','5')
#define XLV_CODEC_YV12_ENCODING   xlv_fourcc('Y','V','1','2')
#define XLV_CODEC_YUY2_ENCODING   xlv_fourcc('Y','U','Y','2')
#define XLV_CODEC_IYUV_ENCODING   xlv_fourcc('I','Y','U','V')
#define XLV_CODEC_YVYU_ENCODING   xlv_fourcc('Y','V','Y','U')
#define XLV_CODEC_UYVY_ENCODING   xlv_fourcc('U','V','Y','V')
#define XLV_CODEC_I420_ENCODING   xlv_fourcc('I','4','2','0')
#define XLV_CODEC_CMAP4_ENCODING   xlv_fourcc('C','M','P','4')
#define XLV_CODEC_CMAP8_ENCODING   xlv_fourcc('C','M','P','4')
#define XLV_CODEC_COMPRESSED_ENCODING   xlv_fourcc('C','O','M','P')
#define XLV_CODEC_PCM_MASK   0x000fUL
#define XLV_CODEC_PCM_LITTLE_ENDIAN   0x0001UL
#define XLV_CODEC_PCM_BIG_ENDIAN   0x0002UL
#define XLV_CODEC_PCM_SIGNED   0x0004UL
#define XLV_CODEC_PCM_UNSIGNED   0x0008UL
#define XLV_CODEC_SET_SPEC   301
#define XLV_CODEC_DROP_FRAME   302
#define XLV_CODEC_GET_INPUT   303
#define XLV_CODEC_SET_INPUT   304
#define XLV_CODEC_GET_OUTPUT   305
 Retrieve the format of the output data of the codec. More...

#define XLV_CODEC_SET_DATA   306
 Specify the format of the input data of a codec. More...

#define XLV_DECODER_GET_FRAME   307
 Get a decoded frame from the decoder. More...

#define XLV_DECODER_PUSH_FRAME   308
#define XLV_CODER_GET_FRAME   309
#define XLV_CODER_PUSH_FRAME   310
#define XLV_CODEC_CHECK_WATERMARK   311
#define XLV_CODEC_SET_MODE   312
#define XLV_CODEC_ENCODE   0
#define XLV_CODEC_DECODE   1
#define XLV_CODEC_GET_OUTSIZE   313
#define XLV_CODEC_GET_INSIZE   314
#define XLV_CODEC_LOW_WATERMARK   0
#define XLV_CODEC_HIGH_WATERMARK   1
#define XLV_CODEC_AUDIO   0
#define XLV_CODEC_VIDEO   1
#define XLV_CODEC_Y_FLIPPED   0x0001
#define XLV_CODEC_NEED_DELTA   0x0002
#define XLV_CODEC_RT_BASE_CMD   350
#define XLV_CODEC_RT_ENABLE   (XLV_CODEC_RT_BASE_CMD+1)
#define XLV_CODEC_RT_QUERY_POOL   (XLV_CODEC_RT_BASE_CMD+2)

Typedefs

typedef XLV_Stream XLV_ICodec
 XLV_ICodec object. This is an alias for XLV_Stream.

typedef _XLV_CodecSpec XLV_CodecSpec
 Main structure for XLV Codec API: Format specification. More...

typedef _XLV_CodecFrame XLV_CodecFrame
 Frame descriptor. More...

typedef _XLV_CodecQuality XLV_CodecQuality
typedef _XLV_CodecRTBuffer XLV_CodecRTBuffer
typedef _XLV_CodecQueryRealtime XLV_CodecQueryRealtime

Functions

XLV_ICodecxlv_decoder_open (XLV_Session *session, const guint8 *name, guint32 raw_format)
 open a new decoding stream of type "name". More...

XLV_ICodecxlv_coder_open (XLV_Session *session, const guint8 *name, XLV_CodecSpec *input_format)
 open a new coding stream of type "name". More...

XLV_ICodecxlv_decoder_build_adaptor (XLV_Session *session, XLV_ICodec *codec, guint32 raw_format)
XLV_ICodecxlv_coder_build_adaptor (XLV_Session *session, XLV_ICodec *codec, XLV_CodecSpec *input_format, XLV_CodecSpec *req_format)
guint32 xlv_codec_support (XLV_ICodec *codec)
 Returns the preferred output format of the codec in the current mode. More...

void xlv_codec_release (XLV_ICodec *codec)
 Closes and releases the "codec" object.

guint32 xlv_codec_get_outsize (XLV_ICodec *codec)
 Returns the size of the output buffer of the codec.

gboolean xlv_codec_set_spec (XLV_ICodec *codec, XLV_CodecSpec *spec)
gboolean xlv_codec_need_data (XLV_ICodec *codec)
gboolean xlv_codec_drop_frame (XLV_ICodec *codec)
gboolean xlv_codec_get_output (XLV_ICodec *codec, XLV_CodecSpec *output)
gboolean xlv_codec_get_input (XLV_ICodec *codec, XLV_CodecSpec *input)
gboolean xlv_codec_get_new_output (XLV_ICodec *codec, XLV_CodecSpec *output)
gboolean xlv_decoder_get_frame (XLV_ICodec *codec, XLV_CodecFrame *frame)
gboolean xlv_coder_put_frame (XLV_ICodec *codec, XLV_CodecFrame *frame)
gint xlv_decoder_push_data (XLV_ICodec *codec, gpointer data, guint32 len)
gint xlv_coder_get_data (XLV_ICodec *codec, gpointer data, guint32 *len)
void xlv_codec_set_parameters (XLV_ICodec *codec, gpointer data)
XLV_CodecSpecxlv_codecspec_dup (XLV_CodecSpec *spec)
 Duplicate a XLV_CodecSpec structure.

XLV_CodecSpecxlv_codecspec_new ()
 Build an empty XLV_CodecSpec structure.

void xlv_codecspec_release (XLV_CodecSpec *spec)
 Free a XLV_CodecSpec structure.


Detailed Description

Author:
Guilhem Lavaux

Generated on Mon Jul 1 19:39:07 2002 for XLV by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002