openshot-audio
0.1.2
|
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include "../../codec.h"
#include "../../vorbisenc.h"
#include "codec_internal.h"
#include "os.h"
#include "misc.h"
#include "modes/setup_44.h"
#include "modes/setup_44u.h"
#include "modes/setup_44p51.h"
#include "modes/setup_32.h"
#include "modes/setup_8.h"
#include "modes/setup_11.h"
#include "modes/setup_16.h"
#include "modes/setup_22.h"
#include "modes/setup_X.h"
Classes | |
struct | static_bookblock |
struct | vorbis_residue_template |
struct | vorbis_mapping_template |
struct | vp_adjblock |
struct | compandblock |
struct | att3 |
struct | adj3 |
struct | adj_stereo |
struct | noiseguard |
struct | noise3 |
struct | ve_setup_data_template |
Typedefs | |
typedef struct vp_adjblock | vp_adjblock |
Functions | |
int | vorbis_encode_setup_init (vorbis_info *vi) |
int | vorbis_encode_setup_vbr (vorbis_info *vi, long channels, long rate, float quality) |
int | vorbis_encode_init_vbr (vorbis_info *vi, long channels, long rate, float base_quality) |
int | vorbis_encode_setup_managed (vorbis_info *vi, long channels, long rate, long max_bitrate, long nominal_bitrate, long min_bitrate) |
int | vorbis_encode_init (vorbis_info *vi, long channels, long rate, long max_bitrate, long nominal_bitrate, long min_bitrate) |
int | vorbis_encode_ctl (vorbis_info *vi, int number, void *arg) |
typedef struct vp_adjblock vp_adjblock |
int vorbis_encode_ctl | ( | vorbis_info * | vi, |
int | number, | ||
void * | arg | ||
) |
This function implements a generic interface to miscellaneous encoder settings similar to the classic UNIX 'ioctl()' system call. Applications may use vorbis_encode_ctl() to query or set bitrate management or quality mode details by using one of several request arguments detailed below. vorbis_encode_ctl() must be called after one of vorbis_encode_setup_managed() or vorbis_encode_setup_vbr(). When used to modify settings, vorbis_encode_ctl() must be called before vorbis_encode_setup_init().
vi | Pointer to an initialized vorbis_info struct. |
number | Specifies the desired action; See the listof available requests". |
arg | void * pointing to a data structure matching the request argument. |
0 | Success. Any further return information (such as the result of a query) is placed into the storage pointed to by *arg. |
OV_EINVAL | Invalid argument, or an attempt to modify a setting after calling vorbis_encode_setup_init(). |
OV_EIMPL | Unimplemented or unknown request |
int vorbis_encode_init | ( | vorbis_info * | vi, |
long | channels, | ||
long | rate, | ||
long | max_bitrate, | ||
long | nominal_bitrate, | ||
long | min_bitrate | ||
) |
This is the primary function within libvorbisenc for setting up managed bitrate modes.
Before this function is called, the vorbis_info struct should be initialized by using vorbis_info_init() from the libvorbis API. After encoding, vorbis_info_clear() should be called.
The max_bitrate, nominal_bitrate, and min_bitrate settings are used to set constraints for the encoded file. This function uses these settings to select the appropriate encoding mode and set it up.
vi | Pointer to an initialized vorbis_info struct. |
channels | The number of channels to be encoded. |
rate | The sampling rate of the source audio. |
max_bitrate | Desired maximum bitrate (limit). -1 indicates unset. |
nominal_bitrate | Desired average, or central, bitrate. -1 indicates unset. |
min_bitrate | Desired minimum bitrate. -1 indicates unset. |
0 | Success. |
OV_EFAULT | Internal logic fault; indicates a bug or heap/stack corruption. |
OV_EINVAL | Invalid setup request, eg, out of range argument. |
OV_EIMPL | Unimplemented mode; unable to comply with bitrate request. |
int vorbis_encode_init_vbr | ( | vorbis_info * | vi, |
long | channels, | ||
long | rate, | ||
float | base_quality | ||
) |
This is the primary function within libvorbisenc for setting up variable bitrate ("quality" based) modes.
Before this function is called, the vorbis_info struct should be initialized by using vorbis_info_init() from the libvorbis API. After encoding, vorbis_info_clear() should be called.
vi | Pointer to an initialized vorbis_info struct. |
channels | The number of channels to be encoded. |
rate | The sampling rate of the source audio. |
base_quality | Desired quality level, currently from -0.1 to 1.0 (lo to hi). |
0 | Success |
OV_EFAULT | Internal logic fault; indicates a bug or heap/stack corruption. |
OV_EINVAL | Invalid setup request, eg, out of range argument. |
OV_EIMPL | Unimplemented mode; unable to comply with quality level request. |
int vorbis_encode_setup_init | ( | vorbis_info * | vi | ) |
This function performs the last stage of three-step encoding setup, as described in the API overview under managed bitrate modes.
Before this function is called, the vorbis_info struct should be initialized by using vorbis_info_init() from the libvorbis API, one of vorbis_encode_setup_managed() or vorbis_encode_setup_vbr() called to initialize the high-level encoding setup, and vorbis_encode_ctl() called if necessary to make encoding setup changes. vorbis_encode_setup_init() finalizes the highlevel encoding structure into a complete encoding setup after which the application may make no further setup changes.
After encoding, vorbis_info_clear() should be called.
vi | Pointer to an initialized vorbis_info struct. |
0 | Success. |
OV_EFAULT | Internal logic fault; indicates a bug or heap/stack corruption. |
OV_EINVAL | Attempt to use vorbis_encode_setup_init() without first calling one of vorbis_encode_setup_managed() or vorbis_encode_setup_vbr() to initialize the high-level encoding setup |
int vorbis_encode_setup_managed | ( | vorbis_info * | vi, |
long | channels, | ||
long | rate, | ||
long | max_bitrate, | ||
long | nominal_bitrate, | ||
long | min_bitrate | ||
) |
This function performs step-one of a three-step bitrate-managed encode setup. It functions similarly to the one-step setup performed by vorbis_encode_init but allows an application to make further encode setup tweaks using vorbis_encode_ctl before finally calling vorbis_encode_setup_init to complete the setup process.
Before this function is called, the vorbis_info struct should be initialized by using vorbis_info_init() from the libvorbis API. After encoding, vorbis_info_clear() should be called.
The max_bitrate, nominal_bitrate, and min_bitrate settings are used to set constraints for the encoded file. This function uses these settings to select the appropriate encoding mode and set it up.
vi | Pointer to an initialized vorbis_info struct. |
channels | The number of channels to be encoded. |
rate | The sampling rate of the source audio. |
max_bitrate | Desired maximum bitrate (limit). -1 indicates unset. |
nominal_bitrate | Desired average, or central, bitrate. -1 indicates unset. |
min_bitrate | Desired minimum bitrate. -1 indicates unset. |
0 | Success |
OV_EFAULT | Internal logic fault; indicates a bug or heap/stack corruption. |
OV_EINVAL | Invalid setup request, eg, out of range argument. |
OV_EIMPL | Unimplemented mode; unable to comply with bitrate request. |
int vorbis_encode_setup_vbr | ( | vorbis_info * | vi, |
long | channels, | ||
long | rate, | ||
float | quality | ||
) |
This function performs step-one of a three-step variable bitrate (quality-based) encode setup. It functions similarly to the one-step setup performed by vorbis_encode_init_vbr() but allows an application to make further encode setup tweaks using vorbis_encode_ctl() before finally calling vorbis_encode_setup_init to complete the setup process.
Before this function is called, the vorbis_info struct should be initialized by using vorbis_info_init() from the libvorbis API. After encoding, vorbis_info_clear() should be called.
vi | Pointer to an initialized vorbis_info struct. |
channels | The number of channels to be encoded. |
rate | The sampling rate of the source audio. |
quality | Desired quality level, currently from -0.1 to 1.0 (lo to hi). |
0 | Success |
OV_EFAULT | Internal logic fault; indicates a bug or heap/stack corruption. |
OV_EINVAL | Invalid setup request, eg, out of range argument. |
OV_EIMPL | Unimplemented mode; unable to comply with quality level request. |