Go to the documentation of this file.
36 #pragma GCC visibility push(default)
128 LQT_LOG_ERROR = (1<<0),
129 LQT_LOG_WARNING = (1<<1),
130 LQT_LOG_INFO = (1<<2),
131 LQT_LOG_DEBUG = (1<<3),
144 const char * message,
180 LQT_CHANNEL_FRONT_LEFT,
181 LQT_CHANNEL_FRONT_RIGHT,
182 LQT_CHANNEL_FRONT_CENTER,
183 LQT_CHANNEL_FRONT_CENTER_LEFT,
184 LQT_CHANNEL_FRONT_CENTER_RIGHT,
185 LQT_CHANNEL_BACK_CENTER,
186 LQT_CHANNEL_BACK_LEFT,
187 LQT_CHANNEL_BACK_RIGHT,
188 LQT_CHANNEL_SIDE_LEFT,
189 LQT_CHANNEL_SIDE_RIGHT,
338 #define QUICKTIME_DIVX "DIVX"
346 #define QUICKTIME_DIV3 "DIV3"
354 #define QUICKTIME_DV "dvc "
363 #define QUICKTIME_DV_AVID "AVdv"
371 #define QUICKTIME_DV_AVID_A "dvcp"
381 #define QUICKTIME_RAW "raw "
390 #define QUICKTIME_JPEG "jpeg"
401 #define QUICKTIME_PNG "png "
410 #define QUICKTIME_MJPA "mjpa"
418 #define QUICKTIME_YUV2 "yuv2"
426 #define QUICKTIME_YUV4 "yuv4"
435 #define QUICKTIME_YUV420 "yv12"
443 #define QUICKTIME_2VUY "2vuy"
451 #define QUICKTIME_YUVS "yuvs"
460 #define QUICKTIME_V308 "v308"
468 #define QUICKTIME_V408 "v408"
476 #define QUICKTIME_V210 "v210"
484 #define QUICKTIME_V410 "v410"
507 #define QUICKTIME_RAWAUDIO "raw "
515 #define QUICKTIME_IMA4 "ima4"
523 #define QUICKTIME_TWOS "twos"
531 #define QUICKTIME_ULAW "ulaw"
541 #define QUICKTIME_VORBIS "OggS"
550 #define QUICKTIME_MP3 ".mp3"
1069 int quicktime_write_audio(
quicktime_t *file, uint8_t *audio_buffer,
long samples,
int track);
1107 int quicktime_read_frame_init(
quicktime_t *file,
int track);
1108 int quicktime_read_frame_end(
quicktime_t *file,
int track);
1111 long quicktime_get_keyframe_before(
quicktime_t *file,
long frame,
int track);
1112 long quicktime_get_partial_keyframe_before(
quicktime_t *file,
long frame,
int track);
1113 void quicktime_insert_keyframe(
quicktime_t *file,
long frame,
int track);
1114 void quicktime_insert_partial_keyframe(
quicktime_t *file,
long frame,
int track);
1116 int quicktime_has_keyframes(
quicktime_t *file,
int track);
1119 void quicktime_insert_sdtp_entry(
quicktime_t *file,
long frame,
int track, uint8_t flags);
1175 int quicktime_divx_is_key(
unsigned char *data,
long size);
1176 int quicktime_divx_write_vol(
unsigned char *data_start,
1179 int time_increment_resolution,
1181 int quicktime_divx_has_vol(
unsigned char *data);
1183 int quicktime_div3_is_key(
unsigned char *data,
long size);
1196 unsigned char **row_pointers,
1210 unsigned char **row_pointers,
1241 unsigned char **row_pointers,
1308 void quicktime_set_preload(
quicktime_t *file, int64_t preload);
1310 int64_t quicktime_byte_position(
quicktime_t *file);
1323 #pragma GCC visibility pop
long quicktime_video_length(quicktime_t *file, int track)
Get the video length.
int quicktime_audio_tracks(quicktime_t *file)
Get the number of audio tracks.
void(* lqt_log_callback_t)(lqt_log_level_t level, const char *domain, const char *message, void *data)
Log callback.
Definition: quicktime.h:142
@ LQT_INTERLACE_TOP_FIRST
Definition: quicktime.h:265
@ LQT_FILE_M4A
Definition: quicktime.h:162
@ LQT_SAMPLE_FLOAT
Definition: quicktime.h:301
int quicktime_set_video_position(quicktime_t *file, int64_t frame, int track)
Seek to a specific video frame.
int quicktime_video_height(quicktime_t *file, int track)
Get the height of a video track.
@ LQT_SAMPLE_UINT8
Definition: quicktime.h:298
long quicktime_audio_position(quicktime_t *file, int track)
Get the audio position.
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_release()
Get the quicktime4linux release number.
@ LQT_FILE_AVI_ODML
Definition: quicktime.h:160
@ LQT_FILE_3GP
Definition: quicktime.h:163
lqt_file_type_t
File types.
Definition: quicktime.h:155
int quicktime_check_sig(char *path)
Test file compatibility.
lqt_sample_format_t
Sample format definitions for audio.
Definition: quicktime.h:295
long quicktime_video_position(quicktime_t *file, int track)
Get the video 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_make_streamable(char *in_path, char *out_path)
Make a file streamable.
char * quicktime_audio_compressor(quicktime_t *file, int track)
Get the four character code of an audio track.
int quicktime_has_audio(quicktime_t *file)
Check if a file has at least one audio track.
int quicktime_channel_location(quicktime_t *file, int *quicktime_track, int *quicktime_channel, int channel)
int quicktime_set_audio_position(quicktime_t *file, int64_t sample, int track)
Seek to a specific audio position.
int quicktime_close(quicktime_t *file)
Close a quicktime handle and free all associated memory.
int quicktime_set_cpus(quicktime_t *file, int cpus)
Set the number of CPUs.
@ LQT_FILE_QT_OLD
Definition: quicktime.h:157
@ LQT_FILE_MP4
Definition: quicktime.h:161
lqt_channel_t
Channel definitions.
Definition: quicktime.h:178
int quicktime_decode_video(quicktime_t *file, unsigned char **row_pointers, int track)
Decode a video frame in BC_RGB888.
int quicktime_video_tracks(quicktime_t *file)
Get the number of video tracks.
int quicktime_seek_start(quicktime_t *file)
Reposition all tracks to the very beginning.
lqt_interlace_mode_t
interlace modes
Definition: quicktime.h:263
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.
int quicktime_has_video(quicktime_t *file)
Check if a file has at least one video track.
int quicktime_audio_bits(quicktime_t *file, int track)
Get the bits per sample of an audio track.
@ LQT_INTERLACE_NONE
Definition: quicktime.h:264
void quicktime_set_avi(quicktime_t *file, int value)
Write an AVI file instead of quicktime.
@ LQT_FILE_AVI
Definition: quicktime.h:159
@ LQT_SAMPLE_DOUBLE
Definition: quicktime.h:302
int quicktime_track_channels(quicktime_t *file, int track)
Get the number of channels of an audio track.
int quicktime_reads_cmodel(quicktime_t *file, int colormodel, int track)
Check if a colormodel is supported for decoding.
lqt_chroma_placement_t
Chroma placement.
Definition: quicktime.h:279
void quicktime_set_framerate(quicktime_t *file, double framerate)
Set the framerate for encoding.
int quicktime_supported_audio(quicktime_t *file, int track)
Check if an audio track is supported by libquicktime.
@ LQT_SAMPLE_INT16
Definition: quicktime.h:299
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.
quicktime_t * quicktime_open(const char *filename, int rd, int wr)
Open a file.
long quicktime_read_frame(quicktime_t *file, unsigned char *video_buffer, int track)
Read a compressed video frame.
@ LQT_SAMPLE_INT8
Definition: quicktime.h:297
@ LQT_INTERLACE_BOTTOM_FIRST
Definition: quicktime.h:266
long quicktime_frame_size(quicktime_t *file, long frame, int track)
Get the compressed size of frame in a video track.
@ LQT_FILE_QT
Definition: quicktime.h:158
long quicktime_sample_rate(quicktime_t *file, int track)
Get the samplerate of an audio track.
int quicktime_video_width(quicktime_t *file, int track)
Get the width 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_dump(quicktime_t *file)
Dump the file structures to stdout.
@ LQT_CHROMA_PLACEMENT_DEFAULT
Definition: quicktime.h:280
@ LQT_FILE_NONE
Definition: quicktime.h:156
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.
int quicktime_major()
Get the quicktime4linux major version.
Structure describing a codec.
Definition: lqt_codecinfo.h:190
lqt_log_level_t
Log level.
Definition: quicktime.h:127
@ LQT_SAMPLE_UNDEFINED
Definition: quicktime.h:296
double quicktime_frame_rate(quicktime_t *file, int track)
Get the framerate of a video 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.
int quicktime_minor()
Get the quicktime4linux minor version.
char * quicktime_video_compressor(quicktime_t *file, int track)
Get the four character code of a video track.
int quicktime_writes_cmodel(quicktime_t *file, int colormodel, int track)
Check if a colormodel is supported for encoding.
int quicktime_write_frame(quicktime_t *file, uint8_t *video_buffer, int64_t bytes, int track)
Write a compressed video frame.
struct quicktime_s quicktime_t
Quicktime handle.
Definition: quicktime.h:313
int quicktime_video_depth(quicktime_t *file, int track)
Get the depth of a video track.
long quicktime_audio_length(quicktime_t *file, int track)
Get the audio length.
void quicktime_set_jpeg(quicktime_t *file, int quality, int use_float)
Set jpeg encoding quality.
int quicktime_supported_video(quicktime_t *file, int track)
Check if a video track is supported by libquicktime.
@ LQT_CHROMA_PLACEMENT_MPEG2
Definition: quicktime.h:281
@ LQT_CHROMA_PLACEMENT_DVPAL
Definition: quicktime.h:282
@ LQT_SAMPLE_INT32
Definition: quicktime.h:300
int quicktime_encode_video(quicktime_t *file, unsigned char **row_pointers, int track)
Encode a video frame.