Age | Commit message (Collapse) | Author |
|
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
|
|
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
This removes some code apparently left over from vlc reader
debugging.
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
This moves the mbs_per_slice declaration inside the only loop
where it is used. Fixes a dead assignment.
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
ff_wma_init is used only by wmadec and wmaenc, and neither of them
can handle more than 2 channels.
This fixes crashes with invalid files.
Based on patch by Piotr Bandurski and Michael Niedermayer.
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
This creates proper position independent code when accessing
data symbols if CONFIG_PIC is set.
References to external symbols should now use the movrelx macro.
Some additional code changes are required since this macro may
need a register to hold the GOT pointer.
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
|
|
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
This gets rid of a variable-length array and a for loop in C code.
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
The problem is that the ssse3 psign instruction does the wrong
thing here. Commit ea60dfe incorrectly removed a macro emulating
this instruction for pre-ssse3 code. However, the emulation is
incorrect, and the code relies on the behaviour of the macro.
Specifically, the psign sets destination elements to zero where
the corresponding source element is zero, whereas the emulation
only negates destination elements where the source is negative.
Furthermore, the PSIGNW_MMX macro in x86util.asm is totally bogus,
which is why the original VC-1 code had an additional right shift
when using it. Since the psign instruction cannot be used here,
skip all the macro hell and use the working instruction sequence
directly.
None of this was noticed due a stray return statement in
ff_vc1dsp_init_mmx() which meant that only the mmx version of the
loop filter was ever used (before being removed in ea60dfe).
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
|
|
|
|
The function call was a mess to handle, and memcpy cannot make
the assumptions we do in the new code.
Tested on an IMC sample: 430c -> 370c.
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
Apparently, some build environments require dxva.h even for dxva2,
while others lack this header entirely. Including it conditionally
allows building in both cases.
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
The MBAFF flag may only be signaled if we're actually dealing with
a full frame, and not singular fields, as it can happen in mixed content.
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
In a 64-bit PIC build, external functions must be called
through the PLT.
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
|
|
|
|
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
This removes a dependency on implementation details from generic
code and allows easy addition of the equivalent optimisation for
other architectures than x86.
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
|
|
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
|
|
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
|
|
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
|
|
|
|
Add -D_XOPEN_SOURCE=600 to host cflags to make the constants in math.h
available. Include math.h where necessary and remove redundant M_PI
defines.
|
|
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
Its documentation states that it is allocated/freed by the caller, but
it is declared as an AV_OPT_TYPE_STRING AVOption. Since
367732832faaf1bac4ece37cf7fef8c911e16312 the AVOptions system frees
strings automatically. This can be considered an API break, since it
won't work when the caller doesn't use av_malloc() to allocate the
memory or wants to use the string after closing the codec.
Since there is not much value in this field being an AVOption, the best
solution is to remove it from the options table.
|
|
|
|
'channel_layout' not 'channels' from the stored configuration should go
to AVCodecContext's 'channel_layout'.
|
|
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
|
|
|
|
Add a note that pkt->data and pkt->size must be initialized.
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
|
|
The library is 3-clause BSD licensed.
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
2x speedup of surround decoding on Cortex-A9.
Signed-off-by: Mans Rullgard <mans@mansr.com>
|