xine-lib  1.2.10
video_out.h
Go to the documentation of this file.
1 /*
2  * video_out.h
3  * Copyright (C) 2000-2003 Michel Lespinasse <walken@zoy.org>
4  * Copyright (C) 1999-2000 Aaron Holtzman <aholtzma@ess.engr.uvic.ca>
5  *
6  * This file is part of mpeg2dec, a free MPEG-2 video stream decoder.
7  * See http://libmpeg2.sourceforge.net/ for updates.
8  *
9  * mpeg2dec is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published by
11  * the Free Software Foundation; either version 2 of the License, or
12  * (at your option) any later version.
13  *
14  * mpeg2dec is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this program; if not, write to the Free Software
21  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22  */
23 
24 struct mpeg2_sequence_s;
26 typedef struct {
27  int (* convert) (int stage, void * id,
28  const struct mpeg2_sequence_s * sequence,
29  int stride, uint32_t accel, void * arg,
30  struct mpeg2_convert_init_s * result);
32 
34 struct vo_instance_s {
35  int (* setup) (vo_instance_t * instance, unsigned int width,
36  unsigned int height, unsigned int chroma_width,
37  unsigned int chroma_height, vo_setup_result_t * result);
38  void (* setup_fbuf) (vo_instance_t * instance, uint8_t ** buf, void ** id);
39  void (* set_fbuf) (vo_instance_t * instance, uint8_t ** buf, void ** id);
40  void (* start_fbuf) (vo_instance_t * instance,
41  uint8_t * const * buf, void * id);
42  void (* draw) (vo_instance_t * instance, uint8_t * const * buf, void * id);
43  void (* discard) (vo_instance_t * instance,
44  uint8_t * const * buf, void * id);
45  void (* close) (vo_instance_t * instance);
46 };
47 
48 typedef vo_instance_t * vo_open_t (void);
49 
50 typedef struct {
51  char * name;
53 } vo_driver_t;
54 
55 void vo_accel (uint32_t accel);
56 
57 /* return NULL terminated array of all drivers */
58 vo_driver_t const * vo_drivers (void);
vo_instance_s::close
void(* close)(vo_instance_t *instance)
Definition: video_out.h:45
vo_setup_result_t
Definition: video_out.h:26
vo_instance_s::set_fbuf
void(* set_fbuf)(vo_instance_t *instance, uint8_t **buf, void **id)
Definition: video_out.h:39
vo_driver_t
struct vo_driver_s vo_driver_t
Definition: video_out.h:48
vo_instance_s::start_fbuf
void(* start_fbuf)(vo_instance_t *instance, uint8_t *const *buf, void *id)
Definition: video_out.h:40
mpeg2_convert_init_s
Definition: mpeg2.h:134
vo_instance_s
Definition: video_out.h:34
vo_instance_s::setup_fbuf
void(* setup_fbuf)(vo_instance_t *instance, uint8_t **buf, void **id)
Definition: video_out.h:38
vo_open_t
vo_instance_t * vo_open_t(void)
Definition: video_out.h:48
vo_accel
void vo_accel(uint32_t accel)
vo_driver_t
Definition: video_out.h:50
vo_drivers
const vo_driver_t * vo_drivers(void)
width
unsigned int width
Definition: gfontrle.c:4
height
unsigned int height
Definition: gfontrle.c:5
vo_instance_s::discard
void(* discard)(vo_instance_t *instance, uint8_t *const *buf, void *id)
Definition: video_out.h:43
vo_driver_t::name
char * name
Definition: video_out.h:51
vo_instance_s::setup
int(* setup)(vo_instance_t *instance, unsigned int width, unsigned int height, unsigned int chroma_width, unsigned int chroma_height, vo_setup_result_t *result)
Definition: video_out.h:35
vo_driver_t::open
vo_open_t * open
Definition: video_out.h:52
mpeg2_sequence_s
Definition: mpeg2.h:44
vo_instance_s::draw
void(* draw)(vo_instance_t *instance, uint8_t *const *buf, void *id)
Definition: video_out.h:42