From 5ac6d42e816d06450c953700ce08cc4f47412ace Mon Sep 17 00:00:00 2001 From: Jean-Marc Valin Date: Thu, 9 Oct 2008 07:27:10 -0400 Subject: Preparing for 0.5.0 --- Doxyfile | 2 +- Doxyfile.devel | 2 +- configure.ac | 4 ++-- libcelt/Makefile.am | 2 +- libcelt/celt.h | 46 +++++++++++++++++++++++++++++++++++++--------- libcelt/float_cast.h | 2 ++ libcelt/modes.h | 2 +- 7 files changed, 45 insertions(+), 15 deletions(-) diff --git a/Doxyfile b/Doxyfile index 461d154..b3175bb 100644 --- a/Doxyfile +++ b/Doxyfile @@ -5,7 +5,7 @@ #--------------------------------------------------------------------------- DOXYFILE_ENCODING = UTF-8 PROJECT_NAME = CELT -PROJECT_NUMBER = 0.3.2 +PROJECT_NUMBER = 0.5.0 OUTPUT_DIRECTORY = doc/API CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English diff --git a/Doxyfile.devel b/Doxyfile.devel index 5aa7e2c..39ef513 100644 --- a/Doxyfile.devel +++ b/Doxyfile.devel @@ -5,7 +5,7 @@ #--------------------------------------------------------------------------- DOXYFILE_ENCODING = UTF-8 PROJECT_NAME = CELT -PROJECT_NUMBER = 0.3.2 +PROJECT_NUMBER = 0.5.0 OUTPUT_DIRECTORY = doc/devel CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English diff --git a/configure.ac b/configure.ac index befb94f..2ab7876 100644 --- a/configure.ac +++ b/configure.ac @@ -5,8 +5,8 @@ AC_INIT(libcelt/arch.h) AM_CONFIG_HEADER([config.h]) CELT_MAJOR_VERSION=0 -CELT_MINOR_VERSION=4 -CELT_MICRO_VERSION=1 +CELT_MINOR_VERSION=5 +CELT_MICRO_VERSION=0 CELT_EXTRA_VERSION= CELT_VERSION=$CELT_MAJOR_VERSION.$CELT_MINOR_VERSION.$CELT_MICRO_VERSION$CELT_EXTRA_VERSION diff --git a/libcelt/Makefile.am b/libcelt/Makefile.am index 184d23e..d34c1dc 100644 --- a/libcelt/Makefile.am +++ b/libcelt/Makefile.am @@ -24,7 +24,7 @@ libcelt_la_SOURCES = bands.c celt.c cwrs.c ecintrin.h entcode.c \ libcelt_la_LDFLAGS = -version-info @CELT_LT_CURRENT@:@CELT_LT_REVISION@:@CELT_LT_AGE@ noinst_HEADERS = _kiss_fft_guts.h arch.h bands.h fixed_c5x.h fixed_c6x.h \ - cwrs.h ecintrin.h entcode.h entdec.h entenc.h fixed_generic.h \ + cwrs.h ecintrin.h entcode.h entdec.h entenc.h fixed_generic.h float_cast.h \ kfft_double.h kfft_single.h kiss_fft.h kiss_fftr.h laplace.h mdct.h mfrngcod.h \ mathops.h modes.h os_support.h pgain_table.h pitch.h psy.h \ quant_bands.h quant_pitch.h rate.h stack_alloc.h vq.h diff --git a/libcelt/celt.h b/libcelt/celt.h index 33c6ef3..c77f058 100644 --- a/libcelt/celt.h +++ b/libcelt/celt.h @@ -68,8 +68,8 @@ extern "C" { #define CELT_UNIMPLEMENTED -5 /* Requests */ -/** Controls the complexity from 0-10 (int) */ #define CELT_SET_COMPLEXITY_REQUEST 2 +/** Controls the complexity from 0-10 (int) */ #define CELT_SET_COMPLEXITY(x) CELT_SET_COMPLEXITY_REQUEST, _celt_check_int(x) /** GET the frame size used in the current mode */ @@ -145,18 +145,37 @@ EXPORT void celt_encoder_destroy(CELTEncoder *st); /** Encodes a frame of audio. @param st Encoder state - @param pcm PCM audio in signed 16-bit format (native endian). There must be - exactly frame_size samples per channel. The input data is - overwritten by a copy of what the remote decoder would decode. + @param pcm PCM audio in signed float format. There must be + * exactly frame_size samples per channel. The input data is + * overwritten by a copy of what the remote decoder would decode. + @param optional_synthesis If not NULL, the encoder copies the audio signal that + * the decoder would decode. It is the same as calling the + * decoder on the compressed data, just faster. @param compressed The compressed data is written here @param nbCompressedBytes Number of bytes to use for compressing the frame - (can change from one frame to another) + * (can change from one frame to another) @return Number of bytes written to "compressed". Should be the same as - "nbCompressedBytes" unless the stream is VBR. If negative, an error - has occured (see error codes). It is IMPORTANT that the length returned - be somehow transmitted to the decoder. Otherwise, no decoding is possible. + * "nbCompressedBytes" unless the stream is VBR. If negative, an error + * has occured (see error codes). It is IMPORTANT that the length returned + * be somehow transmitted to the decoder. Otherwise, no decoding is possible. */ EXPORT int celt_encode_float(CELTEncoder *st, const float *pcm, float *optional_synthesis, unsigned char *compressed, int nbCompressedBytes); +/** Encodes a frame of audio. + @param st Encoder state + @param pcm PCM audio in signed 16-bit format (native endian). There must be + * exactly frame_size samples per channel. The input data is + * overwritten by a copy of what the remote decoder would decode. + @param optional_synthesis If not NULL, the encoder copies the audio signal that + * the decoder would decode. It is the same as calling the + * decoder on the compressed data, just faster. + @param compressed The compressed data is written here + @param nbCompressedBytes Number of bytes to use for compressing the frame + * (can change from one frame to another) + @return Number of bytes written to "compressed". Should be the same as + * "nbCompressedBytes" unless the stream is VBR. If negative, an error + * has occured (see error codes). It is IMPORTANT that the length returned + * be somehow transmitted to the decoder. Otherwise, no decoding is possible. + */ EXPORT int celt_encode(CELTEncoder *st, const celt_int16_t *pcm, celt_int16_t *optional_synthesis, unsigned char *compressed, int nbCompressedBytes); /** Query and set encoder parameters @@ -189,10 +208,19 @@ EXPORT void celt_decoder_destroy(CELTDecoder *st); @param len Number of bytes to read from "data". This MUST be exactly the number of bytes returned by the encoder. Using a larger value WILL NOT WORK. @param pcm One frame (frame_size samples per channel) of decoded PCM will be - returned here. + returned here in float format. @return Error code. */ EXPORT int celt_decode_float(CELTDecoder *st, unsigned char *data, int len, float *pcm); +/** Decodes a frame of audio. + @param st Decoder state + @param data Compressed data produced by an encoder + @param len Number of bytes to read from "data". This MUST be exactly the number + of bytes returned by the encoder. Using a larger value WILL NOT WORK. + @param pcm One frame (frame_size samples per channel) of decoded PCM will be + returned here in 16-bit PCM format (native endian). + @return Error code. + */ EXPORT int celt_decode(CELTDecoder *st, unsigned char *data, int len, celt_int16_t *pcm); /* @} */ diff --git a/libcelt/float_cast.h b/libcelt/float_cast.h index 9e74c69..280b491 100644 --- a/libcelt/float_cast.h +++ b/libcelt/float_cast.h @@ -94,8 +94,10 @@ #else +#ifdef __GNUC__ /* supported by gcc, but not by all other compilers*/ #warning "Don't have the functions lrint() and lrintf ()." #warning "Replacing these functions with a standard C cast." +#endif /* __GNUC__ */ #include diff --git a/libcelt/modes.h b/libcelt/modes.h index 72015dd..1126e1a 100644 --- a/libcelt/modes.h +++ b/libcelt/modes.h @@ -39,7 +39,7 @@ #include "psy.h" #include "pitch.h" -#define CELT_BITSTREAM_VERSION 0x80000004 +#define CELT_BITSTREAM_VERSION 0x80000005 #ifdef STATIC_MODES #include "static_modes.h" -- cgit v1.2.3