Kostya Shishkov
2727649677
Zero palette in case not all entries are initialized later
...
Originally committed as revision 21384 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-22 18:28:41 +00:00
Måns Rullgård
c67278098d
Move array specifiers outside DECLARE_ALIGNED() invocations
...
Originally committed as revision 21377 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-22 03:25:11 +00:00
Michael Niedermayer
258b60c224
Gcc idiocy fixes related to filter_mb_edge*.
...
Change order of operands as gcc uses a hardcoded register per operand it seems
even for static functions
thus reducing unneeded moved (now functions try to pass the same argument in
the same spot).
Change signed int to unsigned int for array indexes as signed requires signed
extension while unsigned is free.
move the +52 up and merge it where it will end as a lea instruction, gcc always
splits the 52 out there turning the free +52 into an expensive one otherwise.
The changed code becomes a little faster.
Originally committed as revision 21375 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-22 01:59:17 +00:00
Michael Niedermayer
1f445f5473
Move dquant check into qscale overflow check.
...
This should be faster (couldnt meassue a difference), and its less picky
on slightly out of spec dquant.
Originally committed as revision 21373 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-21 21:01:26 +00:00
Michael Niedermayer
31f6e3c19e
Make calculation of mask_edge free of branches, faster of course but probably
...
little effect overall as this is not that often executed.
Originally committed as revision 21366 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-21 16:50:31 +00:00
Michael Niedermayer
e9e949cf74
Clarify CODEC_CAP_SUBFRAMES.
...
Originally committed as revision 21364 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-21 13:49:47 +00:00
Måns Rullgård
2a58e45724
Set CODEC_CAP_SUBFRAMES for adpcm decoders
...
This makes ffmpeg stop printing millions of
Multiple frames in a packet from stream 0
when decoding adpcm.
Originally committed as revision 21362 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-21 12:57:24 +00:00
David Conrad
1f630b9717
Use two separate memory arguments since 8+() is invalid gas syntax
...
Originally committed as revision 21360 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-21 09:46:57 +00:00
Måns Rullgård
68cf92ee5e
Always call avcodec_thread_init()
...
The various avcodec_thread_init() functions are updated to return
immediately after setting avctx->thread_count. This allows -threads 0
to pass through to codecs. It also simplifies the usage for apps
using libavcodec.
Originally committed as revision 21358 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 22:55:50 +00:00
Michael Niedermayer
b4c2ada528
Attempt to fix asm compilation failure.
...
Only tested on gcc 4 & x86_64.
Originally committed as revision 21355 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 19:23:19 +00:00
Laurent Aimar
92c6a099ba
H264 DXVA2 implementation
...
It allows VLD H264 decoding using DXVA2 (GPU assisted decoding API under
VISTA and Windows 7).
It is implemented by using AVHWAccel API. It has been tested successfully
for some time in VLC using an nvidia card on Windows 7.
To compile it, you need to have the system header dxva2api.h (either from
microsoft or using http://downloads.videolan.org/pub/videolan/testing/contrib/dxva2api.h )
The generated libavcodec.dll does not depend directly on any new lib as
the necessary objects are given by the application using FFmpeg.
Originally committed as revision 21353 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 18:54:51 +00:00
Måns Rullgård
5e7dfb7de1
Move COPY3_IF_LT to lavc/mathops.h
...
This obscure macro is only used in motion_est.c so having it in lavc
makes more sense. See discussion here:
http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2008-November/056561.html
Originally committed as revision 21346 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 06:01:54 +00:00
Alexander Strange
bec358d683
H.264: Declare bS with DECLARE_ALIGNED_8 for uint64_t casts.
...
Originally committed as revision 21345 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 03:28:57 +00:00
Michael Niedermayer
97775235ec
Simplify/Optimize another of the mbaff loop filter cases.
...
Its faster but too rarely used to make a differnce.
Originally committed as revision 21344 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 03:00:08 +00:00
Michael Niedermayer
085d9d98e8
Only calculate the second chroma qp if it differs from the firstin the main
...
loop filter. (a little faster for the common case where they are equal)
Originally committed as revision 21342 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 01:49:24 +00:00
Michael Niedermayer
948180e7b1
Set bS with 64bits at a time.
...
Originally committed as revision 21341 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 01:38:32 +00:00
Michael Niedermayer
87df989ee3
Merge multiple IS_* macro uses where possible.
...
Originally committed as revision 21340 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 01:15:30 +00:00
Michael Niedermayer
55c54371c4
Simplify and optimize intra code in h264_loopfilter.c
...
Originally committed as revision 21339 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 00:44:03 +00:00
Vitor Sessak
7f3f5f46c2
Floating point discrete cosine transform
...
Originally committed as revision 21338 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 00:39:47 +00:00
David Conrad
c4f2b6dce3
Use constant offsets for memory operands since gcc is unable to
...
This fixes gcc failing to fit 6 memory locations into 7 registers on x86-32
Originally committed as revision 21337 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 00:34:10 +00:00
Michael Niedermayer
9528ce7b99
Sightly simplify initialization of int start.
...
No real speed change.
Originally committed as revision 21336 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 00:17:16 +00:00
Michael Niedermayer
3f50965b28
Mark the h264 c loop filter as av_always_inline av_flatten to make sure its
...
all inlined, its small and horizontal & vertical versions are build out of
them. no change as gcc already did this.
Originally committed as revision 21333 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 22:54:13 +00:00
Michael Niedermayer
c9640c17ac
skip outer pixels if possible in h264_loop_filter_luma_c().
...
overall 3.7% faster loop filtering (C version only)
Originally committed as revision 21332 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 22:46:58 +00:00
Michael Niedermayer
655a1d57d5
Reenable ff_h264_filter_mb_fast() for all slices it supported before.
...
Originally committed as revision 21328 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 16:43:57 +00:00
Michael Niedermayer
9ac4548ff7
Fix h264_loop_filter_strength_mmx2() so it works with b frames.
...
Originally committed as revision 21327 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 16:40:36 +00:00
Michael Niedermayer
ebddd2e253
Remove -2 -> -1 remapping, its not needed anymore as we must remap all
...
references per LUT anyway.
Originally committed as revision 21323 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 14:28:19 +00:00
Jason Garrett-Glaser
76d81909ae
Update libx264.c to use new libx264 features
...
With b_keyframe instead of IDR for detecting keyframes, ffmpeg should now
support periodic encoding with periodic intra refresh (although there is no
interface option for it yet).
Set the new timebase values for full VFR input support.
Bump configure to check for API version 83.
Originally committed as revision 21317 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 04:00:08 +00:00
Jai Menon
7817ddabc8
Apply changes made in r21308 to svq3.c.
...
Fixes compilation with gcc and -O0.
Originally committed as revision 21316 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 03:16:48 +00:00
Michael Niedermayer
c2894fbf1c
Dont waste time initializing stuff for deblocking intra mbs, none of
...
it is used.
Originally committed as revision 21315 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 03:14:45 +00:00
Michael Niedermayer
580920f8dc
Remove 2 checks from fetch_diagonal_mv() that apparently serve no purpose.
...
Originally committed as revision 21314 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 02:28:26 +00:00
Michael Niedermayer
26c83a4161
Move a few things into a deeper if() in fetch_diagonal_mv().
...
Originally committed as revision 21313 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 02:07:12 +00:00
Michael Niedermayer
350fc614b4
Remove code that handles the case of a MB pair to our right being available.
...
Thats not possible except maybe in FMO which noone uses anyway.
iam also not sure if this wasnt missing a part_width.
Originally committed as revision 21312 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 01:23:19 +00:00
Michael Niedermayer
7231ccf4d5
Cosmetic, get rid of &x[0]
...
Originally committed as revision 21309 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 23:55:19 +00:00
Michael Niedermayer
2b3649f656
Fix compilation with -O0.
...
Originally committed as revision 21308 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 23:41:12 +00:00
Michael Niedermayer
7a93858a6d
Fix accumulated indention errors.
...
Originally committed as revision 21307 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 23:34:37 +00:00
Michael Niedermayer
70bd7a3d48
Optimize top non_zero_count_cache init.
...
Originally committed as revision 21306 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 23:31:14 +00:00
Michael Niedermayer
5e07aa7721
Dont init chroma elements of non_zero_count_cache for deblock.
...
Originally committed as revision 21305 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 23:30:21 +00:00
Michael Niedermayer
5cc5d9bf29
Remove unneeded for_deblock check, this code was alraedy under for_deblock.
...
Originally committed as revision 21304 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 23:27:53 +00:00
Michael Niedermayer
bffe82f504
Rather call filter_mb_mbaff_edge*v() more often than do extra calculations
...
in the innerst loop. ~150 cpu cycles faster
Originally committed as revision 21299 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 21:22:09 +00:00
Michael Niedermayer
fb823b7791
Fix 10l segfault with threads.
...
Originally committed as revision 21293 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 20:19:19 +00:00
Michael Niedermayer
0fe674cb4a
Use h->slice_num where possible.
...
Originally committed as revision 21292 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 20:13:53 +00:00
Michael Niedermayer
bce6a1e7c7
Enable filter_mb_fast for CAVLC P slices.
...
Originally committed as revision 21291 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 19:45:56 +00:00
Michael Niedermayer
439d6b1dcf
filter_mb_fast needs cbp_table to be set.
...
Originally committed as revision 21290 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 19:45:02 +00:00
Michael Niedermayer
42ebca8551
PAFF CABAC P slices seem to work as well, so enable them for ff_h264_filter_mb_fast() too.
...
Originally committed as revision 21289 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 16:29:16 +00:00
Michael Niedermayer
a8f4921595
Reenable filter_mb_fast for I slices and progressive CABAC P slices.
...
Originally committed as revision 21288 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 16:16:22 +00:00
Michael Niedermayer
a7d7cdaac7
Set h->cbp for ff_h264_filter_mb_fast().
...
Originally committed as revision 21287 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 16:11:13 +00:00
Michael Niedermayer
9327042c17
10l for someone, Store chroma_qp_diff in the correct struct.
...
Originally committed as revision 21286 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 14:05:30 +00:00
Gwenole Beauchesne
054947cafd
Install <libavcodec/vaapi.h> header.
...
Originally committed as revision 21285 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 13:52:20 +00:00
Michael Niedermayer
b6ef858ec7
Move CAVLC 8x8 DCT special case from ff_h264_filter_mb() to fill_caches
...
that way it is also available for ff_h264_filter_mb_fast().
Originally committed as revision 21283 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 13:09:53 +00:00
Michael Niedermayer
6d7e6b2657
Perform reference remapping at fill_cache() time instead of in the
...
loop filter. This removes one obstacle of getting ff_h264_filter_mb_fast()
bitexact. code is maybe 0.1% faster
Originally committed as revision 21280 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 05:15:31 +00:00
Michael Niedermayer
7da0d82104
Make qp check for loop filter skiping also work with MBAFF.
...
Originally committed as revision 21276 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 00:34:28 +00:00
Michael Niedermayer
12be38ec18
Comment about a cornercase we ignore currently
...
Originally committed as revision 21275 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 00:21:58 +00:00
Michael Niedermayer
44a5e7b64c
Move the qp check to skip the loop filter up.
...
Originally committed as revision 21274 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 00:20:44 +00:00
Michael Niedermayer
b6303e6d2a
Reorganize how values are stored in h->non_zero_count.
...
~1% faster
Originally committed as revision 21273 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-17 23:44:23 +00:00
Michael Niedermayer
2911e13224
Disable a few things in fill_filter_caches() that arent needed.
...
0.1% speedup
Originally committed as revision 21272 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-17 22:05:36 +00:00
Michael Niedermayer
f432b43b08
Split fill_caches() between filter and decoder.
...
Originally committed as revision 21271 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-17 21:43:08 +00:00
Michael Niedermayer
c988f97566
Rearchitecturing the stiched up goose part 1
...
Run loop filter per row instead of per MB, this also should make it
much easier to switch to per frame filtering and also doing so in a
seperate thread in the future if some volunteer wants to try.
Overall decoding speedup of 1.7% (single thread on pentium dual / cathedral sample)
This change also allows some optimizations to be tried that would not have
been possible before.
Originally committed as revision 21270 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-17 20:35:55 +00:00
Alexander Strange
0209e1e160
Add missing Makefile dependencies to CONFIG_SNOW_ENCODER.
...
Fixes build with --disable-encoders --enable-encoder=snow.
This fixes MPlayer build with --disable-mencoder.
Originally committed as revision 21259 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-17 08:24:45 +00:00
Michael Niedermayer
7931bb2a0c
Comment for() ; out
...
~200 bytes smaller ff_h264_filter_mb()
please everyone, NEVER add code with the assumtation that gcc will remove it
without checking gcc actually does. Chances are it does not.
Originally committed as revision 21251 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 17:41:40 +00:00
Michael Niedermayer
ed3d7e2f65
Mark a few functions as noinline, this makes ff_h264_filter_mb() a bit smaller
...
and 5% faster.
ff_h264_filter_mb_fast() stay the same size as gcc decided not to inline these
functions there in the first place.
Originally committed as revision 21250 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 17:27:17 +00:00
Michael Niedermayer
183a86c958
Apply last 2 optimizations to similar code i forgot.
...
Originally committed as revision 21249 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 16:21:12 +00:00
Michael Niedermayer
3f55a651c4
Another microopt, 4 cpu cycles for avoidance of FFABS().
...
Originally committed as revision 21248 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 16:14:32 +00:00
Måns Rullgård
1c6f46be03
Add missing guards and includes to arm/aac.h
...
Originally committed as revision 21247 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 15:54:01 +00:00
Michael Niedermayer
26147d368b
Minor (2 cpu cycles) optimization ||->|.
...
Originally committed as revision 21246 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 15:19:05 +00:00
ami_stuff
8be7ac98ca
Support decoding of SoftLab-NSK VideoTizer.
...
Patch by ami_stuff, ami_stuff o2 pl
Originally committed as revision 21245 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 13:13:49 +00:00
Michael Niedermayer
4c568cbcac
Consider slice_beta_offet in qp_thresh.
...
Originally committed as revision 21244 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 13:12:11 +00:00
Michael Niedermayer
2e36c931f0
Avoid wasting 4 cpu cycles per MB in redundantly calculating qp_thresh.
...
Originally committed as revision 21243 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 11:55:35 +00:00
Carl Eugen Hoyos
864a074213
Correctly decode some Avid AV1x samples, fixes issue 1684.
...
Originally committed as revision 21241 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 10:46:45 +00:00
Anatoly Nenashev
e1bb0364f8
Support lowres 3 when decoding MPEG video.
...
Patch by Anatoliy Nenashev, nenashev_as mail ru
Originally committed as revision 21239 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 10:41:52 +00:00
Michael Niedermayer
ddd60f28d8
Replace cabac checks in inline functions from h264.h with constants.
...
No benchmark because its just replacing variables with litteral constants
(so no risk for slowdown outside gcc silliness) and i need sleep.
Originally committed as revision 21237 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 05:41:33 +00:00
Måns Rullgård
a482e61bd6
Add symbol versioning for shared libraries
...
Based on patch by Reinhard Tartler <siretart tauware de>
Originally committed as revision 21236 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 04:49:02 +00:00
Vitor Sessak
d140b02581
SIPR16k decoder
...
Originally committed as revision 21234 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 03:54:55 +00:00
Vitor Sessak
d79c06b2ad
Allow a SIPR table to be used by the upcoming SIPR16k decoder
...
Originally committed as revision 21233 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 03:44:17 +00:00
Vitor Sessak
65323ed279
Split some SIPR structs to a header file for the upcoming SIPR16k commit
...
Originally committed as revision 21232 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 03:40:25 +00:00
ami_stuff
a4be782cbd
Support 2Vuy in mov, fixes issue 1690.
...
Patch by ami_stuff, ami_stuff o2 pl
Originally committed as revision 21230 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 00:32:09 +00:00
Måns Rullgård
2b9cb7ec71
Fix out of tree build with hardcoded tables
...
Originally committed as revision 21228 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-15 20:48:34 +00:00
Måns Rullgård
d356a53f44
AAC: optimise bitstream reading in decode_spectrum_and_dequant()
...
Using the low-level macros directly avoids redundant open/update/close
cycles.
2-3% faster on ARM, PPC, and Core i7.
Originally committed as revision 21224 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-15 14:02:52 +00:00
Carl Eugen Hoyos
59ea69ef54
Support decoding of Avid uncompressed mov files, fixes issue 1685.
...
Originally committed as revision 21223 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-15 11:03:40 +00:00
Carl Eugen Hoyos
a0ae3e41f3
Support decoding Avid 1:1x codec, (partially) fixes issue1684.
...
Originally committed as revision 21222 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-15 10:55:31 +00:00
Michael Niedermayer
7c2de274e7
Add forgotten include of h264_mvpred.h to h264.h.
...
This could have caused the linking failure of pred_pskip_motion() missing if
a compiler included never used static functions.
Originally committed as revision 21221 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-15 03:42:56 +00:00
Michael Niedermayer
e2dd8586d8
Add forgotton multiple inclusion guards to h264_mvpred.h.
...
Originally committed as revision 21220 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-15 03:41:28 +00:00
Måns Rullgård
798339fb46
AAC: ARM/NEON asm for VMUL2/4 functions
...
Originally committed as revision 21219 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-15 02:58:24 +00:00
Carl Eugen Hoyos
c78dfcdaf4
Do not assign codec_tag to pix_fmt in rawdec.c, but in raw.c
...
Originally committed as revision 21218 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-15 00:45:47 +00:00
Reimar Döffinger
29b75f0b67
Change code so it uses 2 adds instead of one FFABS.
...
About 1% faster ff_ac3_bit_alloc_calc_psd on Intel Atom, overall speedup
not measurable though.
Should have a bigger effect on systems without cmov or with very slow cmov.
Originally committed as revision 21214 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-14 17:50:33 +00:00
Alexander Strange
f267d3ac75
Implement alpha channel decoding for BGR HuffYUV.
...
Since BGR24 is decoded as BGR32, fill its alpha channel with 255
using the appropriate predictors.
Originally committed as revision 21211 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-14 01:32:49 +00:00
Måns Rullgård
2ef21b9179
AAC: Reduce depth of vlc_spectral tables to 2
...
Up to 6% faster overall on i7, no change on A8.
Originally committed as revision 21191 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 16:46:39 +00:00
Måns Rullgård
95dff4aced
AAC: Unswitch loop over window groups in decode_spectrum_and_dequant()
...
GCC should be able to do this, but doesn't. Slightly faster code.
Originally committed as revision 21190 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 16:46:35 +00:00
Måns Rullgård
05f9d8fcaa
AAC: simplify some calculations in decode_spectrum_and_dequant()
...
Simplify cur_band_type, group_len, and coef/offset calculations. This
makes the code easier to read and slightly faster.
Originally committed as revision 21189 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 16:46:32 +00:00
Måns Rullgård
c816d3d042
AAC: Compress codebook tables and optimise sign bit handling
...
The codebooks each consist of small number of values repeated in
groups of 2 or 4. Storing the codebooks as a packed list of 2- or
4-bit indexes into a table reduces their size substantially (from 7.5k
to 1.5k), resulting in less cache pressure.
For the band types with sign bits in the bitstream, storing the number
and position of non-zero codebook values using a few bits avoids
multiple get_bits() calls and floating-point comparisons which gcc
handles miserably.
Some float/int type punning also avoids gcc brain damage.
Overall speedup 20-35% on Cortex-A8, 20% on Core i7.
Originally committed as revision 21188 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 16:46:28 +00:00
Vitor Sessak
ef5e7fb253
Remove needless use of log2f()
...
Originally committed as revision 21185 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 04:35:19 +00:00
Vitor Sessak
1c3c129b8f
Remove the struct SiprModeParam of the context. This will simplify splitting
...
the file for future 16k mode decoder code.
Originally committed as revision 21184 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 04:29:55 +00:00
Måns Rullgård
f3da24c4c3
SIPR: kill variable-length arrays
...
Two of these are in fact constant size, so use the constant instead of
a variable in the declarations. The remaining one is small enough
that always using the maximum size is acceptable.
Originally committed as revision 21183 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 03:11:02 +00:00
Michael Niedermayer
0cd73b6c30
remove unused variable
...
Originally committed as revision 21182 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 02:44:38 +00:00
Michael Niedermayer
cc51b28299
Split cabac decoding code out of h264.c.
...
not slower according to benchmarks.
Originally committed as revision 21181 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 02:35:36 +00:00
Michael Niedermayer
8e71d89a7b
Move golomb_to_int*cbp tables back to h264_data.h as svq3.c used them.
...
Yes i did compile&test, no svq3.c was not recompiled.
Originally committed as revision 21180 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 02:17:16 +00:00
Zuxy Meng
0752cd39d2
More av_cold for infrequently called functions.
...
Originally committed as revision 21179 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 02:16:00 +00:00
Michael Niedermayer
e1e949026e
Split cavlc out of h264.c.
...
Seems to speed the code up a little...
The placement of many generic functions between h264.c and h264.h is still open
Currently they are a little randomly placed between them.
Originally committed as revision 21178 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 01:59:19 +00:00
Reimar Döffinger
1460c79097
Use MULH instead of 64x64 multiplication, around 5% overall speedup on Intel Atom.
...
Patch by myself and Yuriy Kaminskiy [yumkam mail ru]
Originally committed as revision 21175 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 23:02:07 +00:00
Michael Niedermayer
188d3c510d
Split motion vector prediction off h264.c/h.
...
Originally committed as revision 21174 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 21:36:26 +00:00
Michael Niedermayer
2bedc0e854
Move check_intra4x4_pred_mode() back from h264.h to h264.c, the function is just
...
called once per MB in worst case and doesnt seem to benefit from static inline.
Actually the code might be a hair faster now (0.1% according to my benchmark but
this could be random noise)
Originally committed as revision 21173 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 21:17:26 +00:00
Michael Niedermayer
ea6f00c448
Split all the reference picture handling off h264.c.
...
Originally committed as revision 21172 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 20:59:00 +00:00
Thilo Borgmann
099809d19b
Reindent after last commit.
...
Originally committed as revision 21171 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 20:37:56 +00:00
Thilo Borgmann
ff9ea0b7cc
Replace variable length array with an allocated buffer
...
in the context to increase compatibility.
Originally committed as revision 21170 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 20:35:22 +00:00
Michael Niedermayer
889fce8e30
Split (picture|seq) parameter set decoding out of h264.c.
...
no speedloss meassured, also its really not touching anything that is speed relevant.
Originally committed as revision 21169 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 19:33:45 +00:00
Michael Niedermayer
9c09546352
Split SEI code off h264.c.
...
Originally committed as revision 21168 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 18:54:40 +00:00
Michael Niedermayer
943f69a6ea
Split direct mode (macro)block decoding off h264.c.
...
No speedloss meassured (its slightly faster here but that may be random fluctuations)
Originally committed as revision 21165 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 14:32:58 +00:00
Michael Niedermayer
9514a0841a
Align mb_bit_buffer and vs_bit_buffer as their alignment is checked by assert().
...
Originally committed as revision 21164 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 13:54:35 +00:00
Zuxy Meng
a7494872d5
Reduce stack usage in svq1_encode_plane(). Reuse context scratch buffer
...
instead. Avoid a crash on MinGW.
Originally committed as revision 21162 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 09:13:32 +00:00
Michael Niedermayer
082cf97106
Split h264 loop filter off h264.c.
...
No meassureable speed difference on pentium dual & cathedral sample.
Originally committed as revision 21159 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 06:01:55 +00:00
Michael Niedermayer
419276c50d
Move svq3.o to the correct spot.
...
Originally committed as revision 21158 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 05:34:10 +00:00
Michael Niedermayer
903d58f631
Get rid of #include "svq3.c"
...
functions called more than per mb are moved into the header, scan8 is also
as it must be known at compiletime.
The code after this patch duplicates h264data.h, this has been done to minimize
the changes in this step and allow more fine grained benchmarking.
Speedwise this is 1% faster on my pentium dual core with diegos cursed cathedral
sample.
Originally committed as revision 21157 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 05:30:31 +00:00
Michael Niedermayer
a683681336
Better title for the file.
...
Originally committed as revision 21156 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 04:49:18 +00:00
Carl Eugen Hoyos
0941ee0fa6
Support uncompressed ("Resolution 1:1") Avid AVI Codec, (partially) fixes issue 1474.
...
Originally committed as revision 21154 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 00:29:26 +00:00
Måns Rullgård
dc0d86face
AAC: use table for cbrtf(n)*n
...
The maximum length of escape_sequence is 21 bits, so adjust limit in
code to match this.
Up to 10% faster on Cortex-A8.
Originally committed as revision 21153 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 20:21:26 +00:00
Måns Rullgård
7c8af53f87
AAC: escape_sequence is 21 bits max
...
The maximum length of escape_sequence is 21 bits, so adjust limit in
code to match this. Also fix the comment.
Originally committed as revision 21151 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 18:02:00 +00:00
Alex Converse
c460833d76
fft-test: Add RDFT/IRDFT support.
...
Originally committed as revision 21141 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 16:41:03 +00:00
Alex Converse
5b37ef8e43
fft-test: Replace do_mdct with a tf_transform enum and switch on it.
...
Originally committed as revision 21140 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 16:40:01 +00:00
Kostya Shishkov
eebece4641
Fix two RLE buffer size calculations in TSCC decoder.
...
Spotted by Zhongtuan Ma.
Originally committed as revision 21138 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 14:21:53 +00:00
Carl Eugen Hoyos
3b3a676a13
10l: Fix forgotten variable rename from r14893 (fixes issue 1675).
...
Originally committed as revision 21135 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 10:54:59 +00:00
Alexander Strange
7ffd8332c7
Add missing internal.h to files calling ff_match_2uint16().
...
Fixes warnings:
libavcodec/mpegvideo_enc.c:574: warning: implicit declaration of function
'ff_match_2uint16'
libavcodec/ituh263enc.c:143: warning: implicit declaration of function
'ff_match_2uint16'
libavcodec/svq1enc.c:97: warning: implicit declaration of function
'ff_match_2uint16'
Originally committed as revision 21133 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 04:57:04 +00:00
Michael Niedermayer
2c8077621b
Optimize ff_snow_horizontal_compose97i.
...
this makes the 9/7 C wavelet at the decoder side 22% faster.
The old code is changed to match the new in terms of the order of operations
(which also makes it sligtly faster)
Originally committed as revision 21132 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 02:52:50 +00:00
Michael Niedermayer
233a8b3d6b
Merge vertical_compose53iL0*()
...
8% faster C 5/3 wavelet at the decoder side.
Originally committed as revision 21131 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 01:00:50 +00:00
Michael Niedermayer
2a84512a74
Optimize horizontal_compose53i() by inlining inv_lift() and optimizing the
...
resulting code slightly. ~30% faster C 5/3 wavelet at the decoder side.
Originally committed as revision 21130 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 00:54:48 +00:00
David Conrad
24ca518bd1
Add support for dirac in ogg
...
Originally committed as revision 21128 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 00:31:52 +00:00
David Conrad
66b0255248
Add a function to parse Dirac's sequence header
...
Originally committed as revision 21127 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 00:31:44 +00:00
David Conrad
c4dffe7e36
Export fullrange flag and color information for h.264
...
Originally committed as revision 21126 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 00:31:39 +00:00
Vladimir Voroshilov
7bd3096f5f
SIPR decoder for modes 8k5, 6k5 and 5k0.
...
Patch by Vladimir Voroshilov and myself.
Originally committed as revision 21125 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-10 21:38:15 +00:00
Peter Ross
a1ae40fd0d
Deluxe Paint Animation decoder
...
Originally committed as revision 21117 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-10 05:41:36 +00:00
Michael Niedermayer
9e2e821468
Doxy for ff_match_2uint16().
...
Originally committed as revision 21115 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-10 04:06:34 +00:00
Michael Niedermayer
6c060b55a9
Fix implicit declaration warning.
...
Originally committed as revision 21114 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-10 04:04:51 +00:00
Michael Niedermayer
c46eeae2a8
Add a function to match a 2 element vector of uint16_t and use it in h263 and svq1
...
instead of custom and bloated code to find an index into a w/h array.
Originally committed as revision 21113 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-09 18:33:21 +00:00
Michael Niedermayer
aa11ce6568
Make inter_level/run global again, msmpeg4 uses them.
...
... I did test but it wasnt recompiled ...
Originally committed as revision 21112 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-09 18:12:06 +00:00
Michael Niedermayer
0366b6e199
Make some tables static again, i mistakely thought they would be used in several
...
places.
Originally committed as revision 21111 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-09 17:22:37 +00:00
Laurent Aimar
75dd693840
Export get_slice_type() as ff_h264_get_slice_type().
...
Patch by Laurent Aimar <fenrir at videolan dot org>.
Originally committed as revision 21110 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-09 16:20:41 +00:00
Michael Niedermayer
fc53b6afee
Split H263 encoder and decoder from common code.
...
Originally committed as revision 21109 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-09 14:59:06 +00:00
Reimar Döffinger
14b8607065
Add support for hard-coded MDCT-related ff_sine_windows tables.
...
Originally committed as revision 21108 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-09 13:28:04 +00:00
Laurent Aimar
b090930d43
Always initialize bit_depth_luma and bit_depth_chroma in the H264
...
decoder which allows their usage without checking profile_idc.
Patch by Laurent Aimar (fenrir (AT) videolan org)
Originally committed as revision 21107 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-09 07:57:26 +00:00
Peter Ross
8600106ac2
update my email address
...
Originally committed as revision 21106 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-09 03:31:13 +00:00
Michael Niedermayer
a7ac9c2f62
Move 3 direct MV related functions that i left out from h263.c to mpeg4video.c.
...
Originally committed as revision 21104 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 19:59:51 +00:00
Thilo Borgmann
b2f4b04336
Change local variable type from unsigned int to int in order to
...
fix a fate test error for gcc 4.1.x introduced in revision 21069.
Originally committed as revision 21103 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 19:53:42 +00:00
Michael Niedermayer
261a3c2d05
Move AVCodecs from h263dec.c to msmpeg4.c and disentangle init decode init.
...
Originally committed as revision 21102 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 19:40:10 +00:00
Michael Niedermayer
7213abf6ba
Use h263 tables in msmpeg4v1 dont duplicate them halfway.
...
Originally committed as revision 21101 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 19:10:11 +00:00
Daniel Verkamp
0219e99eea
Release cyuv/aura decoder buffer
...
Originally committed as revision 21100 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 18:54:52 +00:00
Måns Rullgård
3963a17d0e
AAC: add a const to decode_spectrum_and_dequant() args
...
Originally committed as revision 21099 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 17:52:54 +00:00
Michael Niedermayer
101ada9abd
Rename most non static h263 tables so their name contains h263.
...
Originally committed as revision 21098 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 17:51:48 +00:00
Michael Niedermayer
fef59a5b4b
Rename mpeg4 intra vlc tables so they contain "mpeg4", this improves readability
...
of msmpeg4 code (one now knows where that table comes from).
Originally committed as revision 21097 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 17:41:14 +00:00
Michael Niedermayer
05b858b045
Rename DCtab_*, its a global variable and it helps understanding if mpeg4
...
is in its name.
Originally committed as revision 21096 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 17:28:43 +00:00
Jai Menon
4536c8e603
Snow : re-indent after r21093.
...
Originally committed as revision 21094 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 16:37:32 +00:00
Jai Menon
a4bd598541
Snow : remove pointless 'if(1)'.
...
Originally committed as revision 21093 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 16:34:50 +00:00
Michael Niedermayer
28fbbee15f
Remove useless line.
...
Originally committed as revision 21092 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 16:26:44 +00:00