hvirtual/quicktime/quicktime.c File Reference

#include "colormodels.h"
#include "funcprotos.h"
#include "interlacemodes.h"
#include "quicktime.h"
#include <string.h>
#include <sys/stat.h>
#include "workarounds.h"

Include dependency graph for quicktime.c:

Go to the source code of this file.

Functions

int quicktime_make_streamable (char *in_path, char *out_path)
void quicktime_set_copyright (quicktime_t *file, char *string)
void quicktime_set_name (quicktime_t *file, char *string)
void quicktime_set_info (quicktime_t *file, char *string)
char * quicktime_get_copyright (quicktime_t *file)
char * quicktime_get_name (quicktime_t *file)
char * quicktime_get_info (quicktime_t *file)
int quicktime_video_tracks (quicktime_t *file)
int quicktime_audio_tracks (quicktime_t *file)
int quicktime_set_audio (quicktime_t *file, int channels, long sample_rate, int bits, char *compressor)
int quicktime_set_video (quicktime_t *file, int tracks, int frame_w, int frame_h, double frame_rate, char *compressor)
void quicktime_set_framerate (quicktime_t *file, double framerate)
quicktime_trak_tquicktime_add_track (quicktime_t *file)
int quicktime_init (quicktime_t *file)
int quicktime_delete (quicktime_t *file)
int quicktime_set_cpus (quicktime_t *file, int cpus)
void quicktime_set_preload (quicktime_t *file, int64_t preload)
int quicktime_get_timescale (double frame_rate)
int quicktime_seek_end (quicktime_t *file)
int quicktime_seek_start (quicktime_t *file)
long quicktime_audio_length (quicktime_t *file, int track)
long quicktime_video_length (quicktime_t *file, int track)
long quicktime_audio_position (quicktime_t *file, int track)
long quicktime_video_position (quicktime_t *file, int track)
int quicktime_update_positions (quicktime_t *file)
int quicktime_set_audio_position (quicktime_t *file, int64_t sample, int track)
int quicktime_set_video_position (quicktime_t *file, int64_t frame, int track)
int quicktime_has_audio (quicktime_t *file)
long quicktime_sample_rate (quicktime_t *file, int track)
int quicktime_audio_bits (quicktime_t *file, int track)
char * quicktime_audio_compressor (quicktime_t *file, int track)
int quicktime_track_channels (quicktime_t *file, int track)
int quicktime_channel_location (quicktime_t *file, int *quicktime_track, int *quicktime_channel, int channel)
int quicktime_has_video (quicktime_t *file)
int quicktime_video_width (quicktime_t *file, int track)
int quicktime_video_height (quicktime_t *file, int track)
int quicktime_video_depth (quicktime_t *file, int track)
int quicktime_video_interlacemode (quicktime_t *file, int track)
void quicktime_set_cmodel (quicktime_t *file, int colormodel)
void quicktime_set_row_span (quicktime_t *file, int row_span)
void quicktime_set_window (quicktime_t *file, int in_x, int in_y, int in_w, int in_h, int out_w, int out_h)
void quicktime_set_depth (quicktime_t *file, int depth, int track)
double quicktime_frame_rate (quicktime_t *file, int track)
int quicktime_frame_rate_n (quicktime_t *file, int track)
int quicktime_frame_rate_d (quicktime_t *file, int track)
char * quicktime_video_compressor (quicktime_t *file, int track)
int quicktime_write_audio (quicktime_t *file, char *audio_buffer, long samples, int track)
int quicktime_write_frame (quicktime_t *file, unsigned char *video_buffer, int64_t bytes, int track)
long quicktime_read_audio (quicktime_t *file, char *audio_buffer, long samples, int track)
int quicktime_read_chunk (quicktime_t *file, char *output, int track, int64_t chunk, int64_t byte_start, int64_t byte_len)
long quicktime_frame_size (quicktime_t *file, long frame, int track)
long quicktime_read_frame (quicktime_t *file, unsigned char *video_buffer, int track)
int64_t quicktime_get_keyframe_before (quicktime_t *file, int64_t frame, int track)
int64_t quicktime_get_keyframe_after (quicktime_t *file, int64_t frame, int track)
void quicktime_insert_keyframe (quicktime_t *file, int64_t frame, int track)
int quicktime_has_keyframes (quicktime_t *file, int track)
int quicktime_read_frame_init (quicktime_t *file, int track)
int quicktime_read_frame_end (quicktime_t *file, int track)
int quicktime_init_video_map (quicktime_video_map_t *vtrack, quicktime_trak_t *trak)
int quicktime_delete_video_map (quicktime_video_map_t *vtrack)
int64_t quicktime_memory_usage (quicktime_t *file)
int quicktime_init_audio_map (quicktime_audio_map_t *atrack, quicktime_trak_t *trak)
int quicktime_delete_audio_map (quicktime_audio_map_t *atrack)
void quicktime_init_maps (quicktime_t *file)
int quicktime_read_info (quicktime_t *file)
int quicktime_dump (quicktime_t *file)
int quicktime_check_sig (char *path)
void quicktime_set_avi (quicktime_t *file, int value)
int quicktime_is_avi (quicktime_t *file)
void quicktime_set_asf (quicktime_t *file, int value)
void quicktime_set_frame_start (quicktime_t *file, int64_t value)
quicktime_tquicktime_open (char *filename, int rd, int wr)
int quicktime_close (quicktime_t *file)
int quicktime_major ()
int quicktime_minor ()
int quicktime_release ()


Function Documentation

quicktime_trak_t* quicktime_add_track ( quicktime_t file  ) 

int quicktime_audio_bits ( quicktime_t file,
int  track 
)

char* quicktime_audio_compressor ( quicktime_t file,
int  track 
)

long quicktime_audio_length ( quicktime_t file,
int  track 
)

Definition at line 402 of file quicktime.c.

References quicktime_t::atracks, quicktime_track_samples(), quicktime_t::total_atracks, and quicktime_audio_map_t::track.

Referenced by file_info(), FileMOV::format_to_asset(), and FileMOV::get_audio_length().

Here is the call graph for this function:

long quicktime_audio_position ( quicktime_t file,
int  track 
)

Definition at line 418 of file quicktime.c.

References quicktime_t::atracks, and quicktime_audio_map_t::current_position.

int quicktime_audio_tracks ( quicktime_t file  ) 

int quicktime_channel_location ( quicktime_t file,
int *  quicktime_track,
int *  quicktime_channel,
int  channel 
)

int quicktime_check_sig ( char *  path  ) 

int quicktime_close ( quicktime_t file  ) 

int quicktime_delete ( quicktime_t file  ) 

int quicktime_delete_audio_map ( quicktime_audio_map_t atrack  ) 

Definition at line 1016 of file quicktime.c.

References quicktime_clear_vbr(), quicktime_delete_acodec(), and quicktime_audio_map_t::vbr.

Referenced by quicktime_delete().

Here is the call graph for this function:

int quicktime_delete_video_map ( quicktime_video_map_t vtrack  ) 

Definition at line 984 of file quicktime.c.

References quicktime_video_map_t::frame_cache, quicktime_delete_cache(), and quicktime_delete_vcodec().

Referenced by quicktime_delete().

Here is the call graph for this function:

int quicktime_dump ( quicktime_t file  ) 

Definition at line 1185 of file quicktime.c.

References quicktime_mdat_t::atom, quicktime_t::mdat, quicktime_t::moov, quicktime_moov_dump(), quicktime_atom_t::size, and quicktime_atom_t::start.

Referenced by main().

Here is the call graph for this function:

double quicktime_frame_rate ( quicktime_t file,
int  track 
)

int quicktime_frame_rate_d ( quicktime_t file,
int  track 
)

int quicktime_frame_rate_n ( quicktime_t file,
int  track 
)

long quicktime_frame_size ( quicktime_t file,
long  frame,
int  track 
)

char* quicktime_get_copyright ( quicktime_t file  ) 

char* quicktime_get_info ( quicktime_t file  ) 

Definition at line 164 of file quicktime.c.

References quicktime_udta_t::info, quicktime_t::moov, and quicktime_moov_t::udta.

int64_t quicktime_get_keyframe_after ( quicktime_t file,
int64_t  frame,
int  track 
)

int64_t quicktime_get_keyframe_before ( quicktime_t file,
int64_t  frame,
int  track 
)

char* quicktime_get_name ( quicktime_t file  ) 

Definition at line 159 of file quicktime.c.

References quicktime_t::moov, quicktime_udta_t::name, and quicktime_moov_t::udta.

int quicktime_get_timescale ( double  frame_rate  ) 

int quicktime_has_audio ( quicktime_t file  ) 

Definition at line 509 of file quicktime.c.

References quicktime_audio_tracks().

Referenced by FileMOV::format_to_asset().

Here is the call graph for this function:

int quicktime_has_keyframes ( quicktime_t file,
int  track 
)

int quicktime_has_video ( quicktime_t file  ) 

Definition at line 567 of file quicktime.c.

References quicktime_video_tracks().

Referenced by FileMOV::format_to_asset().

Here is the call graph for this function:

int quicktime_init ( quicktime_t file  ) 

int quicktime_init_audio_map ( quicktime_audio_map_t atrack,
quicktime_trak_t trak 
)

void quicktime_init_maps ( quicktime_t file  ) 

int quicktime_init_video_map ( quicktime_video_map_t vtrack,
quicktime_trak_t trak 
)

void quicktime_insert_keyframe ( quicktime_t file,
int64_t  frame,
int  track 
)

int quicktime_is_avi ( quicktime_t file  ) 

Definition at line 1254 of file quicktime.c.

References quicktime_t::use_avi.

Referenced by FileMOV::format_to_asset().

int quicktime_major ( void   ) 

Definition at line 1369 of file quicktime.c.

References QUICKTIME_MAJOR.

Referenced by AboutPrefs::create_objects().

int quicktime_make_streamable ( char *  in_path,
char *  out_path 
)

int64_t quicktime_memory_usage ( quicktime_t file  ) 

Definition at line 993 of file quicktime.c.

References quicktime_video_map_t::frame_cache, quicktime_cache_usage(), quicktime_t::total_vtracks, and quicktime_t::vtracks.

Referenced by FileMOV::get_memory_usage().

Here is the call graph for this function:

int quicktime_minor ( void   ) 

Definition at line 1374 of file quicktime.c.

References QUICKTIME_MINOR.

Referenced by AboutPrefs::create_objects().

quicktime_t* quicktime_open ( char *  filename,
int  rd,
int  wr 
)

long quicktime_read_audio ( quicktime_t file,
char *  audio_buffer,
long  samples,
int  track 
)

int quicktime_read_chunk ( quicktime_t file,
char *  output,
int  track,
int64_t  chunk,
int64_t  byte_start,
int64_t  byte_len 
)

Definition at line 797 of file quicktime.c.

References quicktime_t::atracks, quicktime_chunk_to_offset(), quicktime_read_data(), quicktime_set_position(), and quicktime_audio_map_t::track.

Referenced by ima4_decode_chunk(), and wmx2_decode_chunk().

Here is the call graph for this function:

long quicktime_read_frame ( quicktime_t file,
unsigned char *  video_buffer,
int  track 
)

int quicktime_read_frame_end ( quicktime_t file,
int  track 
)

Definition at line 967 of file quicktime.c.

References quicktime_video_map_t::current_position, quicktime_t::file_position, quicktime_ftell(), and quicktime_t::vtracks.

Here is the call graph for this function:

int quicktime_read_frame_init ( quicktime_t file,
int  track 
)

int quicktime_read_info ( quicktime_t file  ) 

int quicktime_release ( void   ) 

Definition at line 1379 of file quicktime.c.

References QUICKTIME_RELEASE.

Referenced by AboutPrefs::create_objects().

long quicktime_sample_rate ( quicktime_t file,
int  track 
)

int quicktime_seek_end ( quicktime_t file  ) 

int quicktime_seek_start ( quicktime_t file  ) 

Definition at line 395 of file quicktime.c.

References quicktime_mdat_t::atom, HEADER_LENGTH, quicktime_t::mdat, quicktime_set_position(), quicktime_update_positions(), and quicktime_atom_t::start.

Here is the call graph for this function:

void quicktime_set_asf ( quicktime_t file,
int  value 
)

Definition at line 1260 of file quicktime.c.

References quicktime_t::use_asf.

int quicktime_set_audio ( quicktime_t file,
int  channels,
long  sample_rate,
int  bits,
char *  compressor 
)

int quicktime_set_audio_position ( quicktime_t file,
int64_t  sample,
int  track 
)

void quicktime_set_avi ( quicktime_t file,
int  value 
)

Definition at line 1245 of file quicktime.c.

References quicktime_init_riff(), quicktime_set_position(), and quicktime_t::use_avi.

Referenced by FileMOV::asset_to_format().

Here is the call graph for this function:

void quicktime_set_cmodel ( quicktime_t file,
int  colormodel 
)

void quicktime_set_copyright ( quicktime_t file,
char *  string 
)

Definition at line 139 of file quicktime.c.

References quicktime_udta_t::copyright, quicktime_udta_t::copyright_len, quicktime_t::moov, quicktime_set_udta_string(), and quicktime_moov_t::udta.

Referenced by FileMOV::asset_to_format().

Here is the call graph for this function:

int quicktime_set_cpus ( quicktime_t file,
int  cpus 
)

Definition at line 355 of file quicktime.c.

References quicktime_t::cpus.

Referenced by FileMOV::open_file().

void quicktime_set_depth ( quicktime_t file,
int  depth,
int  track 
)

void quicktime_set_frame_start ( quicktime_t file,
int64_t  value 
)

Definition at line 1265 of file quicktime.c.

References quicktime_t::current_frame.

Referenced by FileMOV::open_file(), and FileMOV::set_frame_start().

void quicktime_set_framerate ( quicktime_t file,
double  framerate 
)

void quicktime_set_info ( quicktime_t file,
char *  string 
)

Definition at line 149 of file quicktime.c.

References quicktime_udta_t::info, quicktime_udta_t::info_len, quicktime_t::moov, quicktime_set_udta_string(), and quicktime_moov_t::udta.

Referenced by FileMOV::asset_to_format().

Here is the call graph for this function:

void quicktime_set_name ( quicktime_t file,
char *  string 
)

Definition at line 144 of file quicktime.c.

References quicktime_t::moov, quicktime_udta_t::name, quicktime_udta_t::name_len, quicktime_set_udta_string(), and quicktime_moov_t::udta.

Here is the call graph for this function:

void quicktime_set_preload ( quicktime_t file,
int64_t  preload 
)

void quicktime_set_row_span ( quicktime_t file,
int  row_span 
)

Definition at line 620 of file quicktime.c.

References quicktime_t::row_span.

Referenced by read_quicktime().

int quicktime_set_video ( quicktime_t file,
int  tracks,
int  frame_w,
int  frame_h,
double  frame_rate,
char *  compressor 
)

int quicktime_set_video_position ( quicktime_t file,
int64_t  frame,
int  track 
)

void quicktime_set_window ( quicktime_t file,
int  in_x,
int  in_y,
int  in_w,
int  in_h,
int  out_w,
int  out_h 
)

int quicktime_track_channels ( quicktime_t file,
int  track 
)

int quicktime_update_positions ( quicktime_t file  ) 

char* quicktime_video_compressor ( quicktime_t file,
int  track 
)

int quicktime_video_depth ( quicktime_t file,
int  track 
)

int quicktime_video_height ( quicktime_t file,
int  track 
)

int quicktime_video_interlacemode ( quicktime_t file,
int  track 
)

long quicktime_video_length ( quicktime_t file,
int  track 
)

Definition at line 410 of file quicktime.c.

References quicktime_track_samples(), quicktime_t::total_vtracks, quicktime_video_map_t::track, and quicktime_t::vtracks.

Referenced by file_info(), FileMOV::format_to_asset(), main(), and readcmdline().

Here is the call graph for this function:

long quicktime_video_position ( quicktime_t file,
int  track 
)

Definition at line 423 of file quicktime.c.

References quicktime_video_map_t::current_position, and quicktime_t::vtracks.

int quicktime_video_tracks ( quicktime_t file  ) 

int quicktime_video_width ( quicktime_t file,
int  track 
)

int quicktime_write_audio ( quicktime_t file,
char *  audio_buffer,
long  samples,
int  track 
)

int quicktime_write_frame ( quicktime_t file,
unsigned char *  video_buffer,
int64_t  bytes,
int  track 
)


Generated on Mon Apr 28 14:08:04 2008 for Cinelerra by  doxygen 1.5.5