xine-lib: xine-lib-1.2.12/src/video_dec/foovideo.c File Reference

xine-lib 1.2.12

Data Structures | Macros | Typedefs | Functions | Variables
foovideo.c File Reference
`#include <stdio.h>`
`#include <stdlib.h>`
`#include <string.h>`
`#include <sys/types.h>`
`#include <unistd.h>`
`#include <xine/xine_internal.h>`
`#include <xine/video_out.h>`
`#include <xine/buffer.h>`
`#include <xine/xineutils.h>`
`#include "bswap.h"`

## Data Structures
struct | foovideo_class_t
struct | foovideo_decoder_s

## Macros
#define | VIDEOBUFSIZE 128*1024

## Typedefs
typedef struct foovideo_decoder_s | foovideo_decoder_t

## Functions
static void | foovideo_decode_data (video_decoder_t *this_gen, buf_element_t *buf)
static void | foovideo_flush (video_decoder_t *this_gen)
static void | foovideo_reset (video_decoder_t *this_gen)
static void | foovideo_discontinuity (video_decoder_t *this_gen)
static void | foovideo_dispose (video_decoder_t *this_gen)
static video_decoder_t * | open_plugin (video_decoder_class_t *class_gen, xine_stream_t *stream)
static void | dispose_class (video_decoder_class_t *this)
static void * | init_plugin (xine_t *xine, const void *data)

## Variables
static const uint32_t | video_types []
static const decoder_info_t | dec_info_video
const plugin_info_t xine_plugin_info[] | EXPORTED

## Macro Definition Documentation

## ◆ VIDEOBUFSIZE

#define VIDEOBUFSIZE 128*1024

## Typedef Documentation

## ◆ foovideo_decoder_t

typedef struct foovideo_decoder_s foovideo_decoder_t

## Function Documentation

## ◆ dispose_class()

static void dispose_class | ( | video_decoder_class_t * | this | ) |
| static

Referenced by init_plugin().

## ◆ foovideo_decode_data()

static void foovideo_decode_data | ( | video_decoder_t * | this_gen,
|  | buf_element_t * | buf
| ) |  |
| static

References _x_meta_info_set_utf8(), _x_stream_info_set(), vo_frame_s::bad_frame, vo_frame_s::base, xine_bmiheader::biHeight, xine_bmiheader::biWidth, BUF_FLAG_FRAME_END, BUF_FLAG_FRAMERATE, BUF_FLAG_PREVIEW, BUF_FLAG_STDHEADER, buf_element_s::content, buf_element_s::decoder_flags, buf_element_s::decoder_info, vo_frame_s::draw, vo_frame_s::duration, vo_frame_s::free, height, buf_element_s::pts, vo_frame_s::pts, buf_element_s::size, VIDEOBUFSIZE, VO_BOTH_FIELDS, width, xine_fast_memcpy, XINE_IMGFMT_YUY2, XINE_META_INFO_VIDEOCODEC, and XINE_STREAM_INFO_FRAME_DURATION.

Referenced by open_plugin().

## ◆ foovideo_discontinuity()

static void foovideo_discontinuity | ( | video_decoder_t * | this_gen | ) |
| static

Referenced by open_plugin().

## ◆ foovideo_dispose()

static void foovideo_dispose | ( | video_decoder_t * | this_gen | ) |
| static

Referenced by open_plugin().

## ◆ foovideo_flush()

static void foovideo_flush | ( | video_decoder_t * | this_gen | ) |
| static

Referenced by open_plugin().

## ◆ foovideo_reset()

static void foovideo_reset | ( | video_decoder_t * | this_gen | ) |
| static

Referenced by open_plugin().

## ◆ init_plugin()

static void * init_plugin | ( | xine_t * | xine,
|  | const void * | data
| ) |  |
| static

References foovideo_class_t::decoder_class, video_decoder_class_s::description, video_decoder_class_s::dispose, dispose_class(), video_decoder_class_s::identifier, N_, open_plugin(), and video_decoder_class_s::open_plugin.

## ◆ open_plugin()

static video_decoder_t * open_plugin | ( | video_decoder_class_t * | class_gen,
|  | xine_stream_t * | stream
| ) |  |
| static

References foovideo_decode_data(), foovideo_discontinuity(), foovideo_dispose(), foovideo_flush(), foovideo_reset(), and NULL.

Referenced by init_plugin().

## Variable Documentation

## ◆ dec_info_video

const decoder_info_t dec_info_video
| static

Initial value:
= {
.supported_types = video_types,
.priority = 5,
}
video_types
static const uint32_t video_types[]
Definition: foovideo.c:263

## ◆ EXPORTED

const plugin_info_t xine_plugin_info [] EXPORTED

Initial value:
= {
{ PLUGIN_VIDEO_DECODER, 19, "foovideo", XINE_VERSION_CODE, &dec_info_video, init_plugin },
{ PLUGIN_NONE, 0, NULL, 0, NULL, NULL }
}
dec_info_video
static const decoder_info_t dec_info_video
Definition: foovideo.c:276
init_plugin
static void * init_plugin(xine_t *xine, const void *data)
Definition: foovideo.c:243
XINE_VERSION_CODE
#define XINE_VERSION_CODE
Definition: xine_internal.h:57
NULL
NULL
Definition: xine_plugin.c:78
PLUGIN_NONE
#define PLUGIN_NONE
Definition: xine_plugin.h:29
PLUGIN_VIDEO_DECODER
#define PLUGIN_VIDEO_DECODER
Definition: xine_plugin.h:33

## ◆ video_types

const uint32_t video_types[]
| static

Initial value:
= {
BUF_VIDEO_VQA,
BUF_VIDEO_SORENSON_V3,
0
}
BUF_VIDEO_SORENSON_V3
#define BUF_VIDEO_SORENSON_V3
Definition: buffer.h:127
BUF_VIDEO_VQA
#define BUF_VIDEO_VQA
Definition: buffer.h:135