lqt.h File Reference

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

Go to the source code of this file.

Defines

#define LQT_TIMECODE_DROP   0x0001
 Indicates whether the timecode is drop frame.
#define LQT_TIMECODE_24HMAX   0x0002
 Indicates whether the timecode wraps after 24 hours.
#define LQT_TIMECODE_NEG_OK   0x0004
 Indicates whether negative time values are allowed.
#define LQT_TIMECODE_COUNTER   0x0008
 Indicates whether the time value corresponds to a tape counter value.
#define LQT_COLORMODEL_NONE   -1

Functions

void * lqt_bufalloc (size_t size)
void lqt_set_log_callback (lqt_log_callback_t cb, void *data)
 Set callback for global logging.
int lqt_fileno (quicktime_t *file)
 Return the raw filedescriptor associated with the file.
void lqt_set_audio_parameter (quicktime_t *file, int track, const char *key, const void *value)
 Set a codec parameter for an audio track.
void lqt_set_video_parameter (quicktime_t *file, int track, const char *key, const void *value)
 Set a codec parameter for a video track.
int lqt_get_pixel_aspect (quicktime_t *file, int track, int *pixel_width, int *pixel_height)
 Get the pixel aspect ratio of a video track.
int lqt_set_pixel_aspect (quicktime_t *file, int track, int pixel_width, int pixel_height)
 Set the pixel aspect ratio of a video track.
lqt_interlace_mode_t lqt_get_interlace_mode (quicktime_t *file, int track)
 Get the interlace mode.
int lqt_set_interlace_mode (quicktime_t *file, int track, lqt_interlace_mode_t mode)
 Set the interlace mode.
const char * lqt_interlace_mode_to_string (lqt_interlace_mode_t mode)
 Convert an interlace mode to a human readable string.
lqt_chroma_placement_t lqt_get_chroma_placement (quicktime_t *file, int track)
 Get the chroma placement.
const char * lqt_chroma_placement_to_string (lqt_chroma_placement_t chroma_placement)
 Convert a chroma placement to a human readable string.
int lqt_get_codec_api_version ()
 Get the codec API version.
const char * lqt_channel_to_string (lqt_channel_t ch)
 Convert a channel identifier to a human readnable string.
void lqt_set_channel_setup (quicktime_t *file, int track, lqt_channel_t *ch)
 Set a channel setup for an audio track.
const lqt_channel_tlqt_get_channel_setup (quicktime_t *file, int track)
 Get a channel setup from a file.
int lqt_add_text_track (quicktime_t *file, int timescale)
 Add a text track.
void lqt_set_text_language (quicktime_t *file, int track, const char *language)
 Set the language for a text track.
void lqt_set_chapter_track (quicktime_t *file, int track)
 Make a text track a chapter track.
void lqt_set_text_box (quicktime_t *file, int track, uint16_t top, uint16_t left, uint16_t bottom, uint16_t right)
 Set the text box of a text track.
void lqt_set_text_fg_color (quicktime_t *file, int track, uint16_t r, uint16_t g, uint16_t b, uint16_t a)
 Set the foreground color of a text track.
void lqt_set_text_bg_color (quicktime_t *file, int track, uint16_t r, uint16_t g, uint16_t b, uint16_t a)
 Set the background color of a text track.
int lqt_write_text (quicktime_t *file, int track, const char *text, int64_t duration)
 Write a text sample.
int lqt_text_tracks (quicktime_t *file)
 Get the number of text tracks.
int lqt_get_text_language (quicktime_t *file, int track, char *language)
 Get the text language.
int lqt_text_time_scale (quicktime_t *file, int track)
 Get the timescale for a text track.
void lqt_get_text_box (quicktime_t *file, int track, uint16_t *top, uint16_t *left, uint16_t *bottom, uint16_t *right)
 Set the text box of a text track.
int lqt_read_text (quicktime_t *file, int track, char **text, int *text_alloc, int64_t *timestamp, int64_t *duration)
 Read a text sample.
int lqt_is_chapter_track (quicktime_t *file, int track)
 Check if a track is a chapter track.
int64_t lqt_text_samples (quicktime_t *file, int track)
 Get the total number of text samples.
void lqt_set_text_position (quicktime_t *file, int track, int64_t position)
 Go to a specific sample.
void lqt_set_text_time (quicktime_t *file, int track, int64_t time)
 Go to a specific time.
void lqt_get_text_fg_color (quicktime_t *file, int track, uint16_t *r, uint16_t *g, uint16_t *b, uint16_t *a)
 Get the foreground color of a text track.
void lqt_get_text_bg_color (quicktime_t *file, int track, uint16_t *r, uint16_t *g, uint16_t *b, uint16_t *a)
 Get the background color of a text track.
void lqt_add_timecode_track (quicktime_t *file, int track, uint32_t flags, int framerate)
 Attach a timecode track to a video track.
void lqt_write_timecode (quicktime_t *file, int track, uint32_t timecode)
 Write a timecode for the next video frame to be encoded.
int lqt_has_timecode_track (quicktime_t *file, int track, uint32_t *flags, int *framerate)
 Check, if a video track has timecodes.
int lqt_read_timecode (quicktime_t *file, int track, uint32_t *timecode)
 Read the timecode for the next frame to be decoded.
const char * lqt_get_timecode_tape_name (quicktime_t *file, int track)
 Get the tape name stored in a timecode track.
void lqt_set_timecode_tape_name (quicktime_t *file, int track, const char *tapename)
 Set the tapename for a timecode track.
int lqt_get_timecode_track_enabled (quicktime_t *file, int track)
 Get the enabled flag of a timecode track.
void lqt_set_timecode_track_enabled (quicktime_t *file, int track, int enabled)
 Enable or disable a timecode track.
const char * lqt_colormodel_to_string (int colormodel)
 Convert a colormodel to a human readable string.
int lqt_string_to_colormodel (const char *str)
 Convert a description string to a colormodel.
int lqt_colormodel_is_planar (int colormodel)
 Check if a colormodel is planar.
int lqt_colormodel_has_alpha (int colormodel)
 Check if a colormodel has an alpha (transperency) channel.
int lqt_colormodel_is_rgb (int colormodel)
 Check, if a colormodel is RGB based.
int lqt_colormodel_is_yuv (int colormodel)
 Check, if a colormodel is YUV based.
void lqt_colormodel_get_chroma_sub (int colormodel, int *sub_h, int *sub_v)
 Get the chroma subsampling factors.
void lqt_get_default_rowspan (int colormodel, int width, int *rowspan, int *rowspan_uv)
 Get the default row span for a colormodel and an image width.
int lqt_colormodel_has_conversion (int in_cmodel, int out_cmodel)
 Check if a colormodel conversion is supported by libquicktime.
int lqt_num_colormodels ()
 Get number of supported colormodels.
const char * lqt_get_colormodel_string (int index)
 Get a colormodel string.
int lqt_get_colormodel (int index)
 Get a colormodel.
int lqt_get_decoder_colormodel (quicktime_t *file, int track)
 Get the native colormodel of the decoder.
int lqt_get_best_source_colormodel (int const *source_options, int target)
 Select a source colormodel from a provided list that is best for conversion into a specified target colormodel.
int lqt_get_best_target_colormodel (int source, int const *target_options)
 Select a target colormodel from a provided list that is best for conversion from a specified source colormodel.
int lqt_get_best_colormodel (quicktime_t *file, int track, int *supported)
 Get the best colormodel out of a list of supported colormodels.
int lqt_get_cmodel (quicktime_t *file, int track)
 Get the colormodel, which will be valid for the next en-/decode call.
uint8_t ** lqt_rows_alloc (int width, int height, int colormodel, int *rowspan, int *rowspan_uv)
 Allocate a frame buffer for use with libquicktime.
void lqt_rows_copy (uint8_t **out_rows, uint8_t **in_rows, int width, int height, int in_rowspan, int in_rowspan_uv, int out_rowspan, int out_rowspan_uv, int colormodel)
 Copy a video frame.
void lqt_rows_copy_sub (uint8_t **out_rows, uint8_t **in_rows, int width, int height, int in_rowspan, int in_rowspan_uv, int out_rowspan, int out_rowspan_uv, int colormodel, int src_x, int src_y, int dst_x, int dst_y)
 Copy a subrectangle video frame.
void lqt_rows_clear (uint8_t **rows, int width, int height, int rowspan, int rowspan_uv, int colormodel)
 Clear a video frame.
void lqt_rows_free (uint8_t **rows)
 Free a frame allocated by lqt_rows_alloc.
int lqt_set_audio (quicktime_t *file, int channels, long sample_rate, int bits, lqt_codec_info_t *codec_info)
 Set up audio tracks for encoding.
int lqt_set_video (quicktime_t *file, int tracks, int frame_w, int frame_h, int frame_duration, int timescale, lqt_codec_info_t *codec_info)
 Set up video tracks for encoding.
int lqt_add_audio_track (quicktime_t *file, int channels, long sample_rate, int bits, lqt_codec_info_t *codec_info)
 Add an audio track for encoding.
int lqt_set_audio_codec (quicktime_t *file, int track, lqt_codec_info_t *info)
 Set a codec for an audio track.
void lqt_set_audio_language (quicktime_t *file, int track, const char *language)
 Set the audio language.
int lqt_add_video_track (quicktime_t *file, int frame_w, int frame_h, int frame_duration, int timescale, lqt_codec_info_t *codec_info)
 Add a video track for encoding.
int lqt_set_video_codec (quicktime_t *file, int track, lqt_codec_info_t *info)
 Set a codec for an audio track.
int lqt_set_video_pass (quicktime_t *file, int pass, int total_passes, const char *stats_file, int track)
 Enable multipass encoding.
int64_t lqt_get_frame_time (quicktime_t *file, int track, int frame)
 Get the timestamp of a given frame.
int64_t lqt_frame_time (quicktime_t *file, int track)
 Get the timestamp of the next frame to be decoded.
int lqt_decode_video (quicktime_t *file, unsigned char **row_pointers, int track)
 Decode one video frame.
int lqt_read_video_frame (quicktime_t *file, uint8_t **buffer, int *buffer_alloc, int64_t frame, int64_t *time, int track)
 Read a compressed video frame.
int lqt_encode_video (quicktime_t *file, unsigned char **row_pointers, int track, int64_t time)
 Encode one video frame.
int lqt_encode_video_d (quicktime_t *file, unsigned char **row_pointers, int track, int64_t time, int duration)
 Encode one video frame.
int lqt_frame_duration (quicktime_t *file, int track, int *constant)
 Get the duration of the NEXT frame to be decoded.
int lqt_video_time_scale (quicktime_t *file, int track)
 Get the timescale of the track.
int64_t lqt_video_duration (quicktime_t *file, int track)
 Get the duration of a video track.
void lqt_set_cmodel (quicktime_t *file, int track, int colormodel)
 Set the colormodel for en-/decoding.
long lqt_video_edit_list_total_entries (quicktime_t *file, int track)
 Get the number of video track edit segments.
long lqt_video_edit_duration (quicktime_t *file, int track, int entry_index)
 Get the duration of a video track edit segment.
long lqt_video_edit_time (quicktime_t *file, int track, int entry_index)
 Get the time offset of a video track edit segment.
float lqt_video_edit_rate (quicktime_t *file, int track, int entry_index)
 Get the rate of a video track edit segment.
void lqt_set_row_span (quicktime_t *file, int track, int row_span)
 Set the row span for the luma plane.
void lqt_set_row_span_uv (quicktime_t *file, int track, int row_span_uv)
 Set the row span for the chroma planes.
int lqt_decode_audio (quicktime_t *file, int16_t **output_i, float **output_f, long samples)
 Decode all channels from all tracks at once.
int64_t lqt_last_audio_position (quicktime_t *file, int track)
 Get the position of the last decoded sample.
int lqt_encode_audio_track (quicktime_t *file, int16_t **output_i, float **output_f, long samples, int track)
 Encode a number of audio samples for the first track.
int lqt_decode_audio_track (quicktime_t *file, int16_t **output_i, float **output_f, long samples, int track)
 Decode a number of audio samples.
const char * lqt_sample_format_to_string (lqt_sample_format_t sampleformat)
 Get a human readable description for a sample format.
lqt_sample_format_t lqt_get_sample_format (quicktime_t *file, int track)
 Return the sample format used natively by the codec.
int lqt_decode_audio_raw (quicktime_t *file, void *output, long samples, int track)
 Decode audio in the native sampleformat of the codec.
int lqt_get_audio_language (quicktime_t *file, int track, char *language)
 Get the audio language.
int lqt_encode_audio_raw (quicktime_t *file, void *input, long samples, int track)
 Encode audio in the native sampleformat of the codec.
void lqt_seek_video (quicktime_t *file, int track, int64_t time)
 Seek to a specific video time.
long lqt_audio_edit_list_total_entries (quicktime_t *file, int track)
 Get the number of audio track edit segments.
long lqt_audio_edit_duration (quicktime_t *file, int track, int entry_index)
 Get the duration of a audio track edit segment.
long lqt_audio_edit_time (quicktime_t *file, int track, int entry_index)
 Get the time offset of a audio track edit segment.
float lqt_audio_edit_rate (quicktime_t *file, int track, int entry_index)
 Get the rate of a audio track edit segment.
int lqt_is_avi (quicktime_t *file)
 Query if the function is an AVI.
int lqt_get_wav_id (quicktime_t *file, int track)
 Get the WAVE id of an audio track.
int lqt_total_channels (quicktime_t *file)
 Get the total number of audio channels across all tracks.
void lqt_set_album (quicktime_t *file, char *string)
 Set the album for the file.
void lqt_set_artist (quicktime_t *file, char *string)
 Set the artist for the file.
void lqt_set_genre (quicktime_t *file, char *string)
 Set the genre for the file.
void lqt_set_track (quicktime_t *file, char *string)
 Set the track number for the file.
void lqt_set_comment (quicktime_t *file, char *string)
 Set the comment for the file.
void lqt_set_author (quicktime_t *file, char *string)
 Set the author for the file.
void lqt_set_creation_time (quicktime_t *file, unsigned long time)
 Set the creation time for the file.
char * lqt_get_album (quicktime_t *file)
 Get the album from the file.
char * lqt_get_artist (quicktime_t *file)
 Get the artist from the file.
char * lqt_get_genre (quicktime_t *file)
 Get the genre from the file.
char * lqt_get_track (quicktime_t *file)
 Get the track number from the file.
char * lqt_get_comment (quicktime_t *file)
 Get the comment from the file.
char * lqt_get_author (quicktime_t *file)
 Get the author from the file.
unsigned long lqt_get_creation_time (quicktime_t *file)
 Get the creation time from the file.
int lqt_track_from_id (quicktime_t *file, int track_id)
const char * lqt_file_type_to_string (lqt_file_type_t type)
 Get a human readable filetype.
lqt_file_type_t lqt_get_file_type (quicktime_t *file)
 Get the filetype.
quicktime_tlqt_open_read (const char *filename)
 Open a file for reading.
quicktime_tlqt_open_read_with_log (const char *filename, lqt_log_callback_t cb, void *log_data)
 Open a file for reading.
quicktime_tlqt_open_write (const char *filename, lqt_file_type_t type)
 Open a file for writing.
quicktime_tlqt_open_write_with_log (const char *filename, lqt_file_type_t type, lqt_log_callback_t cb, void *log_data)
 Open a file for writing.
void lqt_set_max_riff_size (quicktime_t *file, int size)
 Set the segment size for ODML AVIs.
void lqt_set_audio_pts_offset (quicktime_t *file, int track, int64_t offset)
 Set an audio pts offset.
int64_t lqt_get_audio_pts_offset (quicktime_t *file, int track)
 Get an audio pts offset.
void lqt_set_video_pts_offset (quicktime_t *file, int track, int64_t offset)
 Set an video pts offset.
int64_t lqt_get_video_pts_offset (quicktime_t *file, int track)
 Get an video pts offset.
void lqt_set_text_pts_offset (quicktime_t *file, int track, int64_t offset)
 Set an video pts offset.
int64_t lqt_get_text_pts_offset (quicktime_t *file, int track)
 Get an video pts offset.

Detailed Description

Public api header for libquicktime.

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