00001 #ifndef VDEVICEX11_H
00002 #define VDEVICEX11_H
00003
00004 #include "canvas.inc"
00005 #include "edl.inc"
00006 #include "guicast.h"
00007 #include "thread.h"
00008 #include "vdevicebase.h"
00009
00010
00011 #define BITMAP_PRIMARY 0
00012
00013 #define BITMAP_TEMP 1
00014
00015 class VDeviceX11 : public VDeviceBase
00016 {
00017 public:
00018 VDeviceX11(VideoDevice *device, Canvas *output);
00019 ~VDeviceX11();
00020
00021 int open_input();
00022 int close_all();
00023 int read_buffer(VFrame *frame);
00024 int reset_parameters();
00025
00026 void new_output_buffer(VFrame **output_frames, int colormodel);
00027
00028 int open_output();
00029 int start_playback();
00030 int stop_playback();
00031 int output_visible();
00032
00033 int write_buffer(VFrame **outputs, EDL *edl);
00034
00035 private:
00036
00037 int get_best_colormodel(int colormodel);
00038
00039 int get_best_colormodel(Asset *asset);
00040
00041 BC_Bitmap *bitmap;
00042 VFrame *output_frame;
00043 int bitmap_type;
00044 int bitmap_w, bitmap_h;
00045 ArrayList<int> render_strategies;
00046
00047 Canvas *output;
00048 int color_model;
00049 int color_model_selected;
00050
00051
00052 int in_x, in_y, in_w, in_h, out_x, out_y, out_w, out_h;
00053
00054 BC_Capture *capture_bitmap;
00055 };
00056
00057 #endif