35#pragma GCC visibility push(default)
126 LQT_LOG_ERROR = (1<<0),
127 LQT_LOG_WARNING = (1<<1),
128 LQT_LOG_INFO = (1<<2),
129 LQT_LOG_DEBUG = (1<<3),
142 const char * message,
178 LQT_CHANNEL_FRONT_LEFT,
179 LQT_CHANNEL_FRONT_RIGHT,
180 LQT_CHANNEL_FRONT_CENTER,
181 LQT_CHANNEL_FRONT_CENTER_LEFT,
182 LQT_CHANNEL_FRONT_CENTER_RIGHT,
183 LQT_CHANNEL_BACK_CENTER,
184 LQT_CHANNEL_BACK_LEFT,
185 LQT_CHANNEL_BACK_RIGHT,
186 LQT_CHANNEL_SIDE_LEFT,
187 LQT_CHANNEL_SIDE_RIGHT,
331#define QUICKTIME_DIVX "DIVX"
339#define QUICKTIME_DIV3 "DIV3"
347#define QUICKTIME_DV "dvc "
356#define QUICKTIME_DV_AVID "AVdv"
364#define QUICKTIME_DV_AVID_A "dvcp"
374#define QUICKTIME_RAW "raw "
383#define QUICKTIME_JPEG "jpeg"
394#define QUICKTIME_PNG "png "
403#define QUICKTIME_MJPA "mjpa"
411#define QUICKTIME_YUV2 "yuv2"
419#define QUICKTIME_YUV4 "yuv4"
428#define QUICKTIME_YUV420 "yv12"
436#define QUICKTIME_2VUY "2vuy"
444#define QUICKTIME_YUVS "yuvs"
453#define QUICKTIME_V308 "v308"
461#define QUICKTIME_V408 "v408"
469#define QUICKTIME_V210 "v210"
477#define QUICKTIME_V410 "v410"
500#define QUICKTIME_RAWAUDIO "raw "
508#define QUICKTIME_IMA4 "ima4"
516#define QUICKTIME_TWOS "twos"
524#define QUICKTIME_ULAW "ulaw"
534#define QUICKTIME_VORBIS "OggS"
543#define QUICKTIME_MP3 ".mp3"
1062int quicktime_write_audio(
quicktime_t *file, uint8_t *audio_buffer,
long samples,
int track);
1096int quicktime_read_frame_init(
quicktime_t *file,
int track);
1097int quicktime_read_frame_end(
quicktime_t *file,
int track);
1100long quicktime_get_keyframe_before(
quicktime_t *file,
long frame,
int track);
1101void quicktime_insert_keyframe(
quicktime_t *file,
long frame,
int track);
1103int quicktime_has_keyframes(
quicktime_t *file,
int track);
1159int quicktime_divx_is_key(
unsigned char *data,
long size);
1160int quicktime_divx_write_vol(
unsigned char *data_start,
1163 int time_increment_resolution,
1165int quicktime_divx_has_vol(
unsigned char *data);
1167int quicktime_div3_is_key(
unsigned char *data,
long size);
1180 unsigned char **row_pointers,
1194 unsigned char **row_pointers,
1225 unsigned char **row_pointers,
1292void quicktime_set_preload(
quicktime_t *file, int64_t preload);
1294int64_t quicktime_byte_position(
quicktime_t *file);
1306#pragma GCC visibility pop
int quicktime_channel_location(quicktime_t *file, int *quicktime_track, int *quicktime_channel, int channel)
int quicktime_audio_bits(quicktime_t *file, int track)
Get the bits per sample of an audio track.
long quicktime_sample_rate(quicktime_t *file, int track)
Get the samplerate of an audio track.
int quicktime_supported_audio(quicktime_t *file, int track)
Check if an audio track is supported by libquicktime.
int quicktime_track_channels(quicktime_t *file, int track)
Get the number of channels of an audio track.
int quicktime_set_audio_position(quicktime_t *file, int64_t sample, int track)
Seek to a specific audio position.
int quicktime_audio_tracks(quicktime_t *file)
Get the number of audio tracks.
long quicktime_audio_length(quicktime_t *file, int track)
Get the audio length.
char * quicktime_audio_compressor(quicktime_t *file, int track)
Get the four character code of an audio track.
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_has_audio(quicktime_t *file)
Check if a file has at least one audio track.
long quicktime_audio_position(quicktime_t *file, int track)
Get the audio position.
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_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.
lqt_sample_format_t
Sample format definitions for audio.
Definition: quicktime.h:288
@ LQT_SAMPLE_INT8
Definition: quicktime.h:290
@ LQT_SAMPLE_INT16
Definition: quicktime.h:292
@ LQT_SAMPLE_INT32
Definition: quicktime.h:293
@ LQT_SAMPLE_DOUBLE
Definition: quicktime.h:295
@ LQT_SAMPLE_FLOAT
Definition: quicktime.h:294
@ LQT_SAMPLE_UNDEFINED
Definition: quicktime.h:289
@ LQT_SAMPLE_UINT8
Definition: quicktime.h:291
int quicktime_release()
Get the quicktime4linux release number.
int quicktime_minor()
Get the quicktime4linux minor version.
int quicktime_set_cpus(quicktime_t *file, int cpus)
Set the number of CPUs.
quicktime_t * quicktime_open(const char *filename, int rd, int wr)
Open a file.
int quicktime_major()
Get the quicktime4linux major version.
void quicktime_set_avi(quicktime_t *file, int value)
Write an AVI file instead of quicktime.
int quicktime_check_sig(char *path)
Test file compatibility.
int quicktime_dump(quicktime_t *file)
Dump the file structures to stdout.
int quicktime_make_streamable(char *in_path, char *out_path)
Make a file streamable.
int quicktime_close(quicktime_t *file)
Close a quicktime handle and free all associated memory.
struct quicktime_s quicktime_t
Quicktime handle.
Definition: quicktime.h:306
void(* lqt_log_callback_t)(lqt_log_level_t level, const char *domain, const char *message, void *data)
Log callback.
Definition: quicktime.h:140
lqt_log_level_t
Log level.
Definition: quicktime.h:125
lqt_channel_t
Channel definitions.
Definition: quicktime.h:176
double quicktime_frame_rate(quicktime_t *file, int track)
Get the framerate 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.
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_video_tracks(quicktime_t *file)
Get the number of video tracks.
int quicktime_decode_video(quicktime_t *file, unsigned char **row_pointers, int track)
Decode a video frame in BC_RGB888.
long quicktime_video_length(quicktime_t *file, int track)
Get the video length.
int quicktime_video_depth(quicktime_t *file, int track)
Get the depth of a video track.
int quicktime_video_width(quicktime_t *file, int track)
Get the width of a video track.
char * quicktime_video_compressor(quicktime_t *file, int track)
Get the four character code of a video track.
long quicktime_video_position(quicktime_t *file, int track)
Get the video position.
int quicktime_has_video(quicktime_t *file)
Check if a file has at least one video track.
int quicktime_video_height(quicktime_t *file, int track)
Get the height of a video track.
int quicktime_supported_video(quicktime_t *file, int track)
Check if a video 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_set_video_position(quicktime_t *file, int64_t frame, int track)
Seek to a specific video frame.
long quicktime_read_frame(quicktime_t *file, unsigned char *video_buffer, int track)
Read a compressed video frame.
void quicktime_set_depth(quicktime_t *file, int depth, int track)
Set the depth of a video track.
int quicktime_writes_cmodel(quicktime_t *file, int colormodel, int track)
Check if a colormodel is supported for encoding.
void quicktime_set_parameter(quicktime_t *file, char *key, void *value)
Set a codec parameter.
void quicktime_set_framerate(quicktime_t *file, double framerate)
Set the framerate for encoding.
int quicktime_encode_video(quicktime_t *file, unsigned char **row_pointers, int track)
Encode a video frame.
int quicktime_write_frame(quicktime_t *file, uint8_t *video_buffer, int64_t bytes, int track)
Write a compressed video frame.
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.
lqt_chroma_placement_t
Chroma placement.
Definition: quicktime.h:272
void quicktime_set_row_span(quicktime_t *file, int row_span)
Set the row_span for en-/decoding.
lqt_interlace_mode_t
interlace modes
Definition: quicktime.h:256
void quicktime_set_cmodel(quicktime_t *file, int colormodel)
Set the colormodel for en-/decoding.
@ LQT_CHROMA_PLACEMENT_DVPAL
Definition: quicktime.h:275
@ LQT_CHROMA_PLACEMENT_DEFAULT
Definition: quicktime.h:273
@ LQT_CHROMA_PLACEMENT_MPEG2
Definition: quicktime.h:274
@ LQT_INTERLACE_TOP_FIRST
Definition: quicktime.h:258
@ LQT_INTERLACE_NONE
Definition: quicktime.h:257
@ LQT_INTERLACE_BOTTOM_FIRST
Definition: quicktime.h:259
lqt_file_type_t
File types.
Definition: quicktime.h:153
@ LQT_FILE_QT_OLD
Definition: quicktime.h:155
@ LQT_FILE_MP4
Definition: quicktime.h:159
@ LQT_FILE_3GP
Definition: quicktime.h:161
@ LQT_FILE_M4A
Definition: quicktime.h:160
@ LQT_FILE_AVI_ODML
Definition: quicktime.h:158
@ LQT_FILE_NONE
Definition: quicktime.h:154
@ LQT_FILE_AVI
Definition: quicktime.h:157
@ LQT_FILE_QT
Definition: quicktime.h:156
int quicktime_seek_start(quicktime_t *file)
Reposition all tracks to the very beginning.
Structure describing a codec.
Definition: lqt_codecinfo.h:188