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 >
Wrap
C/C++ Source or Header
|
2000-11-29
|
1KB
|
60 lines
#ifndef FILEMPEG_H
#define FILEMPEG_H
#include "file.inc"
#include "filebase.h"
#include "libmpeg3.h"
class FileMPEG : public FileBase
{
public:
FileMPEG(Asset *asset, File *file);
~FileMPEG();
int open_file();
int close_file_derived();
int read_header();
long get_video_length();
long get_audio_length();
int get_position(double &percentage, double &seconds);
long get_video_position();
long get_audio_position();
int end_of_audio();
int end_of_video();
int set_position(double percentage);
int set_video_position(long x);
int set_audio_position(long x);
int set_video_stream(int stream);
int set_audio_stream(int stream);
int drop_frames(int frames);
int frame_back();
int set_cpus(int cpus);
int set_mmx(int use_mmx);
int yuv_copy_possible();
int frame_buffer_copy_possible(int color_model);
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);
int read_frame_buffer(unsigned char **frame_buffer, int w, int h, int bitmap_color_model);
int read_frame(unsigned char *frame);
int read_audio(char *buffer, long len);
int load_into_ram();
private:
int translate_color_model(int color_model);
int reset_parameters_derived();
// current positions for when the file descriptor doesn't have the right position
long audio_position;
long video_position;
int audio_stream;
int video_stream;
mpeg3_t *file;
};
#endif