Commit Graph

60994 Commits

Author SHA1 Message Date
Michael Niedermayer e4a6310cce update for 2.2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-01 03:34:59 +01:00
Michael Niedermayer 0a8c90202b avcodec/utvideoenc: fix slice_bits size
Fixes assertion failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-01 02:57:15 +01:00
Michael Niedermayer 0c9dd939cd avformat/ac3dec: Use avpriv_ac3_parse_header2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-01 01:56:25 +01:00
Michael Niedermayer eadc21cfe7 avcodec/ac3_parser: add avpriv_ac3_parse_header2() and use it in libavcodec
The new function has the ability to allocate the structure, allowing it to grow
without needing major bumps

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-01 01:51:01 +01:00
Michael Niedermayer df6d21c1e7 avcodec/ac3: move new field to the end of AC3HeaderInfo
This structure is used in the interface between libs and thus cannot have
fields added in the middle without major bump

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-01 01:45:49 +01:00
Michael Niedermayer 52d928daf9 avutil/opt: allow max=min=0 for pixel formats
This is neccessary for maintaining ABI compatibility with FFmpeg 2.1

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-01 00:31:38 +01:00
Michael Niedermayer d46c3b8171 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  latm: Always reconfigure if no extradata was set previously

See: d039b6074c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-28 22:40:58 +01:00
Michael Niedermayer fe6603745e Merge commit '6e4009d4cdf5927bdaedf58fcfc5e813b14c366b'
* commit '6e4009d4cdf5927bdaedf58fcfc5e813b14c366b':
  arm: dcadsp: implement decode_hf as external NEON asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-28 21:52:25 +01:00
Michael Niedermayer fb3c33f3cd Merge commit '4cb6964244fd6c099383d8b7e99731e72cc844b9'
* commit '4cb6964244fd6c099383d8b7e99731e72cc844b9':
  dcadec: simplify decoding of VQ high frequencies

Conflicts:
	configure
	libavcodec/dcadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-28 21:41:19 +01:00
Michael Niedermayer ffb7d7195b avcodec/dcadec: use brackets to ensure that no slow division is used
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-28 21:32:24 +01:00
Michael Niedermayer 747b0337e7 Merge commit '7686afd049be98d18663682b92d983340fa2c305'
* commit '7686afd049be98d18663682b92d983340fa2c305':
  dca: factorize scaling in inverse ADPCM

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-28 21:32:14 +01:00
Michael Niedermayer baf3adc621 Merge commit '08e3ea60ff4059341b74be04a428a38f7c3630b0'
* commit '08e3ea60ff4059341b74be04a428a38f7c3630b0':
  x86: synth filter float: implement SSE2 version

Conflicts:
	libavcodec/x86/dcadsp.asm
	libavcodec/x86/dcadsp_init.c

See: 2cdbcc0048
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-28 20:38:39 +01:00
Christophe Gisquet 2cdbcc0048 x86: synth filter float: implement SSE2 version
Timings for Arrandale:
          C    SSE
win32:  2108   334
win64:  1152   322

Factorizing the inner loop with a call/jmp is a >15 cycles cost, even with
the jmp destination being aligned.

Unrolling for ARCH_X86_64 is a 20 cycles gain.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-28 20:34:40 +01:00
Michael Niedermayer 5333e0dd66 Merge commit '57b1eb9f75b04571063ddec316e290c216c114ac'
* commit '57b1eb9f75b04571063ddec316e290c216c114ac':
  dcadsp: scan coefficients linearly in dca_lfe_fir

Conflicts:
	libavcodec/dcadsp.c

See: 9ae8e23188
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-28 19:40:40 +01:00
Michael Niedermayer e346a59383 Merge commit 'ad507d7907457e678900bac132122ba7be4644cb'
* commit 'ad507d7907457e678900bac132122ba7be4644cb':
  x86: dcadsp: implement SSE lfe_dir

Conflicts:
	libavcodec/x86/dcadsp.asm

See: 169243112c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-28 19:22:00 +01:00
Christophe Gisquet 169243112c x86: dcadsp: implement SSE lfe_dir
Results for Arrandale/Windows:
32: 1670 -> 316
64:  728 -> 298

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-28 19:20:03 +01:00
Michael Niedermayer 90f674d55b Merge commit '87ec849fe9acba075c843e67bcd01f256f481a18'
* commit '87ec849fe9acba075c843e67bcd01f256f481a18':
  dcadec: remove scaling in lfe_interpolation_fir

Conflicts:
	libavcodec/dcadec.c
	libavcodec/dcadsp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-28 18:14:12 +01:00
Michael Niedermayer 810eb285e3 Merge commit 'a55546f48d55e3d1155840541b2be5f4f8cf18ab'
* commit 'a55546f48d55e3d1155840541b2be5f4f8cf18ab':
  proresenc: Reuse proper dsputil infrastructure for FDCT

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-28 18:06:12 +01:00
Michael Niedermayer 2e88f82a8a Merge commit '92e598a57a7ce4b8ac9ea56274af39f5fd888311'
* commit '92e598a57a7ce4b8ac9ea56274af39f5fd888311':
  prores: Drop DSP infrastructure for prores encoder bits

Conflicts:
	libavcodec/Makefile
	libavcodec/proresdsp.c
	libavcodec/proresenc_kostya.c

Note, these changes only affect one of the 2 prores encoders we have
If someone wants to add optimizations to the affected encoder, or needs/wants
this infrastructure, then iam happy to revert this

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-28 18:02:00 +01:00
Michael Niedermayer 18d870da83 Merge commit 'd6acefe05862af244fd5a30ae946ed507c063994'
* commit 'd6acefe05862af244fd5a30ae946ed507c063994':
  proresenc: Drop unnecessary DCT permutation bits

Conflicts:
	libavcodec/proresenc_kostya.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-28 17:26:37 +01:00
Michael Niedermayer 5ba1648318 Merge commit 'b23650491fbd579a4365f42bd42575afb7b53f7e'
* commit 'b23650491fbd579a4365f42bd42575afb7b53f7e':
  prores: Use consistent names for DSP arch initialization functions

Conflicts:
	libavcodec/proresdsp.c
	libavcodec/proresdsp.h
	libavcodec/x86/proresdsp_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-28 17:13:00 +01:00
Hendrik Leppkes 3aca10bf76 latm: Always reconfigure if no extradata was set previously
AAC LOAS can have new audio config objects in the stream itself.

Make sure the decoder reconfigures itself when the first one arrives
midstream.

Bug-Id: 644
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-02-28 14:51:20 +01:00
Michael Niedermayer f3eef02746 avcodec/msvideo1: Fix palette in case of seek before decode
Fixes Ticket3212

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-28 13:20:22 +01:00
Janne Grunau 6e4009d4cd arm: dcadsp: implement decode_hf as external NEON asm 2014-02-28 13:12:19 +01:00
Christophe Gisquet 4cb6964244 dcadec: simplify decoding of VQ high frequencies
The vector dequantization has a test in a loop preventing effective SIMD
implementation. By moving it out of the loop, this loop can be DSPized.

Therefore, modify the current DSP implementation. In particular, the
DSP implementation no longer has to handle null loop sizes.

The decode_hf implementations have following timings:

For x86 Arrandale:
        C  SSE SSE2 SSE4
win32: 260 162  119  104
win64: 242 N/A   89   72

The arm NEON optimizations follow in a later patch as external asm. The
now unused check for the y modifier in arm inline asm is removed from
configure.
2014-02-28 13:03:22 +01:00
Janne Grunau 7686afd049 dca: factorize scaling in inverse ADPCM
Based on a patch from Christophe Gisquet.

Unrolling of the m == 0 case avoids a possible use of the uninitilized
value sum when s->predictor_history is not set. I failed to find a
sample for it. It also reduced the cycle count from 220 to 150 on
sandy bridge, x86_64 linux, gcc 4.8.2 compared to his patch.
2014-02-28 13:00:48 +01:00
Christophe Gisquet 08e3ea60ff x86: synth filter float: implement SSE2 version
Timings for Arrandale:
          C    SSE
win32:  2108   334
win64:  1152   322

Factorizing the inner loop with a call/jmp is a >15 cycles cost, even with
the jmp destination being aligned.

Unrolling for ARCH_X86_64 is a 20 cycles gain.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2014-02-28 13:00:48 +01:00
Christophe Gisquet 57b1eb9f75 dcadsp: scan coefficients linearly in dca_lfe_fir
This change is inspired by x86 asm where it frees a register.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2014-02-28 13:00:47 +01:00
Christophe Gisquet ad507d7907 x86: dcadsp: implement SSE lfe_dir
Results for Arrandale/Windows:
32: 1670 -> 316
64:  728 -> 298

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2014-02-28 13:00:47 +01:00
Christophe Gisquet 87ec849fe9 dcadec: remove scaling in lfe_interpolation_fir
The scaling factor is constant so it is faster to scale the
FIR coefficients in the tables during compilation.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2014-02-28 13:00:47 +01:00
Diego Biurrun a55546f48d proresenc: Reuse proper dsputil infrastructure for FDCT 2014-02-28 11:19:47 +01:00
Diego Biurrun 92e598a57a prores: Drop DSP infrastructure for prores encoder bits
None of the encoder bits are arch-optimized.
2014-02-28 11:17:25 +01:00
Diego Biurrun d6acefe058 proresenc: Drop unnecessary DCT permutation bits
No permutation is necessary for the FDCT.
2014-02-28 11:00:24 +01:00
Diego Biurrun b23650491f prores: Use consistent names for DSP arch initialization functions 2014-02-28 10:34:55 +01:00
Michael Niedermayer 669043db81 Merge remote-tracking branch 'cus/stable'
* cus/stable:
  lavfi/frei0r: factorize plugin loading with static path
  lavfi/frei0r: search plugins in lib64 dirs on all architectures

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-28 03:31:10 +01:00
Michael Niedermayer e8e91a32e5 Merge remote-tracking branch 'lukaszmluki/master'
* lukaszmluki/master:
  lavf/ftp: fix seek to nagative position
  lavf/libssh: fix seek to nagative position

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-28 02:14:22 +01:00
Michael Niedermayer 5c634cbeb7 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Give IDCT matrix transpose macro a more descriptive name

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-28 02:08:11 +01:00
Lukasz Marek 9f4b55ef49 lavf/ftp: fix seek to nagative position
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-02-28 00:07:31 +01:00
Lukasz Marek 0025f13005 lavf/libssh: fix seek to nagative position
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-02-28 00:04:29 +01:00
James Almer 2163a40a46 x86/imdct36: use sse3 instructions in the last BUTTERF step when possible
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-27 23:28:15 +01:00
James Almer fbf98375e4 x86/imdct36: don't build imdct36_float_sse on x86_64 targets
There's an SSE2 version as well, and x86_64 guarantees that
instruction set is present.

Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-27 22:54:03 +01:00
Diego Biurrun f2408ec9d7 Give IDCT matrix transpose macro a more descriptive name
This also avoids a macro name clash and related warning on ARM.
2014-02-27 13:38:00 -08:00
Michael Niedermayer a05635ee01 avcodec/mjpegdec: convert CMYK to GBRAP
Fixes Ticket2799

This should be moved into swscale once we have a CMYK pixel format

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-27 22:18:34 +01:00
Michael Niedermayer 501beae6f9 avcodec/mjpegdec: fix decoding 4th plane
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-27 21:49:46 +01:00
Michael Niedermayer 6904168c79 avcodec/mjpegdec: Print error in case of CMYK
Also fail if AV_EF_EXPLODE is set.
We do not fail by default, but rather return some image as it may be usefull to the
end user to see what is on the image, for example text could be read quite fine and
objects recognized.

Possibly fixes Ticket3424

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-27 20:24:39 +01:00
Michael Niedermayer 681e72a668 avcodec/mjpegdec: parse adobe_transform
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-27 20:13:48 +01:00
Michael Niedermayer 7e8be7081f avcodec/mjpegdec: Print human readable string for APPx
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-27 19:35:37 +01:00
Carl Eugen Hoyos 3ba056017f Fix http authentication.
Add parenthesis around "MD5" in the request string as required by
RFC 2069.

Fixes ticket #3417.

Reported and tested by Haarman
Analyzed-by: Eugen-Andrei Gavriloaie
2014-02-27 16:56:30 +01:00
Michael Niedermayer 4f4cc43fd8 avcodec/h264: allow mixing idr and non idr slices with frame threading again
This combination exists in the wild
Fixes Ticket3131

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-27 15:49:25 +01:00
Michael Niedermayer 622d24e4eb avformat/mov: simplify code setting needs_parsing
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-27 13:52:55 +01:00