Codec registry

Informations about installed codecs. More...

Data Structures

struct  lqt_image_size_t
 Image size. More...
struct  lqt_codec_info_s
 Structure describing a codec. More...

Modules

 Structures describing codec parameters
 

Informations about supported codec parameters.


Defines

#define LQT_CODEC_OBSOLETE   (1<<24)
 compatibility flags contain this for obsolete/unmaintained codecs

Enumerations

enum  lqt_codec_type {
  LQT_CODEC_AUDIO,
  LQT_CODEC_VIDEO
}
 

Type of a codec (Audio or video).

More...
enum  lqt_codec_direction {
  LQT_DIRECTION_ENCODE,
  LQT_DIRECTION_DECODE,
  LQT_DIRECTION_BOTH
}
 

Direction of the codec.

More...

Functions

void lqt_registry_init ()
 Initialize the codec registry.
void lqt_registry_destroy ()
 Destroy the codec registry.
int lqt_get_num_audio_codecs ()
 Return the number of installed audio codecs.
int lqt_get_num_video_codecs ()
 Return the number of installed video codecs.
const lqt_codec_info_tlqt_get_audio_codec_info (int index)
 Return an audio codec.
const lqt_codec_info_tlqt_get_video_codec_info (int index)
 Return a video codec.
lqt_codec_info_t ** lqt_query_registry (int audio, int video, int encode, int decode)
 Return an array of any combination of audio/video en/decoders.
lqt_codec_info_t ** lqt_find_audio_codec (char *fourcc, int encode)
 Find an audio codec for a given fourcc.
lqt_codec_info_t ** lqt_find_audio_codec_by_wav_id (int wav_id, int encode)
 Find an audio codec for a given WAV ID.
lqt_codec_info_t ** lqt_find_video_codec (char *fourcc, int encode)
 Find a video codec for a given fourcc.
lqt_codec_info_t ** lqt_find_audio_codec_by_name (const char *name)
 Find an audio codec by its name.
lqt_codec_info_t ** lqt_find_video_codec_by_name (const char *name)
 Find a video codec by its name.
lqt_codec_info_t ** lqt_audio_codec_from_file (quicktime_t *file, int track)
 Get an audio codec from an open file.
lqt_codec_info_t ** lqt_video_codec_from_file (quicktime_t *file, int track)
 Get a video codec from an open file.
void lqt_destroy_codec_info (lqt_codec_info_t **info)
 Destroy a codec info array.
void lqt_reorder_audio_codecs (lqt_codec_info_t **codec_info)
 Reorder audio codecs.
void lqt_reorder_video_codecs (lqt_codec_info_t **codec_info)
 Reorder video codecs.
void lqt_set_default_parameter (lqt_codec_type type, int encode, const char *codec_name, const char *parameter_name, lqt_parameter_value_t *val)
 Change a default value for a codec parameter.
void lqt_restore_default_parameters (lqt_codec_info_t *codec_info, int encode, int decode)
 Restore a default parameter from the codec module.
void lqt_dump_codec_info (const lqt_codec_info_t *info)
 Dump a codec info to stderr.

Detailed Description

Informations about installed codecs.

One of the goals when forking libquicktime was to have a modular structure. Codecs were moved to plugins and were compiled according to the dependencies found by the configure script. As a result, a mechanism became necessary for finding informations about available codecs at runtime, their properties, supported parameters etc.

The codec parameters are defined in a way that GUI configuration dialogs can be built at runtime. An example for this is the libquicktime_config utility.

Libquicktime saves data of the codecs in the file .libquicktime_codecs in your home directory. This saves the long time needed for opening each codec module to see what's inside. The codec registry can be configured with the libquicktime_config program.


Define Documentation

#define LQT_CODEC_OBSOLETE   (1<<24)

compatibility flags contain this for obsolete/unmaintained codecs


Enumeration Type Documentation

Type of a codec (Audio or video).

Direction of the codec.


Function Documentation

void lqt_registry_init (  ) 

Initialize the codec registry.

Under normal circumstances, you never need to call this function, since the registry is always initialized on demand.

void lqt_registry_destroy (  ) 

Destroy the codec registry.

This frees memory for the whole codec database. It is normally called automatically, but you will need to call it exclicitely, if you want to reinitialize the codec registry at runtime

int lqt_get_num_audio_codecs (  ) 

Return the number of installed audio codecs.

Returns:
Number of installed audio codecs

This function is obsolete, use lqt_query_registry instead

int lqt_get_num_video_codecs (  ) 

Return the number of installed video codecs.

Returns:
Number of installed video codecs

This function is obsolete, use lqt_query_registry instead

const lqt_codec_info_t* lqt_get_audio_codec_info ( int  index  ) 

Return an audio codec.

Parameters:
index Index of the codec
Returns:
Pointer to the codec info in the internal database

This function is obsolete, use lqt_query_registry instead

const lqt_codec_info_t* lqt_get_video_codec_info ( int  index  ) 

Return a video codec.

Parameters:
index Index of the codec
Returns:
Pointer to the codec info in the internal database

This function is obsolete, use lqt_query_registry instead

lqt_codec_info_t** lqt_query_registry ( int  audio,
int  video,
int  encode,
int  decode 
)

Return an array of any combination of audio/video en/decoders.

Parameters:
audio Set this to 1 if you want audio codecs to be returned
video Set this to 1 if you want video codecs to be returned
encode Set this to 1 if you want encoders to be returned
decode Set this to 1 if you want decoders to be returned
Returns:
A NULL terminated array of codec infos.

This function copies the codec infos. Use lqt_destroy_codec_info to free the returned array.

lqt_codec_info_t** lqt_find_audio_codec ( char *  fourcc,
int  encode 
)

Find an audio codec for a given fourcc.

Parameters:
fourcc A four character code
encode Set to 1 to return encoders, 0 to return decoders
Returns:
A NULL terminated array containing one codec info if the codec was found

This function copies the codec info. Use lqt_destroy_codec_info to free the returned array.

lqt_codec_info_t** lqt_find_audio_codec_by_wav_id ( int  wav_id,
int  encode 
)

Find an audio codec for a given WAV ID.

Parameters:
wav_id A 16 bit audio codec ID as found in WAV and AVI files
encode Set to 1 to return encoders, 0 to return decoders
Returns:
A NULL terminated array containing one codec info if the codec was found

This function copies the codec info. Use lqt_destroy_codec_info to free the returned array.

lqt_codec_info_t** lqt_find_video_codec ( char *  fourcc,
int  encode 
)

Find a video codec for a given fourcc.

Parameters:
fourcc A four character code
encode Set to 1 to return encoders, 0 to return decoders
Returns:
A NULL terminated array containing one codec info if the codec was found

This function copies the codec info. Use lqt_destroy_codec_info to free the returned array.

lqt_codec_info_t** lqt_find_audio_codec_by_name ( const char *  name  ) 

Find an audio codec by its name.

Parameters:
name Short name of the codec (see lqt_codec_info_s)
Returns:
A NULL terminated array containing one codec info if the codec was found

This function copies the codec info. Use lqt_destroy_codec_info to free the returned array.

lqt_codec_info_t** lqt_find_video_codec_by_name ( const char *  name  ) 

Find a video codec by its name.

Parameters:
name Short name of the codec (see lqt_codec_info_s)
Returns:
A NULL terminated array containing one codec info if the codec was found

This function copies the codec info. Use lqt_destroy_codec_info to free the returned array.

lqt_codec_info_t** lqt_audio_codec_from_file ( quicktime_t file,
int  track 
)

Get an audio codec from an open file.

Parameters:
file A quicktime handle
track Index if the track (starting with 0)
Returns:
A NULL terminated array containing one codec info if the codec was found

This function copies the codec info. Use lqt_destroy_codec_info to free the returned array.

lqt_codec_info_t** lqt_video_codec_from_file ( quicktime_t file,
int  track 
)

Get a video codec from an open file.

Parameters:
file A quicktime handle
track Index if the track (starting with 0)
Returns:
A NULL terminated array containing one codec info if the codec was found

This function copies the codec info. Use lqt_destroy_codec_info to free the returned array.

void lqt_destroy_codec_info ( lqt_codec_info_t **  info  ) 

Destroy a codec info array.

Parameters:
info A NULL terminated array of codec infos returned by one of the query functions.

Destroys a NULL terminared codec info structure returned by any of the query functions and frees all associated memory.

void lqt_reorder_audio_codecs ( lqt_codec_info_t **  codec_info  ) 

Reorder audio codecs.

Parameters:
codec_info A NULL terminated array of codec infos

The codec order is important if there is more than one codec available for a given fourcc. In this case, the first one will be used. You can simply call lqt_query_registry for getting audio codecs, reorder the returned array and pass this to the functions below.

void lqt_reorder_video_codecs ( lqt_codec_info_t **  codec_info  ) 

Reorder video codecs.

Parameters:
codec_info A NULL terminated array of codec infos

The codec order is important if there is more than one codec available for a given fourcc. In this case, the first one will be used. You can simply call lqt_query_registry for getting video codecs, reorder the returned array and pass this to the functions below.

void lqt_set_default_parameter ( lqt_codec_type  type,
int  encode,
const char *  codec_name,
const char *  parameter_name,
lqt_parameter_value_t val 
)

Change a default value for a codec parameter.

Parameters:
type The type of the codec (audio or video)
encode 1 for encode parameter, 0 for decode parameter
codec_name The short name of the codec
parameter_name The short name of the parameter to change
val The new value for the parameter

This stores a new default parameter value in the codec registry. It will become the new default for all files, you open after. This will also be saved in $HOME/.libquicktime_config.

void lqt_restore_default_parameters ( lqt_codec_info_t codec_info,
int  encode,
int  decode 
)

Restore a default parameter from the codec module.

Parameters:
codec_info A codec info referring to the codec
encode Set this to 1 to restore encoding parameters, 0 else
decode Set this to 1 to restore decoding parameters, 0 else

This will revert previous calls to lqt_set_default_parameter by loading the module and getting the hardcoded values.

void lqt_dump_codec_info ( const lqt_codec_info_t info  ) 

Dump a codec info to stderr.

Parameters:
info A codec info

Dump a human readable description of the codec info to stderr. For testing and debugging only.

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