1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-02-14 22:22:59 +02:00
FFmpeg/libavcodec
Lynne 6b22e28f4c opusdsp: adjust and optimize C function to match assembly
The C and asm versions behaved differently _outside_ of the codec.

The C version returned pre-multiplied 'state' for the next execution
to use right away, while the assembly version outputted non-multiplied
'state' for the next execution to multiply to save instructions.
Since the initial state when initialized or seeking is always 0,
and since C and asm versions were never mixed, there was no issue.

However, comparing outputs directly in checkasm doesn't work without
dividing the initial state by CELT_EMPH_COEFF and multiplying the
returned state by CELT_EMPH_COEFF for the assembly function.

Since its actually faster to do this in C as well, copy the behavior the
asm versions use. As a reminder, the initial state 0 is divided by
CELT_EMPH_COEFF on seek and init (just in case in the future this is
changed, its technically more correct to init with CELT_EMPH_COEFF than 0,
however when seeking this will result in more audiable pops, unlike with 0
where the output gets in sync over a few samples).
2019-09-11 03:28:22 +01:00
..
2019-07-25 15:13:09 +01:00
2019-08-26 10:36:40 +02:00
2019-08-29 21:04:54 +02:00
2019-08-29 21:04:54 +02:00
2019-08-22 21:38:41 +02:00
2019-07-29 22:25:10 +01:00
2019-07-29 22:25:10 +01:00
2019-07-29 22:25:10 +01:00
2019-07-29 22:25:10 +01:00
2019-07-29 22:25:10 +01:00
2019-07-29 22:25:10 +01:00
2019-08-29 21:04:54 +02:00
2019-08-11 19:13:21 +02:00
2019-08-29 21:04:54 +02:00
2019-08-29 15:57:54 +02:00
2019-08-23 10:56:34 -07:00
2019-08-15 01:26:21 +02:00
2019-08-11 19:13:21 +02:00
2019-09-02 13:46:11 -07:00
2019-09-06 22:26:55 +02:00
2019-08-20 13:34:04 +08:00
2019-08-23 22:24:07 +02:00
2019-09-02 09:26:53 +02:00
2019-07-28 22:34:26 +01:00
2019-08-22 18:35:44 +02:00
2019-08-22 18:35:44 +02:00
2019-08-22 18:35:44 +02:00
2019-09-05 19:45:53 +02:00