- 31 Dec, 2015 1 commit
-
-
Alexandra Hájková authored
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
-
- 30 Dec, 2015 1 commit
-
-
Janne Grunau authored
Intel's Instruction Set Reference (as of September 2015) clearly states that cvtpi2ps switches to MMX state. Actual CPUs do not switch if the source is a memory location. The Instruction Set Reference from 1999 (Order Number 243191) describes this behaviour but all later versions I've seen have make no distinction whether MMX registers or memory is used as source. The documentation for the matching SSE2 instruction to convert to double (cvtpi2pd) was fixed (see the valgrind bug https://bugs.kde.org/show_bug.cgi?id=210264). It will take time to get a clarification and fixes in place. In the meantime it makes sense to change ff_int32_to_float_fmul_scalar_sse to be correct according to the documentation. The vast majority of users will have SSE2 so a change to the SSE version has little effect. Fixes fate-checkasm on x86 valgrind targets. Valgrind 'bug' reported as https://bugs.kde.org/show_bug.cgi?id=357059
-
- 29 Dec, 2015 2 commits
-
-
Janne Grunau authored
Check the full FPU tag word instead of only the lower half and simplify the comparison. Use upper-case function base name as macro name to instantiate both checked_call variants.
-
Janne Grunau authored
This reverts commit 5dfe4eda.
-
- 26 Dec, 2015 2 commits
-
-
Diego Biurrun authored
-
Diego Biurrun authored
-
- 24 Dec, 2015 1 commit
-
-
Alexandra Hájková authored
They were superseded with their integer equivalents. Rename integer decode_hf to decode_hf.
-
- 23 Dec, 2015 2 commits
-
-
Alexandra Hájková authored
The DCA core decoder converts integer coefficients read from the bitstream to floats just after reading them (along with dequantization). All the other steps of the audio reconstruction are done with floats which makes the output for the DTS lossless extension (XLL) actually lossy. This patch changes the DCA core to work with integer coefficients until QMF. At this point the integer coefficients are converted to floats. The coefficients for the LFE channel (lfe_data) are not touched. This is the first step for the really lossless XLL decoding.
-
Alexandra Hájková authored
They will be used by the integer core decoder.
-
- 21 Dec, 2015 6 commits
-
-
Janne Grunau authored
-
Janne Grunau authored
-
Janne Grunau authored
-
Janne Grunau authored
-
Janne Grunau authored
Not every asm routine is expected clear the MMX state after returning. It is however a requisite for testing floating point code in checkasm. Annotate functions requiring cleanup with declare_func_emms() and issue emms after the call. The remaining functions are checked for having a cleared MMX state after return.
-
Janne Grunau authored
Fix related register order issue in ff_h264_idct_add_neon. Found-by: zjh8890 <243186085@qq.com>
-
- 16 Dec, 2015 2 commits
-
-
Andreas Cadhalpun authored
This macro unconditionally used out[-1], which causes an out of bounds read, if out is the very beginning of the buffer. Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
-
Andreas Cadhalpun authored
Due to this typo max_center can be too large, causing nlsf to be set to too large values, which in turn can cause nlsf[i - 1] + min_delta[i] to overflow to a negative value, which is not allowed for nlsf and can cause an out of bounds read in silk_lsf2lpc. Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
-
- 14 Dec, 2015 11 commits
-
-
Janne Grunau authored
Quite a bit faster than int32_to_float_fmul_array8_c calling ff_int32_to_float_fmul_scalar_neon through FmtConvertContext. Number of cycles per int32_to_float_fmul_array8 call while decoding padded.dts on exynos5422: before after change cortex-a7: 1270 951 -25% cortex-a15: 434 285 -34% checkasm --bench cycle counts: cortex-a15 cortex-a7 int32_to_float_fmul_array8_c: 1730.4 4384.5 int32_to_float_fmul_array8_neon_c: 571.5 1694.3 int32_to_float_fmul_array8_neon: 374.0 1448.8 Interesting are the differences between int32_to_float_fmul_array8_neon_c and int32_to_float_fmul_array8_neon. The former is current behaviour of calling ff_int32_to_float_fmul_scalar_neon repeatedly from the c function, The raw numbers differ since checkasm uses different lengths than the dca decoder.
-
Janne Grunau authored
3% faster dts decoding on a cortex-a57. cortex-a57 cortex-a53 int32_to_float_fmul_array8_c: 1270.9 4475.6 int32_to_float_fmul_array8_neon: 328.6 569.2 int32_to_float_fmul_scalar_c: 928.5 4119.6 int32_to_float_fmul_scalar_neon: 309.1 524.1
-
Janne Grunau authored
~25% faster dts decoding overall. The checkasm CPU cycles numbers are not that useful since synth_filter_float() calls FFTContext.imdct_half(). cortex-a57 cortex-a53 synth_filter_float_c: 1866.2 3490.9 synth_filter_float_neon: 915.0 1531.5 With fftc.imdct_half forced to imdct_half_neon: cortex-a57 cortex-a53 synth_filter_float_c: 1718.4 3025.3 synth_filter_float_neon: 926.2 1530.1
-
Janne Grunau authored
~2% faster dts decoding overall. cortex-a57 cortex-a53 dca_decode_hf_c: 474.8 1659.9 dca_decode_hf_neon: 225.2 301.1 dca_lfe_fir0_c: 913.2 1537.7 dca_lfe_fir0_neon: 286.8 451.9 dca_lfe_fir1_c: 848.7 1711.5 dca_lfe_fir1_neon: 387.1 506.4
-
Janne Grunau authored
The vector mode was deprecated in ARMv7-A/VFPv3 and various cpu implementations do not support it in hardware. Vector mode code will depending the OS either be emulated in software or result in an illegal instruction on cpus which does not support it. This was not really problem in practice since NEON implementations of the same functions are preferred. It will however become a problem for checkasm which tests every cpu flag separately. Since this is a cpu feature newer cpu do not support anymore the behaviour of this flag differs from the other flags. It can be only activated by runtime cpu feature selection.
-
Janne Grunau authored
-
Janne Grunau authored
The ISB (instruction synchronization barrier) might be too heavy for START/STOPTIMER use but should be more accurate in checkasm where the timing overhead is subtracted.
-
Janne Grunau authored
Include macros.h explicitly in common.h so that external code using FFALIGN does not break. It was already implicitly included through version.h. Include macros.h in lls.h and internal.h for FFALIGN. lls.h was including common.h only for FFALIGN and internal.h was missing the include for FFALIGN. `make checkheaders` did not catch it because it's an internal header.
-
Stefan Pöschel authored
So far an AC-3 elementary stream is refered to in the PMT according to System A (ATSC). However System B (DVB) has a different way to signal an AC-3 ES within the PMT. This different way can be enabled by a new flag. The flag is more generally named 'system_b' as there are further differences between ATSC and DVB (e.g. the signalling of E-AC-3) which should then also be covered by it in the future. Bug-Id: 73 Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
-
Kip Warner authored
That buffer is read only and marking it accordingly let the user passing a constant buffer to it without having a const-correctness warning. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
-
Anton Khirnov authored
-
- 13 Dec, 2015 1 commit
-
-
Martin Storsjö authored
This matches what librtmp does. This fixes automatic url parsing of crunchyroll urls. Signed-off-by: Martin Storsjö <martin@martin.st>
-
- 12 Dec, 2015 11 commits
-
-
Anton Khirnov authored
The stream parameters are not known until we read a packet, so postpone creating it until then.
-
Anton Khirnov authored
-
Anton Khirnov authored
The current muxer behaviour is to create streams in read_header() based on the audio/video presence flags, but fill in the stream parameters later when we actually get some packets for them. This is rather shady, since other demuxers set the stream parameters immediately when the stream is created and do not touch the stream codec context after that. Change the flv demuxer to behave in the same way as other similar demuxers -- create the streams only when we get a packet for them.
-
Anton Khirnov authored
It's not used by anything outside of lavc anymore.
-
Anton Khirnov authored
The latter does not require a full AVCodecContext and still provides all the functionality needed here.
-
Anton Khirnov authored
Almost all the places from which this function is called already check the header manually and in the two that don't (the mp3 muxer) the check should not cause any problems.
-
Anton Khirnov authored
-
Anton Khirnov authored
The profiles are a property of the codec, so it makes sense to export them through AVCodecDescriptors, not just the codec implementations.
-
Anton Khirnov authored
-
Anton Khirnov authored
-
Anton Khirnov authored
It will not be set unless the muxing codec context is also the encoding context, which is discouraged. When the frame size is not known from av_get_audio_frame_duration(), the fallback should still be good enough.
-