xine-lib  1.2.9
Data Structures | Macros | Typedefs | Functions | Variables
dxr3_decode_video.c File Reference
#include <sys/types.h>
#include <sys/ioctl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <pthread.h>
#include <fcntl.h>
#include <errno.h>
#include <xine/xine_internal.h>
#include <xine/buffer.h>
#include "video_out_dxr3.h"
#include "dxr3.h"
#include "compat.c"

Data Structures

struct  dxr3_decoder_class_s
 
struct  dxr3_decoder_s
 

Macros

#define LOG_MODULE   "dxr3_decode_video"
 
#define LOG_VID   0
 
#define LOG_PTS   0
 
#define PAN_SCAN_WINDOW_SIZE   50
 
#define RESYNC_WINDOW_SIZE   50
 
#define SKIP_TOLERANCE   200
 
#define FORCE_DURATION_WINDOW_SIZE   100
 

Typedefs

typedef struct dxr3_decoder_class_s dxr3_decoder_class_t
 
typedef struct dxr3_decoder_s dxr3_decoder_t
 

Functions

static void * dxr3_init_plugin (xine_t *xine, void *)
 
static video_decoder_tdxr3_open_plugin (video_decoder_class_t *class_gen, xine_stream_t *stream)
 
static void dxr3_decode_data (video_decoder_t *this_gen, buf_element_t *buf)
 
static void dxr3_reset (video_decoder_t *this_gen)
 
static void dxr3_discontinuity (video_decoder_t *this_gen)
 
static void dxr3_flush (video_decoder_t *this_gen)
 
static void dxr3_dispose (video_decoder_t *this_gen)
 
static int dxr3_mvcommand (int fd_control, int command)
 
static void parse_mpeg_header (dxr3_decoder_t *this, uint8_t *buffer)
 
static int get_duration (dxr3_decoder_t *this)
 
static void frame_format_change (dxr3_decoder_t *this)
 
static void dxr3_update_panscan (void *this_gen, xine_cfg_entry_t *entry)
 
static void dxr3_update_sync_mode (void *this_gen, xine_cfg_entry_t *entry)
 
static void dxr3_update_enhanced_mode (void *this_gen, xine_cfg_entry_t *entry)
 
static void dxr3_update_correct_durations (void *this_gen, xine_cfg_entry_t *entry)
 

Variables

static const uint32_t supported_types [] = { BUF_VIDEO_MPEG, 0 }
 
static const decoder_info_t dxr3_video_decoder_info
 
const plugin_info_t xine_plugin_info [] EXPORTED
 

Macro Definition Documentation

◆ FORCE_DURATION_WINDOW_SIZE

#define FORCE_DURATION_WINDOW_SIZE   100

Referenced by dxr3_open_plugin(), and get_duration().

◆ LOG_MODULE

#define LOG_MODULE   "dxr3_decode_video"

◆ LOG_PTS

#define LOG_PTS   0

Referenced by dxr3_decode_data().

◆ LOG_VID

#define LOG_VID   0

◆ PAN_SCAN_WINDOW_SIZE

#define PAN_SCAN_WINDOW_SIZE   50

Referenced by dxr3_decode_data().

◆ RESYNC_WINDOW_SIZE

#define RESYNC_WINDOW_SIZE   50

Referenced by dxr3_decode_data().

◆ SKIP_TOLERANCE

#define SKIP_TOLERANCE   200

Referenced by dxr3_decode_data().

Typedef Documentation

◆ dxr3_decoder_class_t

◆ dxr3_decoder_t

Function Documentation

◆ dxr3_decode_data()

static void dxr3_decode_data ( video_decoder_t this_gen,
buf_element_t buf 
)
static

◆ dxr3_discontinuity()

static void dxr3_discontinuity ( video_decoder_t this_gen)
static

Referenced by dxr3_open_plugin().

◆ dxr3_dispose()

static void dxr3_dispose ( video_decoder_t this_gen)
static

◆ dxr3_flush()

static void dxr3_flush ( video_decoder_t this_gen)
static

◆ dxr3_init_plugin()

static void * dxr3_init_plugin ( xine_t xine,
void *  data 
)
static

◆ dxr3_mvcommand()

static int dxr3_mvcommand ( int  fd_control,
int  command 
)
inlinestatic

◆ dxr3_open_plugin()

static video_decoder_t * dxr3_open_plugin ( video_decoder_class_t class_gen,
xine_stream_t stream 
)
static

◆ dxr3_reset()

static void dxr3_reset ( video_decoder_t this_gen)
static

Referenced by dxr3_open_plugin().

◆ dxr3_update_correct_durations()

static void dxr3_update_correct_durations ( void *  this_gen,
xine_cfg_entry_t entry 
)
static

References xine_cfg_entry_s::num_value.

Referenced by dxr3_open_plugin().

◆ dxr3_update_enhanced_mode()

static void dxr3_update_enhanced_mode ( void *  this_gen,
xine_cfg_entry_t entry 
)
static

References xine_cfg_entry_s::num_value.

Referenced by dxr3_open_plugin().

◆ dxr3_update_panscan()

static void dxr3_update_panscan ( void *  this_gen,
xine_cfg_entry_t entry 
)
static

References xine_cfg_entry_s::num_value.

Referenced by dxr3_open_plugin().

◆ dxr3_update_sync_mode()

static void dxr3_update_sync_mode ( void *  this_gen,
xine_cfg_entry_t entry 
)
static

References xine_cfg_entry_s::num_value.

Referenced by dxr3_open_plugin().

◆ frame_format_change()

static void frame_format_change ( dxr3_decoder_t this)
static

◆ get_duration()

static int get_duration ( dxr3_decoder_t this)
static

◆ parse_mpeg_header()

static void parse_mpeg_header ( dxr3_decoder_t this,
uint8_t *  buffer 
)
static

References frame_format_change(), height, and width.

Referenced by dxr3_decode_data().

Variable Documentation

◆ dxr3_video_decoder_info

const decoder_info_t dxr3_video_decoder_info
static
Initial value:
= {
10
}
static const uint32_t supported_types[]
Definition: dxr3_decode_video.c:75

◆ EXPORTED

const plugin_info_t xine_plugin_info [] EXPORTED
Initial value:
= {
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
}
#define XINE_VERSION_CODE
Definition: xine_internal.h:56
NULL
Definition: xine_plugin.c:91
static void * dxr3_init_plugin(xine_t *xine, void *)
Definition: dxr3_decode_video.c:177
#define PLUGIN_VIDEO_DECODER
Definition: xine_plugin.h:32
#define PLUGIN_NONE
Definition: xine_plugin.h:28
static const decoder_info_t dxr3_video_decoder_info
Definition: dxr3_decode_video.c:77

◆ supported_types

const uint32_t supported_types[] = { BUF_VIDEO_MPEG, 0 }
static