libmoldeo (Moldeo 1.0 Core)  1.0
libmoldeo es el conjunto de objetos y funciones, que permiten ejecutar las operaciones básicas de la plataforma Moldeo, y que compone su núcleo.
 Todo Clases Namespaces Archivos Funciones Variables 'typedefs' Enumeraciones Valores de enumeraciones Amigas 'defines' Grupos Páginas
moDecoderManager.h
Ir a la documentación de este archivo.
1 /*******************************************************************************
2 
3  moDecoderManager.h
4 
5  ****************************************************************************
6  * *
7  * This source is free software; you can redistribute it and/or modify *
8  * it under the terms of the GNU General Public License as published by *
9  * the Free Software Foundation; either version 2 of the License, or *
10  * (at your option) any later version. *
11  * *
12  * This code is distributed in the hope that it will be useful, but *
13  * WITHOUT ANY WARRANTY; without even the implied warranty of *
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
15  * General Public License for more details. *
16  * *
17  * A copy of the GNU General Public License is available on the World *
18  * Wide Web at <http://www.gnu.org/copyleft/gpl.html>. You can also *
19  * obtain it by writing to the Free Software Foundation, *
20  * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
21  * *
22  ****************************************************************************
23 
24  Copyright(C) 2006 Fabricio Costa
25 
26  Authors:
27  Fabricio Costa
28 
29 *******************************************************************************/
30 
31 #ifndef __MO_DECODERMANAGER_H__
32 #define __MO_DECODERMANAGER_H__
33 
34 #include <moTypes.h>
35 #include <moTempo.h>
36 #include <moText.h>
37 #include <moLock.h>
38 #include <moFBO.h>
39 #include <moTexture.h>
40 #include <moVideoGraph.h>
41 #include <moResourceManager.h>
42 
43 typedef void moDecoderDevice;
44 typedef void moVideoMixer;
45 typedef void moVideoDecoder;
46 
47 #ifdef MO_VDPAU
48  //#include "avformat.h"
49  //#include "avcodec.h"
50 
51  #include "moVdpauGraph.h"
52  #include "vdpau/vdpau.h"
53  #include "vdpau/vdpau_x11.h"
54  #include "GL/glx.h"
55 #endif
56 
58 
62 
63 };
64 
65 
67 
68 
70  virtual ~moDecoderPlaylist();
71 
72 
73 
74 };
75 
76 
85 {
86  public:
94  virtual ~moDecoderManager();
95 
99  virtual MOboolean Init();
103  virtual MOboolean Finish();
104 
105  moDecoderDevice* GetDecoderDevice();
106  moVideoDecoder* GetVideoDecoder();
107  moVideoMixer* GetVideoMixer();
108 
109  void SetDecoderType( moDecoderType type );
110  moDecoderType GetDecoderType();
111 
112 
113  MOboolean OpenVideo( moText filename );
114 
115  private:
116 
117  moGLManager* m_glmanager;
118  moDecoderType m_DecoderType;
119  moDecoderDevice* m_pDecoderDevice;
120  moVideoDecoder* m_pVideoDecoder;
121  moVideoMixer* m_pVideoMixer;
122 
123  moVideoGraph* m_pVideoGraph;
124 
125 #ifdef MO_VDPAU
126  //AVFormatContext *pFormatCtx;
127 
128  VdpDevice vdp_device;
129  VdpGetProcAddress *vdp_get_proc_address;
130  VdpDeviceDestroy *vdp_device_destroy;
131  VdpVideoSurfaceCreate *vdp_video_surface_create;
132  VdpVideoSurfaceDestroy *vdp_video_surface_destroy;
133  VdpDecoderCreate *vdp_decoder_create;
134  VdpDecoderDestroy *vdp_decoder_destroy;
135  VdpDecoderRender *vdp_decoder_render;
136  VdpOutputSurfaceCreate *vdp_output_surface_create;
137  VdpOutputSurfaceDestroy *vdp_output_surface_destroy;
138  VdpOutputSurfaceGetBitsNative *vdp_output_surface_get_bits_native;
139  VdpVideoSurfaceGetBitsYCbCr *vdp_video_surface_get_bits_y_cb_cr;
140  VdpVideoMixerCreate *vdp_video_mixer_create;
141  VdpVideoMixerDestroy *vdp_video_mixer_destroy;
142  VdpVideoMixerRender *vdp_video_mixer_render;
143  VdpPresentationQueueCreate *vdp_presentation_queue_create;
144  VdpPresentationQueueDestroy *vdp_presentation_queue_destroy;
145  VdpPresentationQueueGetTime *vdp_presentation_queue_get_time;
146  VdpPresentationQueueTargetCreateX11 *vdp_presentation_queue_target_create_x11;
147  VdpPresentationQueueQuerySurfaceStatus *vdp_presentation_queue_query_surface_status;
148  VdpPresentationQueueDisplay *vdp_presentation_queue_display;
149  VdpPresentationQueueBlockUntilSurfaceIdle *vdp_presentation_queue_block_until_surface_idle;
150  VdpGetErrorString *vdp_get_error_string;
151 
152  VdpDecoder vdp_decoder;
153  VdpVideoMixer vdp_mixer;
154  VdpPresentationQueue vdp_presentation_queue;
155  VdpPresentationQueueTarget vdp_presentation_queue_target;
156  int vdp_pix_fmt;
157  int vdp_width;
158  int vdp_height;
159 #endif
160 
161 };
162 
163 #include "moGLManager.h"
164 
165 #endif
166 
Recurso ( objeto para cargar y manipular objetos físicos de datos de imágenes, audio, video, 3d, 2d, fuentes, shaders y de cualquier otro tipo extendible por un plugin )
#define MOboolean
Definition: moTypes.h:385
void moDecoderDevice
moDecoderType
#define LIBMOLDEO_API
Definition: moTypes.h:180
virtual MOboolean Init()
clase de para manejar textos
Definition: moText.h:75
Grafo de reproducción de video.
Definition: moVideoGraph.h:584
void moVideoDecoder
manejador de operaciones comunes de Open GL
Definition: moGLManager.h:154
virtual MOboolean Finish()
void moVideoMixer