FileMOV Class Reference

#include <filemov.h>

Inherits FileBase.

Collaboration diagram for FileMOV:

Collaboration graph
[legend]

Public Member Functions

 FileMOV (Asset *asset, File *file)
 ~FileMOV ()
int open_file (int rd, int wr)
int close_file ()
void asset_to_format ()
void format_to_asset ()
int64_t get_video_length ()
int64_t get_audio_length ()
int set_video_position (int64_t x)
int set_audio_position (int64_t x)
int write_samples (double **buffer, int64_t len)
int write_frames (VFrame ***frames, int len)
int64_t compressed_frame_size ()
int read_compressed_frame (VFrame *buffer)
int write_compressed_frame (VFrame *buffer)
int read_frame (VFrame *frame)
int read_samples (double *buffer, int64_t len)
int64_t get_memory_usage ()
int colormodel_supported (int colormodel)
int can_copy_from (Edit *edit, int64_t position)
int check_codec_params (Asset *asset)
void set_frame_start (int64_t offset)

Static Public Member Functions

static void get_parameters (BC_WindowBase *parent_window, Asset *asset, BC_WindowBase *&format_window, int audio_options, int video_options, char *locked_compressor)
static int check_sig (Asset *asset)
static int get_best_colormodel (Asset *asset, int driver)
static char * strtocompression (char *string)
static char * compressiontostr (char *string)
static void fix_codecs (Asset *asset)

Private Member Functions

void new_audio_temp (int64_t len)
int read_raw (char *buffer, int64_t samples, int track)
int read_raw (VFrame *frame, float in_x1, float in_y1, float in_x2, float in_y2, float out_x1, float out_y1, float out_x2, float out_y2, int use_float, int interpolate)
int reset_parameters_derived ()

Private Attributes

int quicktime_atracks
int quicktime_vtracks
quicktime_tfd
int depth
int64_t frames_correction
int64_t samples_correction
ArrayList< ThreadStruct * > threadframes
int total_threadframes
int current_threadframe
Mutexthreadframe_lock
FileMOVThread ** threads
char prefix_path [1024]
int suffix_number
float ** temp_float
int64_t temp_allocated

Friends

class FileMOVThread

Detailed Description

Definition at line 35 of file filemov.h.


Constructor & Destructor Documentation

FileMOV::FileMOV ( Asset asset,
File file 
)

Definition at line 87 of file filemov.C.

References Asset::byte_order, Asset::format, FileBase::reset_parameters(), suffix_number, and threadframe_lock.

Here is the call graph for this function:

FileMOV::~FileMOV (  ) 

Definition at line 98 of file filemov.C.

References close_file(), SET_TRACE, and threadframe_lock.

Here is the call graph for this function:


Member Function Documentation

void FileMOV::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 107 of file filemov.C.

References MOVConfigVideo::create_objects(), MOVConfigAudio::create_objects(), fix_codecs(), BC_WindowBase::run_window(), and window.

Referenced by File::get_options().

Here is the call graph for this function:

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

Definition at line 170 of file filemov.C.

References Asset::path, and quicktime_check_sig().

Referenced by File::open_file().

Here is the call graph for this function:

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

int FileMOV::close_file (  )  [virtual]

void FileMOV::asset_to_format (  ) 

void FileMOV::format_to_asset (  ) 

int64_t FileMOV::get_video_length (  ) 

int64_t FileMOV::get_audio_length (  ) 

Definition at line 607 of file filemov.C.

References fd, quicktime_audio_length(), and samples_correction.

Here is the call graph for this function:

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

Reimplemented from FileBase.

Definition at line 625 of file filemov.C.

References File::current_layer, fd, FileBase::file, and quicktime_set_video_position().

Referenced by format_to_asset().

Here is the call graph for this function:

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

Reimplemented from FileBase.

Definition at line 615 of file filemov.C.

References fd, and quicktime_set_audio_position().

Here is the call graph for this function:

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

Reimplemented from FileBase.

Definition at line 658 of file filemov.C.

References FileBase::asset, bytes, Asset::channels, fd, new_audio_temp(), quicktime_encode_audio(), quicktime_supported_audio(), Asset::sample_rate, and temp_float.

Here is the call graph for this function:

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

int64_t FileMOV::compressed_frame_size (  )  [virtual]

Reimplemented from FileBase.

Definition at line 1037 of file filemov.C.

References File::current_frame, File::current_layer, fd, FileBase::file, and quicktime_frame_size().

Here is the call graph for this function:

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

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

Reimplemented from FileBase.

Definition at line 1057 of file filemov.C.

References File::current_layer, fd, FileBase::file, VFrame::get_compressed_size(), VFrame::get_data(), and quicktime_write_frame().

Here is the call graph for this function:

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

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

Reimplemented from FileBase.

Definition at line 1107 of file filemov.C.

References File::current_channel, eprintf, fd, FileBase::file, new_audio_temp(), quicktime_decode_audio(), quicktime_supported_audio(), quicktime_track_channels(), and temp_float.

Here is the call graph for this function:

int FileMOV::get_best_colormodel ( Asset asset,
int  driver 
) [static]

int64_t FileMOV::get_memory_usage (  )  [virtual]

Reimplemented from FileBase.

Definition at line 446 of file filemov.C.

References fd, quicktime_memory_usage(), and FileBase::rd.

Here is the call graph for this function:

int FileMOV::colormodel_supported ( int  colormodel  )  [virtual]

Reimplemented from FileBase.

Definition at line 457 of file filemov.C.

int FileMOV::can_copy_from ( Edit edit,
int64_t  position 
) [virtual]

Reimplemented from FileBase.

Definition at line 563 of file filemov.C.

References FileBase::asset, Edit::asset, fd, Asset::format, FileBase::match4(), QUICKTIME_DV, QUICKTIME_DVCP, QUICKTIME_DVSD, QUICKTIME_JPEG, and Asset::vcodec.

Here is the call graph for this function:

char * FileMOV::strtocompression ( char *  string  )  [static]

char * FileMOV::compressiontostr ( char *  string  )  [static]

void FileMOV::fix_codecs ( Asset asset  )  [static]

int FileMOV::check_codec_params ( Asset asset  ) 

Definition at line 153 of file filemov.C.

References eprintf, Asset::height, QUICKTIME_DV, QUICKTIME_DVCP, QUICKTIME_DVSD, Asset::vcodec, and Asset::width.

Referenced by open_file().

void FileMOV::set_frame_start ( int64_t  offset  ) 

Definition at line 265 of file filemov.C.

References fd, and quicktime_set_frame_start().

Here is the call graph for this function:

void FileMOV::new_audio_temp ( int64_t  len  )  [private]

Definition at line 637 of file filemov.C.

References FileBase::asset, Asset::channels, temp_allocated, and temp_float.

Referenced by read_samples(), and write_samples().

int FileMOV::read_raw ( char *  buffer,
int64_t  samples,
int  track 
) [private]

int FileMOV::read_raw ( VFrame frame,
float  in_x1,
float  in_y1,
float  in_x2,
float  in_y2,
float  out_x1,
float  out_y1,
float  out_x2,
float  out_y2,
int  use_float,
int  interpolate 
) [private]

int FileMOV::reset_parameters_derived (  )  [private, virtual]


Friends And Related Function Documentation

friend class FileMOVThread [friend]

Definition at line 41 of file filemov.h.

Referenced by write_frames().


Field Documentation

Definition at line 95 of file filemov.h.

Referenced by asset_to_format(), and reset_parameters_derived().

Definition at line 96 of file filemov.h.

Referenced by asset_to_format(), and reset_parameters_derived().

int FileMOV::depth [private]

Definition at line 99 of file filemov.h.

Referenced by asset_to_format(), format_to_asset(), and reset_parameters_derived().

int64_t FileMOV::frames_correction [private]

Definition at line 100 of file filemov.h.

Referenced by reset_parameters_derived().

int64_t FileMOV::samples_correction [private]

Definition at line 101 of file filemov.h.

Referenced by get_audio_length(), and reset_parameters_derived().

Definition at line 104 of file filemov.h.

Referenced by close_file(), FileMOVThread::run(), and write_frames().

Definition at line 106 of file filemov.h.

Referenced by FileMOVThread::run(), and write_frames().

Definition at line 107 of file filemov.h.

Referenced by FileMOVThread::run(), and write_frames().

Definition at line 108 of file filemov.h.

Referenced by FileMOV(), FileMOVThread::run(), and ~FileMOV().

Definition at line 110 of file filemov.h.

Referenced by close_file(), reset_parameters_derived(), and write_frames().

char FileMOV::prefix_path[1024] [private]

Definition at line 111 of file filemov.h.

Referenced by open_file().

int FileMOV::suffix_number [private]

Definition at line 112 of file filemov.h.

Referenced by FileMOV(), and open_file().

float** FileMOV::temp_float [private]

int64_t FileMOV::temp_allocated [private]

Definition at line 116 of file filemov.h.

Referenced by new_audio_temp(), and reset_parameters_derived().


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

Generated on Mon Apr 28 14:25:19 2008 for Cinelerra by  doxygen 1.5.5