Diego Biurrun
db3f61a04f
x86: dsputil_init: Drop some unnecessary parentheses
2014-03-13 08:15:51 -07:00
Diego Biurrun
441b093915
x86: dsputil_init: K&R formatting cosmetics
2014-03-13 08:15:51 -07:00
Diego Biurrun
4cb4680c10
x86: dsputil_x86.h: K&R formatting cosmetics
2014-03-13 08:15:51 -07:00
Diego Biurrun
f8bbebecfd
x86: motion_est: K&R formatting cosmetics
2014-03-13 08:15:51 -07:00
Diego Biurrun
a36947c167
dsputilenc_mmx: K&R formatting cosmetics
2014-03-13 08:15:51 -07:00
Diego Biurrun
38675229a8
dsputil_mmx: K&R formatting cosmetics
2014-03-13 08:15:51 -07:00
Diego Biurrun
6a8b35dc88
dsputilenc_mmx: Merge two assignment blocks with identical conditions
2014-03-13 08:15:51 -07:00
Diego Biurrun
945673f792
dsputil_template: K&R formatting cosmetics
2014-03-13 08:15:50 -07:00
Diego Biurrun
acd2b8e42d
rnd_avg.h: K&R formatting cosmetics
2014-03-13 08:15:50 -07:00
Diego Biurrun
05563ccacc
dsputil: cosmetics: Lose camelCase on ff_cropTbl and ff_squareTbl names
...
Also switch from "tbl" to "tab" name suffixes.
2014-03-13 08:12:44 -07:00
Diego Biurrun
635ec127d4
dsputil: Merge variable declarations and initializations
2014-03-13 08:12:44 -07:00
Diego Biurrun
bb12c2e9c0
dsputil: K&R formatting cosmetics
2014-03-13 08:12:39 -07:00
Diego Biurrun
503dda7d4f
dsputil.h: K&R formatting cosmetics
2014-03-13 08:11:00 -07:00
Diego Biurrun
8199bb7be0
dsputil.h: Clean up comments
2014-03-13 08:11:00 -07:00
Diego Biurrun
0a8f91b1fb
dsputil: Remove disabled avg_no_rnd_qpel leftovers
2014-03-13 08:10:52 -07:00
Diego Biurrun
55519926ef
x86: Make function prototype comments in assembly code consistent
...
This helps grepping for functions, among other things.
2014-03-13 05:50:29 -07:00
Diego Biurrun
edd1f833fa
x86: h264_idct_10_bit: Use proper type in function prototype comments
2014-03-13 05:50:29 -07:00
Diego Biurrun
831a118078
Update dsputil- and SIMD-related comments to match reality more closely
2014-03-13 05:50:29 -07:00
Diego Biurrun
d1184b8110
arm: dsputil: Add a bunch of missing #includes
2014-03-13 05:50:28 -07:00
Diego Biurrun
17608f6ee3
x86: Add some more missing headers
2014-03-13 05:50:28 -07:00
Diego Biurrun
fd9e2221bd
ppc: Add some missing headers
2014-03-13 05:50:28 -07:00
Diego Biurrun
ed9625eb62
dsputil: Move intreadwrite.h #include from header file to .c files
2014-03-13 05:50:28 -07:00
Diego Biurrun
9103185bd1
dsputil: Drop ff_check_alignment() function
...
The function is supposed to confirm that the compiler provided enough
alignment, but in practice it is only run in certain code paths and
insufficient alignment problems are restricted to legacy compilers.
2014-03-13 05:50:28 -07:00
Diego Biurrun
49676eb730
dsputil: Remove prototypes for nonexisting optimization functions
2014-03-13 05:50:28 -07:00
Diego Biurrun
08dba0e1c3
x86: mpegvideoenc: Remove some remnants of the long-gone libmpeg2 IDCT
2014-03-13 05:50:28 -07:00
Diego Biurrun
b4dd424d96
Remove all SPARC architecture optimizations
...
SPARC is no longer being used in any multimedia-related fields and the
VIS optimizations only represent a maintenance burden.
2014-03-13 05:50:28 -07:00
Diego Biurrun
d6096a6742
Remove all SH4 architecture optimizations
...
SH4 has been end-of-lifed and no more test machines are available.
2014-03-13 05:50:28 -07:00
Diego Biurrun
cd832f032f
ffv1: Drop bogus dependency on dsputil
...
ffv1 does not use any part of the dsputil framework.
2014-03-13 05:50:27 -07:00
Diego Biurrun
88b240646f
build: Drop stray mpc8 decoder dependency on dsputil
2014-03-13 05:50:27 -07:00
Janne Grunau
5a7f382a5d
armv6: vp8: use explicit labels in motion compensation asm
...
The integrated arm assembler in clang-503.0.38 (Xcode-5.1) fails
to assemble a branch to 'label + offset' in thumb mode.
2014-03-12 15:06:05 +01:00
Vittorio Giovara
b4e355c89e
copy_block: K&R formatting cosmetics
2014-03-12 14:01:41 +01:00
Luca Barbato
5eacbb5328
golomb: Add a get_se_golomb_long
...
Useful in libavformat mostly.
2014-03-10 10:58:37 +01:00
Vittorio Giovara
4d33873c29
hevc: make pps/sps ids unsigned where necessary
...
Fixes integer overflow and out of array accesses.
Found-by: Mateusz j00ru Jurczyk and Gynvael Coldwind
2014-03-09 17:23:08 +01:00
Michael Niedermayer
ed06e5d92b
hevc: Do not turn 32bit timebases into negative numbers
...
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2014-03-09 17:22:53 +01:00
Michael Niedermayer
6cc94e9719
hevc: use av_mallocz() for allocating tab_ipm
...
Fixes use of uninitialized memory and out of stack array read.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2014-03-09 17:08:11 +01:00
Michael Niedermayer
920c01adce
hevc: Use get_bits_long() in decode_vui()
...
Fix assertion failure.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2014-03-09 08:25:39 +01:00
Janne Grunau
634d9d8b39
arm: get_cabac inline asm
...
Based on the aarch64 asm. CPU cycle counts on cortex-a9 compared to
gcc 4.8.2:
before: 475 decicycles in get_cabac_noinline, 67106035 runs, 2829 skips
after: 393 decicycles in get_cabac_noinline, 67106474 runs, 2390 skips
Overall speedup is above 2%. Code generated by clang 3.4 is slower on
the same hardware and the relative change is a little larger.
2014-03-09 00:45:34 +01:00
Janne Grunau
dfe224f377
aarch64: get_cabac inline asm
...
Based on the x86 branchless get_cabac asm. get_cabac_noinline() gets
approximately 20% faster (no cycle counts available) compared to clang
from Xcode 5.1 beta5. More than 6% faster overall. A part of the overall
speedup might be explained by additional inlining of get_cabac().
2014-03-09 00:45:33 +01:00
Janne Grunau
4506a854a4
arm: vp3: remove incorrect const in ff_vp3_idct_dc_add_neon declaration
...
Was missed in aeaf268e52
when integrating
clear_blocks into the idct.
2014-03-09 00:45:33 +01:00
Janne Grunau
61985ad72c
arm: hpeldsp: fix put_pixels8_y2_{,no_rnd_}armv6
...
The overread avoidance fix in cbddee1cca
broke the computation for the last row since it prevented the safe
reading from the height+1-th row.
CC: libav-stable@libav.org
2014-03-08 18:31:57 +01:00
Keiji Costantini
8c09532672
rv10: K&R formatting cosmetics
...
Also sort #includes into canonical order.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-03-08 17:41:59 +01:00
Keiji Costantini
b4d372e091
rv10: Forward error from rv10_decode_packet
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-03-08 17:19:56 +01:00
Diego Biurrun
a801453423
g2meet: K&R formatting cosmetics
2014-03-08 16:35:20 +01:00
Derek Buitenhuis
f87a6e500b
fic: Properly handle skip frames
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-03-07 14:54:33 +00:00
Derek Buitenhuis
d67dbfa7c1
libx265: Support API version 9
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-03-06 20:21:27 +00:00
Rainer Hochecker
b66382101c
dxva2: Increase maximum number of slices for mpeg2
...
Some content requires an higher number of slices in order to
render properly.
Rise the number to 1024 and warn if ever it exceeds.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-03-06 19:28:20 +01:00
Diego Biurrun
d48430c367
build: Let the SVQ3 decoder depend on the H.264 decoder
...
The SVQ3 decoder reuses large parts of the H.264 decoder so it
makes no sense to enable the former but not the latter.
Also drop unnecessary h263.o object from SVQ3 decoder object list.
2014-03-06 18:23:41 +01:00
Diego Biurrun
3bfdee00cd
x86: dcadsp: Fix linking with yasm and optimizations disabled
...
Some optimized functions reference optimized symbols, so the functions
must be explicitly disabled when those symbols are unavailable.
2014-03-05 23:16:21 +01:00
Janne Grunau
cbddee1cca
arm: hpeldsp: prevent overreads in armv6 asm
...
Based on a patch by Russel King <rmk+libav@arm.linux.org.uk>
Bug-Id: 646
CC: libav-stable@libav.org
2014-03-05 14:30:57 +01:00
Diego Biurrun
3741aa37c2
x86: cabac: Use correct #includes to make header compile standalone
2014-03-05 13:32:25 +01:00
Rémi Denis-Courmont
eeaf4f3b87
av_vdpau_get_profile: mask out H.264 intra profile flag
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2014-03-04 22:48:55 +01:00
Vittorio Giovara
973dc4e8d4
put_bits: Remove unused includes
...
This requires adding includes to other files that relied on these being
included implicitly.
2014-03-04 11:45:32 +01:00
Vittorio Giovara
5397386eff
mathops: move macro to the only place it is used
...
This helps in disentangling lavf and lavc too.
2014-03-04 11:45:31 +01:00
Keiji Costantini
9514440337
ituh263: reject b-frame with pp_time = 0
...
Avoid a division by 0 in ff_mpeg4_set_one_direct_mv.
Sample-Id: 00000168-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-03-01 23:17:30 +01:00
Anton Khirnov
d1f9563d50
pthread_frame: flush all threads on flush, not just the first one
...
avcodec_flush_buffers() must release all internally held references
according to its documentation, for which all the threads need to be
flushed.
CC:libav-stable@libav.org
Bug-Id: vlc/9665
2014-02-28 21:55:46 +01:00
Diego Biurrun
2f02bbcca0
build: Let the ffvhuff decoder/encoder depend on the huffyuv decoder/encoder
...
Almost all of the code is shared so there is little point in
enabling one decoder/encoder without the other.
2014-02-28 21:17:01 +01:00
Diego Biurrun
34150be515
build: Let the iac decoder depend on the imc decoder
...
Almost all of the code is shared so there is little point in
enabling one decoder without the other.
2014-02-28 21:11:53 +01:00
Diego Biurrun
8e0cf39faf
build: Let all MJPEG-related decoders depend on the MJPEG decoder
...
These codecs compile all of the MJPEG code anyway, so there is little
point in not enabling the MJPEG decoder directly. This also simplifies
the dependency declarations for the MJPEG codec family.
2014-02-28 20:51:10 +01:00
Diego Biurrun
0a36988e48
build: Let AMV decoder depend on the SP5X decoder
...
This codec compiles all of the SP5X code anyway, so there is little
point in not enabling the decoder directly. This also simplifies the
dependency declaration for the AMV decoder.
2014-02-28 20:44:53 +01:00
Vittorio Giovara
f4bd9fe326
h264: fix clang warning about uninitialized variable
2014-02-28 18:15:15 +01:00
Vittorio Giovara
17a63ff0cd
h264: update flag name in ff_h264_decode_ref_pic_list_reordering()
...
This is the name used in the specifications.
2014-02-28 18:14:34 +01:00
Vittorio Giovara
ee6280ca12
h264: parse two additional constraint flags
2014-02-28 18:14:34 +01:00
Vittorio Giovara
e70ab7c1f5
h264: add MVCD to the list of High profiles in SPS
...
Also comment all previous profiles.
2014-02-28 18:14:33 +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
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
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
Diego Biurrun
a63ac1106d
build: Do not redundantly specifiy H.263-related object files for MSMPEG4v*
...
These are already covered through dependencies specified in configure.
2014-02-26 19:44:55 +01:00
Diego Biurrun
4ec336484d
parser: cosmetics: Drop some unnecessary parentheses
2014-02-25 13:40:47 +01:00
Luca Barbato
a1c699659d
parser: K&R formatting cosmetics
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-02-25 12:28:33 +01:00
Diego Biurrun
ed61f3ca8a
parser: Remove commented-out cruft
2014-02-25 11:59:05 +01:00
Derek Buitenhuis
8aca00cc2b
libx265: Properly handled dynamic linking with MSVC
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-02-24 11:07:33 -05:00
Derek Buitenhuis
0f7fa48cf1
libx265: Support SAR
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-02-24 11:07:33 -05:00
Derek Buitenhuis
2142b2efcd
libx265: Support 4:4:4
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-02-24 11:06:59 -05:00
Derek Buitenhuis
d00a504b24
libx265: Update API usage
...
Framerate is now a sane rational instead of an integer, and
inputDepth is changed to what it actually is.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-02-24 15:50:04 +00:00
Anton Khirnov
30517a9f05
Use av_frame_copy() to simplify code where appropriate.
2014-02-24 07:25:07 +01:00
Anton Khirnov
8feac29cc4
lavc: use AVFrame API properly in ff_reget_buffer()
2014-02-24 07:25:07 +01:00
Luca Barbato
8eeacf31c5
hevc: Do not left shift a negative value in hevc_loop_filter_chroma
2014-02-23 14:34:41 +01:00
Luca Barbato
ff486c0f7f
hevc: Do not right shift a negative value in get_pcm
2014-02-23 14:34:40 +01:00
Luca Barbato
50c988aa6d
hevc: Drop unnecessary shifts in deblocking_filter_CTB
...
beta_offset is pre-multiplied by 2.
2014-02-23 14:34:34 +01:00
Luca Barbato
d922c5a5fb
h264: Fix a typo from the previous commit
...
f777504f64
changed a - in +
CC: libav-stable@libav.org
2014-02-22 12:26:32 +01:00
Diego Biurrun
dc9e05e279
libvorbis: Give consistent names to all functions, structs, and defines
2014-02-21 11:08:09 +01:00
Vittorio Giovara
f777504f64
h264: Lower bound check for slice offsets
...
And use the value from the specification.
Sample-Id: 00000451-google
Found-by: Mateusz j00ru Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-02-20 18:58:38 +01:00
Janne Grunau
9c029f67ca
aarch64: use EXTERN_ASM consistently for exported symbols
...
Based on e3fec3f095
for arm.
2014-02-20 15:24:35 +01:00
Christophe Gisquet
ef010f08ae
dca: replace some memcpy by AV_COPY128
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2014-02-20 14:16:43 +01:00
Janne Grunau
982b596ea6
h264: avoid undefined behavior in chroma motion compensation
...
Makes fate-h264 pass under valgrind --undef-value-errors=yes with
-cpuflags none. {avg,put}_h264_chroma_mc8_8 approximately 5% faster,
{avg,put}_h264_chroma_mc4_8 2% faster both on x86 and arm.
2014-02-20 14:02:06 +01:00
Diego Biurrun
4bcca3611d
mpeg4video_parser: Drop pointless av_-prefix from static function
2014-02-20 04:16:15 -08:00
Diego Biurrun
984e339866
avcodec: Consistently name encoder init functions foo_encode_init
2014-02-20 04:16:15 -08:00
Diego Biurrun
017a06a9ee
x86: dsputil: Use correct file name as multiple inclusion guard
2014-02-20 04:16:15 -08:00
Diego Biurrun
ba42c85247
bit_depth_template: Use file name as multiple inclusion guard
2014-02-20 04:16:15 -08:00
Diego Biurrun
61e7c7f27b
svq3: Adjust #endif comment
2014-02-20 04:16:15 -08:00