Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

fileyuv.h

Go to the documentation of this file.
00001 #ifndef FILEYUV_H
00002 #define FILEYUV_H
00003 
00004 #include "yuvstream.h"
00005 #include "file.inc"
00006 #include "filelist.h"
00007 #include "vframe.inc"
00008 #include "formattools.h"
00009 #include "ffmpeg.h"
00010 
00011 class FileYUV : public FileBase
00012 {
00013  public:
00014         FileYUV(Asset *asset, File *file);
00015         ~FileYUV();
00016 
00017         static void get_parameters(BC_WindowBase *parent_window, 
00018                                    Asset *asset, 
00019                                    BC_WindowBase* &format_window,
00020                                    int video_options,
00021                                    FormatTools *format);
00022 
00023         int open_file(int rd, int wr);
00024         static int check_sig(Asset *asset);
00025         static int get_best_colormodel(Asset *asset, int driver);
00026         int colormodel_supported(int colormodel);
00027         int read_frame(VFrame *frame);
00028         int write_frames(VFrame ***frame, int len);
00029         int can_copy_from(Edit *edit, int64_t position);
00030         int close_file();
00031         int set_video_position(int64_t x);
00032 
00033         // below here are local routines not required by interface
00034         void ensure_temp(int width, int height);
00035 
00036  private:
00037         VFrame *temp;
00038         YUVStream *stream;
00039         Asset *incoming_asset;
00040         FFMPEG *ffmpeg;
00041         int pipe_latency;
00042 };
00043 
00044 
00045 class YUVConfigVideo : public BC_Window
00046 {
00047  public:
00048         YUVConfigVideo(BC_WindowBase *parent_window, Asset *asset,
00049                        FormatTools *format);
00050         ~YUVConfigVideo();
00051 
00052         int create_objects();
00053         int close_event();
00054 
00055         BC_WindowBase *parent_window;
00056         Asset *asset;
00057         FormatTools *format;
00058         Defaults *defaults;
00059         BC_TextBox *path_textbox;
00060         BC_RecentList *path_recent;
00061         PipeConfig *pipe_config;
00062         PipePreset *mpeg2enc;
00063         PipePreset *ffmpeg;
00064 };
00065 
00066 
00067 #endif

Generated on Sun Jan 8 13:38:55 2006 for Cinelerra-svn by  doxygen 1.4.4