#include "funcprotos.h"#include <lame/lame.h>#include "mpeg3private.h"#include "mpeg3protos.h"#include "quicktime.h"#include "qtmp3.h"#include <string.h>

Go to the source code of this file.
Data Structures | |
| struct | quicktime_mp3_codec_t |
Defines | |
| #define | CLAMP(x, y, z) ((x) = ((x) < (y) ? (y) : ((x) > (z) ? (z) : (x)))) |
| #define | OUTPUT_ALLOCATION 0x100000 |
Functions | |
| static int | delete_codec (quicktime_audio_map_t *atrack) |
| static int | chunk_len (quicktime_t *file, quicktime_mp3_codec_t *codec, int64_t offset, int64_t next_chunk) |
| static int | decode (quicktime_t *file, int16_t *output_i, float *output_f, long samples, int track, int channel) |
| static int | allocate_output (quicktime_mp3_codec_t *codec, int samples) |
| static int | write_frames (quicktime_t *file, quicktime_audio_map_t *track_map, quicktime_trak_t *trak, quicktime_mp3_codec_t *codec, int track) |
| static int | encode (quicktime_t *file, int16_t **input_i, float **input_f, int track, long samples) |
| static int | set_parameter (quicktime_t *file, int track, char *key, void *value) |
| static void | flush (quicktime_t *file, int track) |
| void | quicktime_init_codec_mp3 (quicktime_audio_map_t *atrack) |
| #define CLAMP | ( | x, | |||
| y, | |||||
| z | ) | ((x) = ((x) < (y) ? (y) : ((x) > (z) ? (z) : (x)))) |
| static int allocate_output | ( | quicktime_mp3_codec_t * | codec, | |
| int | samples | |||
| ) | [static] |
Definition at line 339 of file qtmp3.c.
References quicktime_mp3_codec_t::encoder_output, quicktime_mp3_codec_t::encoder_output_allocated, quicktime_mp3_codec_t::encoder_output_size, and memcpy.
Referenced by encode().
| static int chunk_len | ( | quicktime_t * | file, | |
| quicktime_mp3_codec_t * | codec, | |||
| int64_t | offset, | |||
| int64_t | next_chunk | |||
| ) | [static] |
Definition at line 101 of file qtmp3.c.
References header, quicktime_mp3_codec_t::mp3_header, mpeg3_layer_header(), quicktime_read_data(), and quicktime_set_position().
Referenced by decode().

| static int decode | ( | quicktime_t * | file, | |
| int16_t * | output_i, | |||
| float * | output_f, | |||
| long | samples, | |||
| int | track, | |||
| int | channel | |||
| ) | [static] |
Definition at line 147 of file qtmp3.c.
References quicktime_t::atracks, quicktime_audio_map_t::channels, quicktime_mp3_codec_t::chunk, chunk_len(), CLAMP, quicktime_audio_map_t::codec, quicktime_audio_map_t::current_position, quicktime_mp3_codec_t::decode_initialized, MAXFRAMESAMPLES, memcpy, quicktime_mp3_codec_t::mp3, quicktime_mp3_codec_t::mp3_header, mpeg3_layer_header(), mpeg3_new_layer(), mpeg3audio_dolayer3(), quicktime_mp3_codec_t::output, quicktime_mp3_codec_t::output_allocated, OUTPUT_ALLOCATION, quicktime_mp3_codec_t::output_position, quicktime_mp3_codec_t::output_size, quicktime_mp3_codec_t::packet_allocated, quicktime_mp3_codec_t::packet_buffer, quicktime_chunk_of_sample(), quicktime_chunk_to_offset(), quicktime_read_data(), quicktime_sample_of_chunk(), quicktime_set_position(), and quicktime_audio_map_t::track.

| static int delete_codec | ( | quicktime_audio_map_t * | atrack | ) | [static] |
Definition at line 61 of file qtmp3.c.
References quicktime_audio_map_t::channels, quicktime_audio_map_t::codec, quicktime_mp3_codec_t::encoded_header, quicktime_mp3_codec_t::encoder_output, quicktime_mp3_codec_t::input, quicktime_mp3_codec_t::lame_global, quicktime_mp3_codec_t::mp3, quicktime_mp3_codec_t::mp3_header, mpeg3_delete_layer(), quicktime_mp3_codec_t::output, and quicktime_mp3_codec_t::packet_buffer.

| static int encode | ( | quicktime_t * | file, | |
| int16_t ** | input_i, | |||
| float ** | input_f, | |||
| int | track, | |||
| long | samples | |||
| ) | [static] |
Definition at line 448 of file qtmp3.c.
References allocate_output(), quicktime_t::atracks, quicktime_mp3_codec_t::bitrate, quicktime_audio_map_t::channels, quicktime_audio_map_t::codec, quicktime_mp3_codec_t::encode_initialized, quicktime_mp3_codec_t::encoded_header, quicktime_mp3_codec_t::encoder_output, quicktime_mp3_codec_t::encoder_output_allocated, quicktime_mp3_codec_t::encoder_output_size, quicktime_mp3_codec_t::input, quicktime_mp3_codec_t::input_allocated, quicktime_mp3_codec_t::input_size, quicktime_mp3_codec_t::lame_global, quicktime_trak_t::mdia, memcpy, quicktime_mdia_t::minf, mpeg3_new_layer(), quicktime_stsd_table_t::sample_rate, quicktime_stsd_table_t::sample_size, quicktime_minf_t::stbl, quicktime_stbl_t::stsd, quicktime_stsd_t::table, quicktime_audio_map_t::track, quicktime_t::use_avi, and write_frames().

| static void flush | ( | quicktime_t * | file, | |
| int | track | |||
| ) | [static] |
Definition at line 558 of file qtmp3.c.
References quicktime_t::atracks, quicktime_audio_map_t::codec, quicktime_mp3_codec_t::encode_initialized, quicktime_mp3_codec_t::encoder_output, quicktime_mp3_codec_t::encoder_output_allocated, quicktime_mp3_codec_t::encoder_output_size, quicktime_mp3_codec_t::lame_global, offset, quicktime_position(), quicktime_audio_map_t::track, and write_frames().

| void quicktime_init_codec_mp3 | ( | quicktime_audio_map_t * | atrack | ) |
Definition at line 581 of file qtmp3.c.
References quicktime_audio_map_t::codec, quicktime_codec_t::decode_audio, quicktime_codec_t::delete_acodec, delete_codec(), quicktime_codec_t::desc, encode(), quicktime_codec_t::encode_audio, flush, quicktime_codec_t::flush, quicktime_codec_t::fourcc, quicktime_codec_t::priv, QUICKTIME_MP3, set_parameter(), quicktime_codec_t::set_parameter, quicktime_codec_t::title, and quicktime_codec_t::wav_id.
Referenced by register_acodecs().

| static int set_parameter | ( | quicktime_t * | file, | |
| int | track, | |||
| char * | key, | |||
| void * | value | |||
| ) | [static] |
Definition at line 542 of file qtmp3.c.
References quicktime_t::atracks, quicktime_mp3_codec_t::bitrate, and quicktime_audio_map_t::codec.
| static int write_frames | ( | quicktime_t * | file, | |
| quicktime_audio_map_t * | track_map, | |||
| quicktime_trak_t * | trak, | |||
| quicktime_mp3_codec_t * | codec, | |||
| int | track | |||
| ) | [static] |
Definition at line 363 of file qtmp3.c.
References quicktime_audio_map_t::current_chunk, quicktime_mp3_codec_t::encoded_header, quicktime_mp3_codec_t::encoder_output, quicktime_mp3_codec_t::encoder_output_size, header, mpeg3_layer_header(), mpeg3audio_dolayer3(), offset, and quicktime_write_vbr_frame().
Referenced by encode(), and flush().

1.5.5