- 14 Feb, 2017 11 commits
-
-
Timo Rothenpieler authored
-
Timo Rothenpieler authored
Thanks to Miroslav Slugeň for figuring out what was going on here.
-
Rostislav Pehlivanov authored
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
-
Rostislav Pehlivanov authored
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
-
Rostislav Pehlivanov authored
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 <atomnuker@gmail.com>
-
Rostislav Pehlivanov authored
This is meant to be applied on top of my previous patch which split PVQ into celt_pvq.c and made opus_celt.h Essentially nothing has been changed other than renaming CeltFrame to CeltBlock (CeltFrame had absolutely nothing at all to do with a frame) and CeltContext to CeltFrame. 3 variables have been put in CeltFrame as they make more sense there rather than being passed around as arguments. The coefficients have been moved to the CeltBlock structure (why the hell were they in CeltContext and not in CeltFrame??). Now the encoder would be able to use the exact context the decoder uses (plus a couple of extra fields in there). FATE passes, no slowdowns, etc. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
-
Rostislav Pehlivanov authored
A huge amount can be reused by the encoder, as the only thing which needs to be done would be to add a 10 line celt_icwrsi, a wrapper around it (celt_alg_quant) and templating the ff_celt_decode_band to replace entropy decoding functions with entropy encoding. There is no performance loss but in fact a performance gain of around 6% which is caused by the compiler being able to optimize the decoding more efficiently. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
-
Rostislav Pehlivanov authored
Handles strides (needed for Opus transients), does pre-reindexing and folding without needing a copy. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
-
Rostislav Pehlivanov authored
Mostly used the RFC document, the decoding functions and the reference encoder's implmenentation as a reference. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
-
Michael Niedermayer authored
Reported-by: SleepProgger <security@gnutp.com> Reviewed-by: Steven Liu <lingjiujianke@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-
Lou Logan authored
This feature was added in 2375a85c. Signed-off-by: Lou Logan <lou@lrcd.com>
-
- 13 Feb, 2017 11 commits
-
-
Mark Thompson authored
For use by codec implementations which can allocate frames internally.
-
Paul B Mahol authored
Previous behavior was not useful at all as such pixels where all mapped to 0. Signed-off-by: Paul B Mahol <onemda@gmail.com>
-
Paul B Mahol authored
Old behaviour was not useful at all. New behaviour only emulate old behaviour with default options. Signed-off-by: Paul B Mahol <onemda@gmail.com>
-
Lou Logan authored
Fixes ticket #6148. Signed-off-by: Lou Logan <lou@lrcd.com>
-
Alex Converse authored
A strict reading of the spec seems to imply that it should be aligned to the start of the element instance tag, but that would break all of the samples with PCEs. It seems like a well formed LATM stream should have its PCE in the ASC rather than inband. Fixes ticket 4544
-
Alex Converse authored
Quiets some log spam on pure upsampling mode. Fixes ticket 5163.
-
Alex Converse authored
This preserves sync extensions.
-
Alex Converse authored
Fixes ticket 4730
-
Timo Rothenpieler authored
-
wm4 authored
D3D9Ex uses different driver paths. This helps with "headless" configurations when no user logs in. Plain D3D9 device creation will fail if no user is logged in, while it works with D3D9Ex. Signed-off-by: Anton Khirnov <anton@khirnov.net> Merges Libav commit c2f97f05.
-
wm4 authored
This is an extended version of the AVFrame.opaque field, which can be used to attach arbitrary user information to an AVFrame. The usefulness of the opaque field is rather limited, because it can store only up to 32 bits of information (or 64 bit on 64 bit systems). It's not possible to set this field to a memory allocation, because there is no way to deallocate it correctly. The opaque_ref field circumvents this by letting the user set an AVBuffer, which makes the user data refcounted. Signed-off-by: Anton Khirnov <anton@khirnov.net> Merges Libav commit 04f3bd34.
-
- 12 Feb, 2017 8 commits
-
-
Bela Bodecs authored
hls-encoder currenlty does not provide stream level metadata to mpegts muxer. This patch fixes track #3848 bug. Signed-off-by: Bela Bodecs <bodecsb@vivanet.hu> Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
-
Josh de Kock authored
Reviewed-by: Marton Balint <cus@passwd.hu> Signed-off-by: Josh de Kock <josh@itanimul.li>
-
Michael Niedermayer authored
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-
Jan Ekström authored
This enables having multiple tracks of the same type which would be treated as different things by the media server (as opposed to different bit rate versions of the same track). According to the smooth streaming specification, just setting the systemLanguage tag is not enough to note that a track with the same attributes differs from another one. Reviewed-by: Martin Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-
Carl Eugen Hoyos authored
Silences an "assignment discards ‘const’ qualifier" warning. Reviewed-by: Marton Balint
-
Paul B Mahol authored
This is apparently same as no compression. Signed-off-by: Paul B Mahol <onemda@gmail.com>
-
Paul B Mahol authored
Signed-off-by: Paul B Mahol <onemda@gmail.com>
-
Paul B Mahol authored
Signed-off-by: Paul B Mahol <onemda@gmail.com>
-
- 11 Feb, 2017 10 commits
-
-
Paul B Mahol authored
Signed-off-by: Paul B Mahol <onemda@gmail.com>
-
Paul B Mahol authored
Signed-off-by: Paul B Mahol <onemda@gmail.com>
-
Paul B Mahol authored
Signed-off-by: Paul B Mahol <onemda@gmail.com>
-
Carl Eugen Hoyos authored
-
Carl Eugen Hoyos authored
-
Carl Eugen Hoyos authored
Silences an "assignment discards ‘const’ qualifier" warning.
-
Carl Eugen Hoyos authored
Silences an "assignment discards ‘const’ qualifier" warning.
-
Carl Eugen Hoyos authored
-
Paul B Mahol authored
Only lossy part is decoded for now. Signed-off-by: Paul B Mahol <onemda@gmail.com>
-
Steven Liu authored
When user use the hls_wrap, there have many problem: 1. some platform refersh the old but usefull segment 2. CDN(Content Delivery Network) Deliver HLS not friendly The hls_wrap is used to wrap segments for use little space, now user can use hls_list_size and hls_flags delete_segments instead it. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Reviewed-by: Carl Eugen Hoyos <ceffmpeg@gmail.com> Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
-