Michael Niedermayer
0379fc1487
vc1: Move INIT_LUT() further up to allow using it in more places
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-15 12:13:53 +03:00
Martin Storsjö
3ca3709ad4
vc1dec: Remove some now unused variables
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-15 12:13:53 +03:00
Michael Niedermayer
4162fc62b3
vc1dec: Do not allow field_mode to change after the first header
...
This fixes out of array accesses.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-15 12:13:53 +03:00
Martin Storsjö
ec7d002e55
vc1, mss2: Check for any negative return value from ff_vc1_parse_frame_header
...
This is required if we return other error codes than explicitly
-1, which so far has been the only other possible return value
besides 0.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-15 12:13:53 +03:00
Michael Niedermayer
ccb148e478
vc1dec: Fix current ptr selection in vc1_mc_4mv_chroma()
...
No sample tried shows a difference.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-15 11:40:38 +03:00
Michael Niedermayer
201412ffec
vc1dec: Factorize picture pointer selection in vc1_mc_4mv_chroma()
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-15 11:40:17 +03:00
Michael Niedermayer
2412ad1717
vc1dec: Factorize picture pointer selection code
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-15 11:39:57 +03:00
Michael Niedermayer
19673db34a
vc1dec: Factorize srcU/V offseting
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-15 11:39:36 +03:00
Michael Niedermayer
012b319d91
vc1dec: Fix tff == 0 handling in init_block_index()
...
This fixes several files from VLC ticket 5887.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-15 11:39:17 +03:00
Michael Niedermayer
0313653928
vc1dec: Update destination pointers in context for fields
...
This replaces a large number of checks for the second field by
fixing the pointers when they are setup.
This should also fix I/BI field pictures.
Changes checksums for vc1_sa10143, the file becomes slightly closer
to what the reference decoder outputs.
Based on "vc1dec: the second field is written wrong to the picture"
by Sebastian Sandberg <sebastiand.sandberg@gmail.com>.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-15 11:38:49 +03:00
Anton Khirnov
e6c4ac7b5f
pixdesc: rename PIX_FMT_* flags to AV_PIX_FMT_FLAG_*
2013-05-15 07:46:51 +02:00
Anton Khirnov
7c57a582a0
jpeg2000dec: don't use deprecated PIX_FMT values
2013-05-15 07:46:39 +02:00
Diego Biurrun
a349458e67
jpeg2000dec: Use correct printf length modifier for pointer differences
...
Also eliminate an unnecessary cast. Fixes the following warning:
jpeg2000dec.c:1200:20: warning: format ‘%lX’ expects argument of type ‘long unsigned int’, but argument 5 has type ‘long long unsigned int’
2013-05-14 16:46:56 +02:00
Martin Storsjö
5d9d8461fb
vc1dec: Don't apply the loop filter on fields
...
Fixes read of uninitialized memory.
Based on a patch by Michael Niedermayer.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-14 14:36:00 +03:00
Hendrik Leppkes
fe06795d78
vc1: implement frame interlaced b-frame header parsing
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-14 13:24:55 +03:00
Michael Niedermayer
46430fd47c
vc1dec: Don't attempt error concealment on field pictures
...
This is not implemented and doesn't work.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-14 13:24:52 +03:00
Sebastian Sandberg
1bd57a850a
vc1dec: fieldtx is only valid for interlaced frame pictures
...
The fieldtx_plane is not cleared for interlaced fields.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-14 12:44:09 +03:00
Claudio Freire
8bbdd20a29
aacenc: Fix erasure of surround channels
...
This was due to a miscomputation of s->cur_channel, which led to
psy-based encoders using the psy coefficients for the wrong channel.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-14 12:42:05 +03:00
Claudio Freire
f4d0a63b5b
aacenc: Fix target bitrate for twoloop quantiser search
...
This fixes a case where multichannel bitrate isn't accurately
targetted by psy model alone, never achieving the target bitrate.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-14 12:42:04 +03:00
Claudio Freire
7c71ada4ca
aacenc: Fix a rounding bug in aacpsy channel bitrate computation
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-14 12:42:03 +03:00
Matt Wolenetz
252c0bfdc0
lavc: Fix msvc compilation of utils.c with -WX (warnings treated as errors)
...
This fixes https://bugzilla.libav.org/show_bug.cgi?id=514 .
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-14 10:04:43 +03:00
Diego Biurrun
1399931d07
x86: dsputil: Rename dsputil_mmx.h --> dsputil_x86.h
...
The header is not (anymore) MMX-specific.
2013-05-12 22:28:07 +02:00
Diego Biurrun
245b76a108
x86: dsputil: Split inline assembly from init code
...
Also remove some pointless comments.
2013-05-12 22:28:07 +02:00
Diego Biurrun
46bb456853
x86: dsputil: Refactor pixels16 wrapper functions with a macro
2013-05-12 22:28:07 +02:00
Diego Biurrun
f54b55058a
configure: Rename cmov processor capability to i686
...
The goal is to make the capapility slightly more general and have it
cover the availability of the nopl instruction in addition to cmov.
2013-05-12 21:23:38 +02:00
Janne Grunau
94235f2ba2
indeo3: avoid writes without necessary alignment in copy_cell()
...
Cells starting at a position aligned to 8 pixels but wider than
4 blocks are copied with 3 blocks per loop. This creates problems on the
next loop iterations since the routine copying 2 blocks requires the
same alignment on some architectures like ARM NEON.
2013-05-10 12:02:09 +02:00
Christophe Gisquet
2c299d4165
x86: sbrdsp: implement SSE2 qmf_pre_shuffle
...
From 253 to 51 cycles on Arrandale and Win64.
44 cycles on SandyBridge.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-05-10 09:31:27 +02:00
Diego Biurrun
f243bf7aa2
x86: dsputil: Remove unused argument from QPEL_OP macro
2013-05-08 18:18:58 +02:00
Diego Biurrun
3d40c1ee74
x86: dsputil: Move TRANSPOSE4 macro to the only place it is used
2013-05-08 18:18:23 +02:00
Diego Biurrun
71469f3b63
x86: dsputil: Move constant declarations into separate header
2013-05-08 18:18:23 +02:00
Diego Biurrun
ed880050ed
x86: dsputil: Group all assembly constants together in constants.c
2013-05-08 01:04:04 +02:00
Diego Biurrun
8761466760
x86: dsputil: Move ff_pd assembly constants to the only place they are used
2013-05-08 01:04:04 +02:00
Diego Biurrun
1b343cedd7
x86: dsputil: Remove unused ff_pb_3F constant
2013-05-07 18:03:35 +02:00
Diego Biurrun
3334cbec0a
x86: dsputil: Remove unused MOVQ_BONE macro
2013-05-07 18:03:35 +02:00
Diego Biurrun
63bac48f73
x86: dsputil: Move rv40-specific functions where they belong
2013-05-07 18:03:35 +02:00
Diego Biurrun
92f8e06ecb
x86: dsputil hpeldsp: Move shared template functions into separate object
2013-05-07 18:03:34 +02:00
Diego Biurrun
7edaf4edb5
x86: rnd_template: Eliminate pointless OP_AVG macro indirection
2013-05-07 18:03:34 +02:00
Luca Barbato
e55e8b2c36
lavc: do not leak frames in avcodec_decode_audio4
...
Notwithstanding the return value the frame should be freed if
is not going to be used.
Reported-by: Matthew Wolenetz <wolenetz@chromium.org>
2013-05-07 14:37:32 +02:00
Anton Khirnov
a97d8cc16e
indeo3: use unaligned reads on reference blocks.
...
They are not guaranteed to be aligned.
Fixes Bug 503.
CC:libav-stable@libav.org
2013-05-07 12:29:56 +02:00
Janne Grunau
70f9661542
jpeg2000dec: initialize static data just once
2013-05-06 22:45:47 +02:00
Janne Grunau
45a1694fde
jpeg2000dec: cleanup properly after decoding errors
...
Fixes memory leak in fate-redcode-demux.
2013-05-06 22:27:33 +02:00
Nicolas Bertrand
28816f9db8
jpeg2000: Fix uninitialized data errors pointed out by valgrind/memcheck
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-05-06 13:07:00 +02:00
Diego Biurrun
110796739a
x86: hpeldsp: Move avg_pixels8_x2_mmx() out of hpeldsp_rnd_template.c
...
The function is only instantiated once, so there is no point
in keeping it in a template file.
2013-05-06 11:02:08 +02:00
Diego Biurrun
dc1b328d0d
x86: hpeldsp: Only compile MMX hpeldsp code if MMX is enabled
2013-05-06 11:02:08 +02:00
Diego Biurrun
9e5e76ef9e
x86: More specific ifdefs for dsputil/hpeldsp init functions
2013-05-06 11:02:07 +02:00
Diego Biurrun
2d5fd7886a
bgmc: Do not mark ff_bgmc_decode_init() as av_cold
...
The function is possibly called once per block.
2013-05-05 20:51:52 +02:00
Diego Biurrun
bd8ac88214
avcodec: Add av_cold attributes to end functions missing them
2013-05-05 20:51:28 +02:00
Diego Biurrun
6fee1b90ce
avcodec: Add av_cold attributes to init functions missing them
2013-05-04 21:09:45 +02:00
Diego Biurrun
a5f8873620
silly typo fixes
2013-05-03 18:26:12 +02:00
Christophe Gisquet
4a7af92cc8
sbrdsp: Unroll and use integer operations
...
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>
2013-05-03 18:23:30 +02:00
Christophe Gisquet
8394d9a676
sbrdsp: Unroll sbr_autocorrelate_c
...
1410 cycles to 1148 on Arrandale/Win64
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-05-03 18:23:30 +02:00
Christophe Gisquet
5a97469a4f
x86: sbrdsp: Implement SSE2 qmf_deint_bfly
...
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>
2013-05-03 18:23:14 +02:00
Masaki Tanaka
accde1bd87
vc1_parser: Set field_order.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-05-03 08:20:19 +02:00
Masaki Tanaka
f43c14d046
mpegvideo_parser: Set field_order.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-05-03 08:20:11 +02:00
Masaki Tanaka
507b1e454c
avcodec: Add field order information to AVCodecParserContext.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-05-03 08:16:10 +02:00
Anton Khirnov
803d21f38b
lavc: schedule AVCodecContext.lowres for removal on next bump.
...
It has been deprecated some time ago, but was forgotten during the last
bump.
2013-05-03 08:07:35 +02:00
Diego Biurrun
6b753015ca
aac: Remove aacpsy.h header, unused since 78e65cd772
2013-05-02 18:16:06 +02:00
Diego Biurrun
153f31b1af
cavs: Remove cavsdata.h header, unused since 88386feefd
2013-05-02 18:15:37 +02:00
Diego Biurrun
bf7c3c6b15
x86: dsputil: Move cavs and vc1-specific functions where they belong
2013-05-02 11:45:37 +02:00
Diego Biurrun
9328062321
x86: dsputil: Move avg_pixels16_mmx() out of rnd_template.c
...
The function does not do any rounding, so there is no point in
keeping it in a round template file.
2013-05-02 11:45:37 +02:00
Diego Biurrun
9c112a6158
x86: dsputil: Move avg_pixels8_mmx() out of rnd_template.c
...
The function is only instantiated once, so there is no point
in keeping it in a template file.
2013-05-02 11:45:37 +02:00
Diego Biurrun
9b3a04d306
x86: Move duplicated put_pixels{8|16}_mmx functions into their own file
2013-05-02 11:16:45 +02:00
Diego Biurrun
a650c906cb
ppc: Only compile AltiVec FFT assembly when AltiVec is enabled
2013-05-02 10:25:30 +02:00
Derek Buitenhuis
00b8e650e8
avcodec: doxy: Clarify how to use buf[] when implementing get_buffer2()
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-04-30 13:33:43 -04:00
Derek Buitenhuis
4cdb3c50b5
avcodec: doxy: Clarify what get_buffer2 must fill in buf[]
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-04-30 13:32:58 -04:00
Diego Biurrun
7f75f2f2bd
ppc: Drop unnecessary ff_ name prefixes from static functions
2013-04-30 16:10:06 +02:00
Diego Biurrun
f2e9d44a57
x86: Drop unnecessary ff_ name prefixes from static functions
2013-04-30 16:02:03 +02:00
Diego Biurrun
383fd4d478
arm: Drop unnecessary ff_ name prefixes from static functions
2013-04-30 16:02:03 +02:00
Diego Biurrun
088f38a4f9
avcodec: Drop unnecessary ff_ name prefixes from static functions
2013-04-30 16:02:02 +02:00
Diego Biurrun
38282149b6
ppc: More consistent arch initialization
2013-04-30 12:19:45 +02:00
Diego Biurrun
42b9150b0d
fft: Remove pointless #ifdefs around function declarations
2013-04-30 12:19:44 +02:00
Diego Biurrun
a053dbfcfb
ppc: Move AltiVec utility headers out of AltiVec ifdefs
...
Now that the headers themselves have ifdef protection this is no
longer necessary and more consistent with normal include handling.
2013-04-30 12:19:44 +02:00
Diego Biurrun
6b110d3a73
ppc: More consistent names for H.264 optimizations files
2013-04-30 12:19:43 +02:00
Diego Biurrun
643e433bf7
mpegaudiosp: More consistent names for ppc/x86 optimization files
2013-04-30 12:19:43 +02:00
Anton Khirnov
e036bb7899
lavc: clear AVBuffers on decoded frames if refcounted_frames is not set
...
Otherwise some code might mistakenly think it is allowed to unref those
buffers, which would lead to double unref.
2013-04-30 11:15:32 +02:00
Anton Khirnov
bda9e6d923
indeo3: use put_pixels instead of put_no_rnd_pixels in copy_cell()
...
They are the same in this case, except put_pixels also has blocksizes
smaller than 8.
2013-04-30 11:06:03 +02:00
Anton Khirnov
95220be1fa
indeo3: fix off by one in MV validity check
...
CC:libav-stable@libav.org
2013-04-30 11:06:03 +02:00
Diego Biurrun
97c56ad796
x86: dsputil: Remove a set of pointless #ifs around function declarations
2013-04-30 01:42:32 +02:00
Diego Biurrun
85f2f82af6
x86: dsputil: cosmetics: Group ff_{avg|put}_pixels16_mmxext() declarations
2013-04-30 01:41:05 +02:00
Diego Biurrun
20784aa678
x86: hpeldsp: Remove unused macro definitions
2013-04-29 15:57:00 +02:00
Luca Barbato
a943a132f3
aac: check the maximum number of channels
...
Broken bitstreams could report a larger than specified number of
channels and cause outbound writes.
CC:libav-stable@libav.org
2013-04-28 00:40:33 +02:00
Diego Biurrun
1b6f84a986
h264_refs: Do not print check_opcodes() return value
...
The return value provides no useful information and removing the printing
avoids the following warning:
libavcodec/h264_refs.c:788:15: warning: 'i' may be used uninitialized in this function [-Wuninitialized]
2013-04-27 19:13:45 +02:00
Diego Biurrun
7c00e9d8ae
x86: ac3dsp: Remove 3dnow version of ff_ac3_extract_exponents
...
The function requires increasing the fuzz factor for the ac3/eac3 encode
tests and even so makes fate fail. It only provides a slight encoding
speedup for legacy CPUs that do not support SS2. Thus its benefit is not
worth the trouble it creates and fixing it would be a waste of time.
2013-04-26 21:06:52 +02:00
Martin Storsjö
74685f6783
x86: Rename dsputil_rnd_template.c to rnd_template.c
...
This makes it less confusing when this template is shared both by
dsputil and by hpeldsp.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-25 23:03:09 +03:00
Martin Storsjö
486f76f029
x86: Get rid of duplication between *_rnd_template.c
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-23 23:30:17 +03:00
Hendrik Leppkes
feec9349d3
mpegvideo: unref cur/next/prev frames when flushing
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-04-23 19:11:59 +02:00
Martin Storsjö
6a8561dbd7
x86: Factorize duplicated inline assembly snippets
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-23 15:07:31 +02:00
Nicolas Bertrand
2e2d24667a
jpeg2000: Add mutlti-threading support to decoder
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-23 11:53:04 +02:00
Diego Biurrun
c1ad70c3cb
x86: Move some conditional code around to avoid unused variable warnings
2013-04-22 17:50:02 +02:00
Janne Grunau
10f1a4d9bd
jpeg2kdec: output is native endian AV_PIX_FMT_XYZ12
2013-04-22 17:11:21 +02:00
Janne Grunau
94660c3524
threads: always call thread_finish_setup for intra codecs
...
Intra codecs do not need an update_thread_context() function and never
call ff_thread_finish_setup(). They rely on ff_thread_get_buffer()
calling it. So call it even if the get_buffer2 function pointer is
avcodec_default_get_buffer2 and it has not been called before.
2013-04-22 17:11:20 +02:00
Diego Biurrun
f13888afcc
avcodec: Bump minor for JPEG 2000 decoder
2013-04-22 15:52:43 +02:00
Nicolas Bertrand
c81a706381
JPEG 2000 decoder for DCinema
...
Based on the 2007 GSoC project from Kamil Nowosad <k.nowosad@students.mimuw.edu.pl>
Updated to current programming standards, style and many more small
fixes by Diego Biurrun <diego@biurrun.de>.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-22 15:38:29 +02:00
Diego Biurrun
0c15a9aa7e
sh4: Remove dubious aligned dsputil code
...
The code represents a considerable maintenance burden and it is not
clear that it gives a noticeable benefit to outweigh this after 10
years of improvements in compiler technology since its creation.
2013-04-22 12:12:24 +02:00
Diego Biurrun
b4ad7c54c8
x86: cavs: Refactor duplicate dspfunc macro
2013-04-22 12:05:09 +02:00
Diego Biurrun
fce99322b0
h264: Drop unused variable
2013-04-22 12:05:09 +02:00
Diego Biurrun
78fa0bd0f7
x86: cavs: Put mmx-specific code into its own init function
...
Before, this code was labeled as mmxext and enabled both for the
3dnow and the mmxext case.
2013-04-22 10:42:50 +02:00
Diego Biurrun
311a592dfc
x86: Remove some duplicate function declarations
2013-04-22 02:29:57 +02:00
Martin Storsjö
6d0fbebf94
ppc: hpeldsp: Include attributes.h
...
This fixes building in configurations where altivec is disabled.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-20 16:43:01 +03:00
Martin Storsjö
b71a0507b0
x86: Remove unused inline asm instruction defines
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-20 00:44:54 +03:00