FileAVI Class Reference

#include <fileavi.h>

Inherits FileBase.

Collaboration diagram for FileAVI:

Collaboration graph
[legend]

Public Member Functions

 FileAVI (Asset *asset, File *file)
 ~FileAVI ()
int get_best_colormodel (int driver, int colormodel)
int open_file (int rd, int wr)
int close_file ()
void reset ()
int set_audio_position (int64_t x)
int set_video_position (int64_t x)
int write_samples (double **buffer, int64_t len)
int write_frames (VFrame ***frames, int len)
int write_compressed_frame (VFrame *buffer)
int read_compressed_frame (VFrame *buffer)
int64_t compressed_frame_size ()
int read_samples (double *buffer, int64_t len)
int read_frame (VFrame *frame)

Static Public Member Functions

static int check_sig (Asset *asset)
static void get_parameters (BC_WindowBase *parent_window, Asset *asset, BC_WindowBase *&format_window, int audio_options, int video_options, char *locked_compressor)
static char * vcodec_to_fourcc (char *input, char *output)
static char * fourcc_to_vcodec (char *input, char *output)
static char * acodec_to_fourcc (char *input, char *output)
static char * fourcc_to_acodec (char *input, char *output)
static int cmodel_bc_to_avi (int input)
static void initialize_avifile ()

Private Member Functions

int open_avifile_in (Asset *asset)
int open_arne2_in (Asset *asset)
int open_arne1_in (Asset *asset)
int open_lavtools_in (Asset *asset)
int open_avifile_out (Asset *asset)
int open_arne2_out (Asset *asset)
int open_arne1_out (Asset *asset)
int open_lavtools_out (Asset *asset)

Static Private Member Functions

static int check_sig_arne2 (Asset *asset, int &score)
static int check_sig_arne1 (Asset *asset, int &score)
static int check_sig_lavtools (Asset *asset, int &score)
static int check_sig_avifile (Asset *asset, int &score)

Private Attributes

unsigned char * temp_audio
int64_t temp_allocated
int source_cmodel

Detailed Description

Definition at line 20 of file fileavi.h.


Constructor & Destructor Documentation

FileAVI::FileAVI ( Asset asset,
File file 
)

Definition at line 53 of file fileavi.C.

References reset().

Here is the call graph for this function:

FileAVI::~FileAVI (  ) 

Definition at line 59 of file fileavi.C.

References close_file().

Here is the call graph for this function:


Member Function Documentation

int FileAVI::check_sig ( Asset asset  )  [static]

Definition at line 64 of file fileavi.C.

References check_sig_arne1(), check_sig_arne2(), check_sig_avifile(), and check_sig_lavtools().

Referenced by open_file().

Here is the call graph for this function:

void FileAVI::get_parameters ( BC_WindowBase parent_window,
Asset asset,
BC_WindowBase *&  format_window,
int  audio_options,
int  video_options,
char *  locked_compressor 
) [static]

Definition at line 569 of file fileavi.C.

References AVIConfigVideo::create_objects(), AVIConfigAudio::create_objects(), BC_WindowBase::run_window(), and window.

Referenced by File::get_options().

Here is the call graph for this function:

int FileAVI::get_best_colormodel ( int  driver,
int  colormodel 
)

Definition at line 555 of file fileavi.C.

References BC_RGB888.

Referenced by open_avifile_out().

int FileAVI::open_file ( int  rd,
int  wr 
) [virtual]

Reimplemented from FileBase.

Definition at line 283 of file fileavi.C.

References FileBase::asset, check_sig(), Asset::format, open_arne1_in(), open_arne1_out(), open_arne2_in(), open_arne2_out(), open_avifile_in(), open_avifile_out(), open_lavtools_in(), and open_lavtools_out().

Here is the call graph for this function:

int FileAVI::close_file (  )  [virtual]

Reimplemented from FileBase.

Definition at line 516 of file fileavi.C.

References reset(), and temp_audio.

Referenced by open_avifile_in(), open_avifile_out(), and ~FileAVI().

Here is the call graph for this function:

void FileAVI::reset (  ) 

Definition at line 544 of file fileavi.C.

References temp_allocated, and temp_audio.

Referenced by close_file(), and FileAVI().

int FileAVI::set_audio_position ( int64_t  x  )  [virtual]

Reimplemented from FileBase.

Definition at line 598 of file fileavi.C.

References File::current_layer, and FileBase::file.

int FileAVI::set_video_position ( int64_t  x  )  [virtual]

Reimplemented from FileBase.

Definition at line 609 of file fileavi.C.

References File::current_layer, and FileBase::file.

int FileAVI::write_samples ( double **  buffer,
int64_t  len 
) [virtual]

Reimplemented from FileBase.

Definition at line 714 of file fileavi.C.

int FileAVI::write_frames ( VFrame ***  frames,
int  len 
) [virtual]

Reimplemented from FileBase.

Definition at line 708 of file fileavi.C.

int FileAVI::write_compressed_frame ( VFrame buffer  )  [virtual]

Reimplemented from FileBase.

Definition at line 701 of file fileavi.C.

int FileAVI::read_compressed_frame ( VFrame buffer  )  [virtual]

Reimplemented from FileBase.

Definition at line 694 of file fileavi.C.

int64_t FileAVI::compressed_frame_size (  )  [virtual]

Reimplemented from FileBase.

Definition at line 688 of file fileavi.C.

int FileAVI::read_samples ( double *  buffer,
int64_t  len 
) [virtual]

Reimplemented from FileBase.

Definition at line 619 of file fileavi.C.

References FileBase::asset, Asset::bits, bits, Asset::channels, File::current_channel, FileBase::file, temp_allocated, and temp_audio.

int FileAVI::read_frame ( VFrame frame  )  [virtual]

Reimplemented from FileBase.

Definition at line 664 of file fileavi.C.

References FileBase::asset, BC_RGB888, VFrame::calculate_data_size(), File::current_layer, FileBase::file, VFrame::get_color_model(), VFrame::get_data(), Asset::height, source_cmodel, and Asset::width.

Here is the call graph for this function:

char * FileAVI::vcodec_to_fourcc ( char *  input,
char *  output 
) [static]

Definition at line 156 of file fileavi.C.

References initialize_avifile(), and memcpy.

Referenced by AVIVCodecList::handle_event().

Here is the call graph for this function:

char * FileAVI::fourcc_to_vcodec ( char *  input,
char *  output 
) [static]

Definition at line 182 of file fileavi.C.

References initialize_avifile(), memcmp, and memcpy.

Here is the call graph for this function:

char * FileAVI::acodec_to_fourcc ( char *  input,
char *  output 
) [static]

Definition at line 210 of file fileavi.C.

References initialize_avifile(), and memcpy.

Referenced by AVIACodecList::handle_event().

Here is the call graph for this function:

char * FileAVI::fourcc_to_acodec ( char *  input,
char *  output 
) [static]

Definition at line 237 of file fileavi.C.

References initialize_avifile(), memcmp, and memcpy.

Here is the call graph for this function:

int FileAVI::cmodel_bc_to_avi ( int  input  )  [static]

Definition at line 527 of file fileavi.C.

References BC_YUV420P, and BC_YUV422.

Referenced by open_avifile_out().

void FileAVI::initialize_avifile (  )  [static]

int FileAVI::check_sig_arne2 ( Asset asset,
int &  score 
) [static, private]

Definition at line 113 of file fileavi.C.

Referenced by check_sig().

int FileAVI::check_sig_arne1 ( Asset asset,
int &  score 
) [static, private]

Definition at line 118 of file fileavi.C.

Referenced by check_sig().

int FileAVI::check_sig_lavtools ( Asset asset,
int &  score 
) [static, private]

Definition at line 123 of file fileavi.C.

Referenced by check_sig().

int FileAVI::check_sig_avifile ( Asset asset,
int &  score 
) [static, private]

Definition at line 128 of file fileavi.C.

References error(), and Asset::path.

Referenced by check_sig().

Here is the call graph for this function:

int FileAVI::open_avifile_in ( Asset asset  )  [private]

int FileAVI::open_arne2_in ( Asset asset  )  [private]

Definition at line 484 of file fileavi.C.

Referenced by open_file().

int FileAVI::open_arne1_in ( Asset asset  )  [private]

Definition at line 489 of file fileavi.C.

Referenced by open_file().

int FileAVI::open_lavtools_in ( Asset asset  )  [private]

Definition at line 494 of file fileavi.C.

Referenced by open_file().

int FileAVI::open_avifile_out ( Asset asset  )  [private]

int FileAVI::open_arne2_out ( Asset asset  )  [private]

Definition at line 391 of file fileavi.C.

Referenced by open_file().

int FileAVI::open_arne1_out ( Asset asset  )  [private]

Definition at line 397 of file fileavi.C.

Referenced by open_file().

int FileAVI::open_lavtools_out ( Asset asset  )  [private]

Definition at line 402 of file fileavi.C.

Referenced by open_file().


Field Documentation

unsigned char* FileAVI::temp_audio [private]

Definition at line 93 of file fileavi.h.

Referenced by close_file(), read_samples(), and reset().

int64_t FileAVI::temp_allocated [private]

Definition at line 94 of file fileavi.h.

Referenced by read_samples(), and reset().

int FileAVI::source_cmodel [private]

Definition at line 95 of file fileavi.h.

Referenced by open_avifile_in(), and read_frame().


The documentation for this class was generated from the following files:

Generated on Mon Apr 28 14:24:51 2008 for Cinelerra by  doxygen 1.5.5