On Wed, Aug 23, 2017 at 10:11:50AM +0200, Tomas Härdin wrote:
> On 2017-08-22 03:23, Tyler Jones wrote:
> > +
> > +/**
> > + * Calculate the variance of a block of samples
> > + *
> > + * @param in Array of input samples
> > + * @param length
On Wed, Aug 23, 2017 at 10:31:58AM +0200, Tomas Härdin wrote:
> On 2017-08-22 03:23, Tyler Jones wrote:
> > +static int create_residues(vorbis_enc_context *venc)
> > +{
> > +int res, ret;
> > +vorbis_enc_residue *rc;
> > +
> > +venc->nresidues
Signed-off-by: Tyler Jones
---
This patch applies cleanly onto "[PATCH 6/6] avcodec/vorbisenc: Add support
for mono streams".
libavcodec/vorbis_enc_data.h | 20 ++--
libavcodec/vorbisenc.c | 43 +--
libavcodec/vorbisenc.h
Encoder structures are moved to a separate header file to improve
readability.
Signed-off-by: Tyler Jones
---
libavcodec/vorbisenc.c | 118 +---
libavcodec/vorbisenc.h | 145 +
2 files changed, 146 insertions
lengths
so that values are partitioned correctly for transient frames.
Signed-off-by: Tyler Jones
---
V4: No changes
V3: Switch 'bits[p] == 0' to '!bits[p]' in vlc gen
V2: Fix double arithmetic in window scale
libavcodec/vorbis.c | 10 +-
libavcodec/vor
likely to be noticeable when
relatively quiet audio is followed by a loud transient signal.
Signed-off-by: Tyler Jones
---
V4: Use AVFloatDSPContext for variance calculation
Correctly change quality factors to const
Remove unnecessary malloc and free for VorbisPsyContext
V3: Use normal float
Signed-off-by: Tyler Jones
---
libavcodec/vorbis_enc_data.h | 245 ++-
libavcodec/vorbisenc.c | 46
2 files changed, 267 insertions(+), 24 deletions(-)
diff --git a/libavcodec/vorbis_enc_data.h b/libavcodec/vorbis_enc_data.h
index
The settings used for initializing the floor and residue codebooks are
separated so that they aren't coupled for later changes for arbitrary
channel configurations.
Signed-off-by: Tyler Jones
---
libavcodec/vorbis_enc_data.h | 112 ++---
libavcodec/vorbis
Clipping is avoided by taking the maximum value of each frame before
window application, and scaling down the entire frame by a scalar
factor.
Signed-off-by: Tyler Jones
---
libavcodec/vorbisenc.c | 8
libavcodec/vorbispsy.c | 17 +
libavcodec/vorbispsy.h | 10
advance.
Tyler Jones (5):
avcodec/vorbisenc: Add pre-echo detection
V4: Use AVFloatDSPContext for variance calculation
Correctly change quality factors to const
Remove unnecessary malloc and free for VorbisPsyContext
V3: Use normal float notation
Don't check before fr
lengths
so that values are partitioned correctly for transient frames.
Signed-off-by: Tyler Jones
---
V4: No changes
V3: Switch 'bits[p] == 0' to '!bits[p]' in vlc gen
V2: Fix double arithmetic in window scale
libavcodec/vorbis.c | 10 +-
libavcodec/vor
likely to be noticeable when
relatively quiet audio is followed by a loud transient signal.
Signed-off-by: Tyler Jones
---
V4: Use AVFloatDSPContext for variance calculation
Correctly change quality factors to const
Remove unnecessary malloc and free for VorbisPsyContext
V3: Use normal float
> > +av_cold int ff_psy_vorbis_init(VorbisPsyContext *vpctx, int sample_rate,
> > + int channels, int blocks)
> > +{
> > +int crit_freq;
> > +float Q[2] = {.54, 1.31}; // Quality values for maximally flat
> > cascaded filters
>
> const float Q[2]
Fixed.
Thank you for catching these mistakes and providing suggestions. A new version
of this patch will be sent soon.
Thanks again,
Tyler Jones
signature.asc
Description: PGP signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
lengths
so that values are partitioned correctly for transient frames.
Signed-off-by: Tyler Jones
---
V3: Switch 'bits[p] == 0' to '!bits[p]' in vlc gen
V2: Fix double arithmetic in window scale
libavcodec/vorbis.c | 10 +-
libavcodec/vor
likely to be noticeable when
relatively quiet audio is followed by a loud transient signal.
Signed-off-by: Tyler Jones
---
V3: Use normal float notation
Don't check before freeing NULL pointers
Remove unnecessary includes
V2: Provide proper prefix for non-static function
libav
On Wed, Jul 26, 2017 at 12:51:31AM +0100, Rostislav Pehlivanov wrote:
> On 17 July 2017 at 16:17, Tyler Jones wrote:
>
> > +float last_var;
> > +const float eps = 1e-4;
> >
>
> Use normal notation for floats and add an f at the end to inform the
>
On Wed, Jul 26, 2017 at 01:01:00AM +0100, Rostislav Pehlivanov wrote:
> On 12 July 2017 at 23:18, Tyler Jones wrote:
>
> >
> > diff --git a/libavcodec/vorbis.c b/libavcodec/vorbis.c
> > index 399020e..8befab8 100644
> > --- a/libavcodec/vorbis.c
> > +++ b/li
On Mon, Jul 24, 2017 at 02:54:01AM +0200, Carl Eugen Hoyos wrote:
> 2017-07-24 2:46 GMT+02:00 Tyler Jones :
> > On Mon, Jul 24, 2017 at 01:52:20AM +0200, Carl Eugen Hoyos wrote:
> >> 2017-07-24 0:33 GMT+02:00 Tyler Jones :
> >> > Vorbis I specification requires that
On Mon, Jul 24, 2017 at 01:52:20AM +0200, Carl Eugen Hoyos wrote:
> 2017-07-24 0:33 GMT+02:00 Tyler Jones :
> > Vorbis I specification requires that the version number as well as the
> > window and transform types in the setup header be equal to 0.
> >
> >
Vorbis I specification requires that the version number as well as the
window and transform types in the setup header be equal to 0.
Signed-off-by: Tyler Jones
---
libavcodec/vorbisdec.c | 18 +++---
1 file changed, 15 insertions(+), 3 deletions(-)
diff --git a/libavcodec
On Mon, Jul 17, 2017 at 09:17:09AM -0600, Tyler Jones wrote:
> The encoder will attempt to determine the existence of transient
> signals by applying a 4th order highpass filter to remove dominant
> low frequency waveforms. Frames are then split up into blocks
> where the variance i
likely to be noticeable when
relatively quiet audio is followed by a loud transient signal.
Signed-off-by: Tyler Jones
---
V2 - Properly prefix non-static functions with "ff_"
libavcodec/Makefile| 2 +-
libavcodec/vorbisenc.c | 28 +++--
libavcodec/vorbisp
lengths
so that values are partitioned correctly for transient frames.
Signed-off-by: Tyler Jones
---
V2 -- Remove double arithmetic in window scale constant
libavcodec/vorbis.c | 10 +-
libavcodec/vorbis_enc_data.h | 289 +++--
libavcodec/vorbisenc.c
On Fri, Jul 14, 2017 at 12:43:26AM +0200, Michael Niedermayer wrote:
> On Wed, Jul 12, 2017 at 04:18:06PM -0600, Tyler Jones wrote:
> [...]
>
>
> > +av_cold int psy_vorbis_init(VorbisPsyContext *vpctx, int sample_rate,
> > +int channels, int
On Thu, Jul 13, 2017 at 03:50:13PM +0200, Moritz Barsnick wrote:
> On Wed, Jul 12, 2017 at 16:18:20 -0600, Tyler Jones wrote:
> > -int window_len = 1 << (venc->log2_blocksize[1] - 1);
> > -float n = (float)(1 << venc->log2_blocksize[1]) / 4.0;
> > +
lengths
so that values are partitioned correctly for transient frames.
Signed-off-by: Tyler Jones
---
libavcodec/vorbis.c | 10 +-
libavcodec/vorbis_enc_data.h | 289 +++--
libavcodec/vorbisenc.c | 422 ++-
tests/fate
likely to be noticeable when
relatively quiet audio is followed by a loud transient signal.
Signed-off-by: Tyler Jones
---
libavcodec/Makefile| 2 +-
libavcodec/vorbisenc.c | 28 +++--
libavcodec/vorbispsy.c | 153 +
libavcodec/vorbispsy.h
Each frame is now padded with 0 values if not enough samples are
present, and all frames are guaranteed to have exactly
1 << (venc->log2_blocksize[1] - 1) samples.
Signed-off-by: Tyler Jones
---
libavcodec/vorbisenc.c | 33 -
1 file changed, 16 insertio
Usage of blocksize, window, mode, and mdct indexes are switched from
default 0 to a default of 1 to better align with specs. A flag of 0
should correspond with short windows, a flag of 1 with long.
Signed-off-by: Tyler Jones
---
libavcodec/vorbisenc.c | 25 ++---
1 file
.
This improves readability when applying windows of varying lengths.
Signed-off-by: Tyler Jones
---
libavcodec/vorbisenc.c | 76 +-
1 file changed, 32 insertions(+), 44 deletions(-)
diff --git a/libavcodec/vorbisenc.c b/libavcodec/vorbisenc.c
index
Switches temporary samples for processing to be stored in the encoder's
context, avoids memory leaks if any errors occur while encoding a frame.
Fixes CID1412026
Signed-off-by: Tyler Jones
---
libavcodec/vorbisenc.c | 49 -
1 file change
Switching the vorbis encoder to use a buffer queue for input frames allows
saving lookahead samples more easily and safely for psychoacoustic systems,
requiring less pointer arithmetic in the case of transient windows.
---
libavcodec/vorbisenc.c | 120 +++---
---
libavcodec/vorbisenc.c | 10 ++
1 file changed, 10 insertions(+)
diff --git a/libavcodec/vorbisenc.c b/libavcodec/vorbisenc.c
index 2974ca2..fdce864 100644
--- a/libavcodec/vorbisenc.c
+++ b/libavcodec/vorbisenc.c
@@ -33,6 +33,9 @@
#include "vorbis.h"
#include "vorbis_enc_data.h"
Signed-off-by: Tyler Jones
---
libavcodec/vorbisenc.c | 31 +--
1 file changed, 25 insertions(+), 6 deletions(-)
diff --git a/libavcodec/vorbisenc.c b/libavcodec/vorbisenc.c
index 2974ca2..7c3cd51 100644
--- a/libavcodec/vorbisenc.c
+++ b/libavcodec/vorbisenc.c
Using fdsp improves readability and allows using architecture-specific
optimizations.
Signed-off-by: Tyler Jones
---
libavcodec/vorbisenc.c | 16 +---
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/libavcodec/vorbisenc.c b/libavcodec/vorbisenc.c
index 7c3cd51..1777a49
. Window
size is currently only assumed to be 1024 with the vorbis encoder. This is
part of a GSoC qualification task.
Signed-off-by: Tyler Jones
---
libavcodec/vorbis_enc_data.h | 108 +++
1 file changed, 108 insertions(+)
diff --git a/libavcodec
occur with this
codec.
Signed-off-by: Tyler Jones
---
libavcodec/psymodel.c | 1 +
libavcodec/vorbisenc.c | 60 ++
2 files changed, 61 insertions(+)
diff --git a/libavcodec/psymodel.c b/libavcodec/psymodel.c
index 2b5f111..38831ce 100644
--- a
37 matches
Mail list logo