home *** CD-ROM | disk | FTP | other *** search
/ Geek 6 / Geek-006.iso / linux / video / xmovie-1.5.3.tar.gz / xmovie-1.5.3.tar / xmovie-1.5.3 / xmovie / filempeg.h < prev    next >
C/C++ Source or Header  |  2000-11-29  |  1KB  |  60 lines

  1. #ifndef FILEMPEG_H
  2. #define FILEMPEG_H
  3.  
  4. #include "file.inc"
  5. #include "filebase.h"
  6. #include "libmpeg3.h"
  7.  
  8. class FileMPEG : public FileBase
  9. {
  10. public:
  11.     FileMPEG(Asset *asset, File *file);
  12.     ~FileMPEG();
  13.  
  14.     int open_file();
  15.     int close_file_derived();
  16.     int read_header();
  17.     long get_video_length();
  18.     long get_audio_length();
  19.     int get_position(double &percentage, double &seconds);
  20.     long get_video_position();
  21.     long get_audio_position();
  22.     int end_of_audio();
  23.     int end_of_video();
  24.     int set_position(double percentage);
  25.     int set_video_position(long x);
  26.     int set_audio_position(long x);
  27.     int set_video_stream(int stream);
  28.     int set_audio_stream(int stream);
  29.     int drop_frames(int frames);
  30.     int frame_back();
  31.     int set_cpus(int cpus);
  32.     int set_mmx(int use_mmx);
  33.  
  34.     int yuv_copy_possible();
  35.     int frame_buffer_copy_possible(int color_model);
  36.  
  37.     int read_yuv_buffer(char *y_output, char *u_output, char *v_output, int in_x, int in_y, int in_w, int in_h);
  38.     int read_frame_buffer(unsigned char **frame_buffer, int w, int h, int bitmap_color_model);
  39.     int read_frame(unsigned char *frame);
  40.  
  41.     int read_audio(char *buffer, long len);
  42.     int load_into_ram();
  43.  
  44. private:
  45.     int translate_color_model(int color_model);
  46.     int reset_parameters_derived();
  47. // current positions for when the file descriptor doesn't have the right position
  48.     long audio_position;
  49.     long video_position;
  50.     int audio_stream;
  51.     int video_stream;
  52.     mpeg3_t *file;
  53. };
  54.  
  55.  
  56.  
  57.  
  58.  
  59. #endif
  60.