quicktime.h File Reference

#include <inttypes.h>
#include <stddef.h>

Go to the source code of this file.


 Non compatible divx.
#define QUICKTIME_DIV3   "DIV3"
 Divx for AVI files.
#define QUICKTIME_DV   "dvc "
#define QUICKTIME_DV_AVID   "AVdv"
#define QUICKTIME_DV_AVID_A   "dvcp"
#define QUICKTIME_RAW   "raw "
 Uncompressed RGB.
#define QUICKTIME_JPEG   "jpeg"
#define QUICKTIME_PNG   "png "
#define QUICKTIME_MJPA   "mjpa"
 Motion JPEG-A.
#define QUICKTIME_YUV2   "yuv2"
 8 bit Packed full-range (not video) YUV 4:2:2
#define QUICKTIME_YUV4   "yuv4"
 YUV 4:2:0.
#define QUICKTIME_YUV420   "yv12"
 8 bit planar YUV 4:2:0
#define QUICKTIME_2VUY   "2vuy"
 8 bit Packed YUV (video range) 4:2:2
#define QUICKTIME_YUVS   "yuvs"
 8 bit Packed YUV (video range) 4:2:2
#define QUICKTIME_V308   "v308"
 8 bit Packed YUV 4:4:4
#define QUICKTIME_V408   "v408"
 8 bit Packed YUVA 4:4:4:4
#define QUICKTIME_V210   "v210"
 10 bit Packed YUV 4:2:2
#define QUICKTIME_V410   "v410"
 10 bit Packed YUV 4:4:4
#define QUICKTIME_RAWAUDIO   "raw "
 Unsigned 8 bit.
#define QUICKTIME_IMA4   "ima4"
#define QUICKTIME_TWOS   "twos"
 Twos compliment 16 bit.
#define QUICKTIME_ULAW   "ulaw"
 mu-law 2:1
 Ogg Vorbis.
#define QUICKTIME_MP3   ".mp3"


typedef struct lqt_codec_info_s lqt_codec_info_t
typedef void(* lqt_log_callback_t )(lqt_log_level_t level, const char *domain, const char *message, void *data)
 Log callback.
typedef struct quicktime_s quicktime_t
 Quicktime handle.


enum  lqt_log_level_t {
  LQT_LOG_ERROR = (1<<0),
  LQT_LOG_WARNING = (1<<1),
  LQT_LOG_INFO = (1<<2),
  LQT_LOG_DEBUG = (1<<3)

Log level.

enum  lqt_file_type_t {
  LQT_FILE_QT_OLD = (1<<0),
  LQT_FILE_QT = (1<<1),
  LQT_FILE_AVI = (1<<2),
  LQT_FILE_AVI_ODML = (1<<3),
  LQT_FILE_MP4 = (1<<4),
  LQT_FILE_M4A = (1<<5),
  LQT_FILE_3GP = (1<<6)

File types.

enum  lqt_channel_t {

Channel definitions.

enum  lqt_interlace_mode_t {

interlace modes

enum  lqt_chroma_placement_t {

Chroma placement.

enum  lqt_sample_format_t {

Sample format definitions for audio.



int quicktime_major ()
 Get the quicktime4linux major version.
int quicktime_minor ()
 Get the quicktime4linux minor version.
int quicktime_release ()
 Get the quicktime4linux release number.
int quicktime_check_sig (char *path)
 Test file compatibility.
quicktime_tquicktime_open (const char *filename, int rd, int wr)
 Open a file.
int quicktime_make_streamable (char *in_path, char *out_path)
 Make a file streamable.
void quicktime_set_copyright (quicktime_t *file, char *string)
 Set the copyright info for the file.
void quicktime_set_name (quicktime_t *file, char *string)
 Set the name for the file.
void quicktime_set_info (quicktime_t *file, char *string)
 Set info for the file.
char * quicktime_get_copyright (quicktime_t *file)
 Get the copyright info from the file.
char * quicktime_get_name (quicktime_t *file)
 Get the name from the file.
char * quicktime_get_info (quicktime_t *file)
 Get the info string from the file.
int quicktime_set_audio (quicktime_t *file, int channels, long sample_rate, int bits, char *compressor)
 Set up tracks in a new file after opening and before writing.
void quicktime_set_framerate (quicktime_t *file, double framerate)
 Set the framerate for encoding.
int quicktime_set_video (quicktime_t *file, int tracks, int frame_w, int frame_h, double frame_rate, char *compressor)
 Set up video tracks for encoding.
void quicktime_set_jpeg (quicktime_t *file, int quality, int use_float)
 Set jpeg encoding quality.
void quicktime_set_parameter (quicktime_t *file, char *key, void *value)
 Set a codec parameter.
void quicktime_set_depth (quicktime_t *file, int depth, int track)
 Set the depth of a video track.
void quicktime_set_cmodel (quicktime_t *file, int colormodel)
 Set the colormodel for en-/decoding.
void quicktime_set_row_span (quicktime_t *file, int row_span)
 Set the row_span for en-/decoding.
int quicktime_close (quicktime_t *file)
 Close a quicktime handle and free all associated memory.
long quicktime_audio_length (quicktime_t *file, int track)
 Get the audio length.
long quicktime_video_length (quicktime_t *file, int track)
 Get the video length.
long quicktime_audio_position (quicktime_t *file, int track)
 Get the audio position.
long quicktime_video_position (quicktime_t *file, int track)
 Get the video position.
int quicktime_video_tracks (quicktime_t *file)
 Get the number of video tracks.
int quicktime_audio_tracks (quicktime_t *file)
 Get the number of audio tracks.
int quicktime_has_audio (quicktime_t *file)
 Check if a file has at least one audio track.
long quicktime_sample_rate (quicktime_t *file, int track)
 Get the samplerate of an audio track.
int quicktime_audio_bits (quicktime_t *file, int track)
 Get the bits per sample of an audio track.
int quicktime_track_channels (quicktime_t *file, int track)
 Get the number of channels of an audio track.
char * quicktime_audio_compressor (quicktime_t *file, int track)
 Get the four character code of an audio track.
int quicktime_has_video (quicktime_t *file)
 Check if a file has at least one video track.
int quicktime_video_width (quicktime_t *file, int track)
 Get the width of a video track.
int quicktime_video_height (quicktime_t *file, int track)
 Get the height of a video track.
int quicktime_video_depth (quicktime_t *file, int track)
 Get the depth of a video track.
double quicktime_frame_rate (quicktime_t *file, int track)
 Get the framerate of a video track.
char * quicktime_video_compressor (quicktime_t *file, int track)
 Get the four character code of a video track.
long quicktime_frame_size (quicktime_t *file, long frame, int track)
 Get the compressed size of frame in a video track.
int quicktime_channel_location (quicktime_t *file, int *quicktime_track, int *quicktime_channel, int channel)
int quicktime_seek_start (quicktime_t *file)
 Reposition all tracks to the very beginning.
int quicktime_set_audio_position (quicktime_t *file, int64_t sample, int track)
 Seek to a specific audio position.
int quicktime_set_video_position (quicktime_t *file, int64_t frame, int track)
 Seek to a specific video frame.
int quicktime_write_audio (quicktime_t *file, uint8_t *audio_buffer, long samples, int track)
int quicktime_write_frame (quicktime_t *file, uint8_t *video_buffer, int64_t bytes, int track)
 Write a compressed video frame.
long quicktime_read_frame (quicktime_t *file, unsigned char *video_buffer, int track)
 Read a compressed video frame.
int quicktime_read_frame_init (quicktime_t *file, int track)
int quicktime_read_frame_end (quicktime_t *file, int track)
long quicktime_get_keyframe_before (quicktime_t *file, long frame, int track)
void quicktime_insert_keyframe (quicktime_t *file, long frame, int track)
int quicktime_has_keyframes (quicktime_t *file, int track)
int quicktime_supported_video (quicktime_t *file, int track)
 Check if a video track is supported by libquicktime.
int quicktime_supported_audio (quicktime_t *file, int track)
 Check if an audio track is supported by libquicktime.
int quicktime_reads_cmodel (quicktime_t *file, int colormodel, int track)
 Check if a colormodel is supported for decoding.
int quicktime_writes_cmodel (quicktime_t *file, int colormodel, int track)
 Check if a colormodel is supported for encoding.
int quicktime_divx_is_key (unsigned char *data, long size)
int quicktime_divx_write_vol (unsigned char *data_start, int vol_width, int vol_height, int time_increment_resolution, double frame_rate)
int quicktime_divx_has_vol (unsigned char *data)
int quicktime_div3_is_key (unsigned char *data, long size)
int quicktime_encode_video (quicktime_t *file, unsigned char **row_pointers, int track)
 Encode a video frame.
int quicktime_decode_video (quicktime_t *file, unsigned char **row_pointers, int track)
 Decode a video frame in BC_RGB888.
long quicktime_decode_scaled (quicktime_t *file, int in_x, int in_y, int in_w, int in_h, int out_w, int out_h, int color_model, unsigned char **row_pointers, int track)
 Decode aand optionally scale a video frame.
int quicktime_decode_audio (quicktime_t *file, int16_t *output_i, float *output_f, long samples, int channel)
 Decode a number of audio samples of a single channel.
int quicktime_encode_audio (quicktime_t *file, int16_t **input_i, float **input_f, long samples)
 Encode a number of audio samples for the first track.
int quicktime_dump (quicktime_t *file)
 Dump the file structures to stdout.
int quicktime_set_cpus (quicktime_t *file, int cpus)
 Set the number of CPUs.
void quicktime_set_preload (quicktime_t *file, int64_t preload)
int64_t quicktime_byte_position (quicktime_t *file)
void quicktime_set_avi (quicktime_t *file, int value)
 Write an AVI file instead of quicktime.

Detailed Description

Public api header for the quicktime4linux compatibility layer.

Enumeration Type Documentation

File types.

These are bitmasks since codecs need lists of supported file formats


Undefined or not yet set


Old libquicktime format (without ftyp)


New libquicktime format (ftyp = "qt ")




Opendml AVI (> 2G)


.mp4 (ftyp = "mp42")





Function Documentation

int quicktime_seek_start ( quicktime_t file  ) 

Reposition all tracks to the very beginning.

file A quicktime handle
Always 0

Works (of course) only for decoding

Generated on Thu Mar 8 22:27:04 2012 for libquicktime by  doxygen 1.6.3