On 11 February 2017 at 00:25, Rostislav Pehlivanov <atomnu...@gmail.com> wrote:
> This marks the first time anyone has written an Opus encoder without > using any libopus code. The aim of the encoder is to prove how far > the format can go by writing the craziest encoder for it. > > Right now the encoder's basic, it only supports CBR encoding, however > internally every single feature the CELT layer has is implemented > (except the pitch pre-filter which needs to work well with the rest of > whatever gets implemented). Psychoacoustic and rate control systems are > under development. > > The encoder takes in frames of 120 samples and depending on the value of > opus_delay the plan is to use the extra buffered frames as lookahead. > Right now the encoder will pick the nearest largest legal frame size and > won't use the lookahead, but that'll change once there's a > psychoacoustic system. > > Even though its a pretty basic encoder its already outperforming > any other native encoder FFmpeg has by a huge amount. > > The PVQ search algorithm is faster and more accurate than libopus's > algorithm so the encoder's performance is close to that of libopus > at zero complexity (libopus has more SIMD). > The algorithm might be ported to libopus or other codecs using PVQ in > the future. > > The encoder still has a few minor bugs, like desyncs at ultra low > bitrates (below 9kbps with 20ms frames). > > Signed-off-by: Rostislav Pehlivanov <atomnu...@gmail.com> > --- > > I don't free the frame and rc pointers from the main encoder struct on exit, fixed locally. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel