|
FFmpeg
|
Cook compatible decoder. More...
#include "libavutil/channel_layout.h"#include "libavutil/lfg.h"#include "audiodsp.h"#include "avcodec.h"#include "get_bits.h"#include "bytestream.h"#include "fft.h"#include "internal.h"#include "sinewin.h"#include "unary.h"#include "cookdata.h"Classes | |
| struct | cook_gains |
| struct | COOKSubpacket |
| struct | cook |
Typedefs | |
| typedef struct cook_gains | cook_gains |
| typedef struct COOKSubpacket | COOKSubpacket |
| typedef struct cook | COOKContext |
Variables | |
| AVCodec | ff_cook_decoder |
Cook compatible decoder.
Bastardization of the G.722.1 standard. This decoder handles RealNetworks, RealAudio G2 data. Cook is identified by the codec name cook in RM files.
To use this decoder, a calling application must supply the extradata bytes provided from the RM container; 8+ bytes for mono streams and 16+ for stereo streams (maybe more).
Codec technicalities (all this assume a buffer length of 1024): Cook works with several different techniques to achieve its compression. In the timedomain the buffer is divided into 8 pieces and quantized. If two neighboring pieces have different quantization index a smooth quantization curve is used to get a smooth overlap between the different pieces. To get to the transformdomain Cook uses a modulated lapped transform. The transform domain has 50 subbands with 20 elements each. This means only a maximum of 50*20=1000 coefficients are used out of the 1024 available.
| AVCodec ff_cook_decoder |
1.8.12