Fixes a case where multichannel bitrate isn't accurately
targetted by psy model alone, never achieving the target bitrate.
Now fixed.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
When decoding succeeded the array is copied into the permanent one.
This prevents inconsistencies
Fixes assertion failure
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
The reimplementation by Libav does not prevent out of array
writes, even though it looks like it does at a quick glance.
No FFmpeg releases are affected by this
See: d1c95d2ce33623589edc740ebe468c
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
If no decoding error was detected, but still no audio was decoded, the
frame needs to be free'ed, or it will leak.
Fixes part of ticket #2095
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
The specification wants round(abs(x))) * sign(x) which is
equivakent to round(x)
Fixes out of array access
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Fixes out of array accesses
No release is affected by this bug
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This patch can be controversial, by assuming floats are IEEE-754 and
particular behaviour of the FPU will get in the way.
Timing on Arrandale and Win32 (thus, x87 FPU is used in the reference).
sbr_qmf_pre_shuffle_c: 115 to 76
sbr_neg_odd_64_c: 84 to 55
sbr_qmf_post_shuffle_c: 112 to 83
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Sandybridge: 47 cycles
Having a loop counter is a 7 cycle gain.
Unrolling is another 7 cycle gain.
Working in reverse scan is another 6 cycles.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
* commit 'accde1bd8756936e1757b42fc9bad2eb5d192f8a':
vc1_parser: Set field_order.
mpegvideo_parser: Set field_order.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '507b1e454cf9953da3e18f33c9bd1fca78c97cb5':
avcodec: Add field order information to AVCodecParserContext.
Conflicts:
doc/APIchanges
libavcodec/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '803d21f38bdafe7c4e2571a9ae7052013a12923b':
lavc: schedule AVCodecContext.lowres for removal on next bump.
Conflicts:
libavcodec/avcodec.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'bf7c3c6b157f7938578f964b62cffd5e504940be':
x86: dsputil: Move cavs and vc1-specific functions where they belong
Conflicts:
libavcodec/x86/dsputil_mmx.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '932806232108872655556100011fe369125805d3':
x86: dsputil: Move avg_pixels16_mmx() out of rnd_template.c
x86: dsputil: Move avg_pixels8_mmx() out of rnd_template.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '9b3a04d30691e85b77e63f75f5f26a93c3a000cd':
x86: Move duplicated put_pixels{8|16}_mmx functions into their own file
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This fixes video output with samples HG060808.VMD and
HG060810.VMD. Regression since c0cbe36b18.
While here show warning if decoding is aborted for some reason.
Signed-off-by: Paul B Mahol <onemda@gmail.com>