Commit Graph

192 Commits

Author SHA1 Message Date
Michael Niedermayer
d593e32983 use 16bit IDWT (a SIMD implementation of it should be >2x faster then with
the old 32bit code)
disable mmx/sse2 optimizations as they need a rewrite now

Originally committed as revision 10218 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-25 03:00:51 +00:00
Michael Niedermayer
b538791bc9 use more bits on the encoder side
negligible increase in quality

Originally committed as revision 10195 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-23 10:49:14 +00:00
Michael Niedermayer
81717747ab simplify
Originally committed as revision 10186 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-22 17:26:49 +00:00
Michael Niedermayer
ce611a27be Change rounding of the horizontal DWT to match the vertical one.
This allows some simplifications and optimizations and should
not have any effect on quality.

Originally committed as revision 10172 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-21 16:29:40 +00:00
Michael Niedermayer
49ca0e531a get rid of idiotc double subtraction
Originally committed as revision 10154 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-20 22:18:26 +00:00
Diego Biurrun
1903245071 Ahem, fix typos overlooked in last commit.
Originally committed as revision 9816 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-28 12:50:28 +00:00
Diego Biurrun
df3a80b50a cosmetics: misc typo fixes
Originally committed as revision 9815 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-28 12:46:26 +00:00
Panagiotis Issaris
d04d5bcd0e Fix the self tests which are contained in some codecs and are using random().
Originally committed as revision 9755 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-19 08:47:07 +00:00
Måns Rullgård
bad700e346 trivial warning fixes
Originally committed as revision 9547 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-08 23:14:54 +00:00
Aurelien Jacobs
32a4d995ea include snow encoder only if it is not disabled
Originally committed as revision 9494 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-05 22:57:52 +00:00
Diego Biurrun
755bfeabcc misc spelling fixes
Originally committed as revision 9289 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-12 09:29:25 +00:00
Michael Niedermayer
61d49d122c fix assert() 2nd try
Originally committed as revision 9163 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-30 21:38:57 +00:00
Michael Niedermayer
1e6b570087 fix assertion failure
Originally committed as revision 9152 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-29 16:51:55 +00:00
Diego Biurrun
2029f312e8 Remove redundant #inclusion of common.h, avcodec.h already #includes it.
Originally committed as revision 8967 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-10 09:00:44 +00:00
Reimar Döffinger
f66e4f5f9e Add av_ prefix to clip functions
Originally committed as revision 8122 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-25 10:27:12 +00:00
Diego Biurrun
eafcac6ac8 cosmetics: Fix another common typo, dependAnt --> dependEnt.
Originally committed as revision 8114 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-24 09:41:43 +00:00
Diego Biurrun
71e445fca3 Replace deprecated PIX_FMT names by the newer variants.
Originally committed as revision 7867 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-07 01:48:09 +00:00
Panagiotis Issaris
9dd6c80453 Add the const specifier as needed to reduce the number of warnings.
Originally committed as revision 7764 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-30 10:31:34 +00:00
Panagiotis Issaris
b5bfb9f9de Silence GCC when incorrectly complaining that the "line" variable could be used
without having been initialized.

Originally committed as revision 7711 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-25 15:23:22 +00:00
Panagiotis Issaris
aadcc5cecd Bring down the number of snow.c warnings from 27 to 17 by using the const
keyword.

Originally committed as revision 7706 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-25 09:54:22 +00:00
Panagiotis Issaris
6884c36c42 Brings down the number of snow.c warnings from 33 to 27 by putting parentheses
around + or - inside shift.

Originally committed as revision 7704 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-25 09:43:52 +00:00
Panagiotis Issaris
e2158da8cc Change the Snow encoder to always use the available MotionEstContext pointer.
Originally committed as revision 7579 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-18 13:35:24 +00:00
Michael Niedermayer
1e90b34f08 dead code removial
Originally committed as revision 7405 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-03 00:48:20 +00:00
Michael Niedermayer
396a5e6837 store a few values in the header as difference to the last
this makes frames a few bytes smaller (0.1% for high bitrate but >1% for low bitrates)

Originally committed as revision 7401 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-02 12:24:31 +00:00
Måns Rullgård
849f10351d rename always_inline to av_always_inline and move to common.h
Originally committed as revision 7256 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-12-08 00:35:08 +00:00
Måns Rullgård
486497e07b revert bad checkin
Originally committed as revision 7044 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-14 03:18:09 +00:00
Måns Rullgård
be6ed6fff4 move some CFLAGS settings away from config.* writing section
Originally committed as revision 7043 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-14 03:12:29 +00:00
Måns Rullgård
1d50395746 rename squareTbl -> ff_squareTbl
Originally committed as revision 6995 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-12 21:48:04 +00:00
Tom Harper
a9dc190f17 outputs bit spent on various encoding functions (motion vectors, overhead, etc)
back into AVCodecContext for external consumption
patch by Tom Harper % d P thomas P harper A gmail P com %
Original thread:
Date: Nov 2, 2006 1:30 AM
Subject: [Ffmpeg-devel] [patch] snow stats

Originally committed as revision 6872 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-02 19:11:20 +00:00
Steve L'Homme
949b1a13bf Replace most of the %lld and %llx by their (cleaner) PRI*64 counterparts.
patch by Steve Lhomme, slhomme divxcorp com

Originally committed as revision 6868 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-01 22:39:58 +00:00
Michael Niedermayer
5ed0d67da5 -1 is a valid return value in ratecontrol_1pass() -> 100l for takis
Originally committed as revision 6677 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-12 20:55:42 +00:00
Diego Biurrun
c26abfa541 Rename ABS macro to FFABS.
Originally committed as revision 6666 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-11 23:17:58 +00:00
Diego Biurrun
b78e7197a8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
and fix GPL/LGPL version mismatches.

Originally committed as revision 6577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-07 15:30:46 +00:00
Diego Biurrun
36c32bdddf Remove unused variables and the corresponding warnings along with them.
Originally committed as revision 6536 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-03 17:12:48 +00:00
Panagiotis Issaris
4156a436e3 Handle possible failure of ff_eval.
Originally committed as revision 6338 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-26 14:04:36 +00:00
Loren Merritt
f7e89c73e3 snow cosmetics: merge the sliced and non-sliced versions of add_yblock
Originally committed as revision 6149 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-01 22:02:38 +00:00
Loren Merritt
74e6a8aade fix snow 1pass rc: the qlog used and the one written to the bitstream weren't always the same.
Originally committed as revision 6148 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-01 21:51:35 +00:00
Diego Biurrun
ed4e20ac7f Fix some "'static' is not at beginning of declaration" warnings.
Originally committed as revision 5956 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-08 10:24:26 +00:00
Michael Niedermayer
086bfd256e support doing motion estimation and compensation without any residual transform or coding
this is usefull for filters which need ME/MC

Originally committed as revision 5456 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-06-04 21:54:58 +00:00
Loren Merritt
7374794a89 Snow: don't try to encode lossless with 9/7 wavelet, because it isn't lossless.
Originally committed as revision 5433 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-05-30 19:45:12 +00:00
Loren Merritt
d4b287ed36 Snow: cosmetics
Originally committed as revision 5432 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-05-30 19:40:28 +00:00
Loren Merritt
85fc0e7531 Snow: scale predicted mv based on which reference frame the neighbors used.
Originally committed as revision 5431 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-05-30 16:42:29 +00:00
Loren Merritt
7f21a9a7b8 Snow: cosmetics
Originally committed as revision 5428 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-05-30 06:49:15 +00:00
Loren Merritt
871371a768 Snow: fix subband weighting in wavelet cmp functions. use 32x32 cmp in iterative motion estimation.
Originally committed as revision 5427 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-05-30 05:44:22 +00:00
Loren Merritt
383f62fdfe Snow: 10l. 1pass ratecontrol failed to set snow's internal quant.
Originally committed as revision 5426 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-05-30 04:51:58 +00:00
Loren Merritt
8c36eaaa94 Snow multiple reference frames
(bitstream is not backwards compatible, even if refs aren't used)

Originally committed as revision 5417 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-05-28 21:44:47 +00:00
Loren Merritt
4e64beadf0 Snow 1pass ratecontrol
Originally committed as revision 5416 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-05-28 12:38:10 +00:00
Michael Niedermayer
3a1a7e32ac sanity checks, some might have been exploitable ...
Originally committed as revision 5369 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-05-13 10:45:26 +00:00
Robert Edele
561a18d3ba Snow mmx + sse2 part 2
Patch by Robert Edele,  yartrebo <<at>> earthlink <<dot>> net

Originally committed as revision 5184 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-20 05:52:23 +00:00
Robert Edele
059715a41c First part of a series of speed-enchancing patches.
This one sets up a snow.h and makes snow use the dsputil function pointer
framework to access the three functions that will be implemented in asm
in the other parts of the patchset.
Patch by Robert Edele < yartrebo AH earthlink POIS net>
Original thread:
Subject: [Ffmpeg-devel] [PATCH] Snow mmx+sse2 asm optimizations
Date: Sun, 05 Feb 2006 12:47:14 -0500

Originally committed as revision 5172 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-16 19:18:18 +00:00
Michael Niedermayer
fc8c49926c dont pass intra flag if its always 0
Originally committed as revision 5164 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-14 00:22:05 +00:00
Loren Merritt
8f8ae4951e seed iterative_me with mvs from conventional search.
+15% speed, +.1 dB

Originally committed as revision 5158 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-13 01:27:13 +00:00
Loren Merritt
07674d518c obey vqscale in 2nd pass
Originally committed as revision 5157 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-13 01:26:06 +00:00
Michael Niedermayer
e7c8206e5c av_free -> av_freep
Originally committed as revision 5145 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-11 00:19:32 +00:00
Michael Niedermayer
87f20c2f31 fix %8 != 0 w/h
Originally committed as revision 5144 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-11 00:18:43 +00:00
Dieter
ceaf1909c1 add static keyword to some functions
patch by Dieter <freebsd at sopwith solgatos com>

Originally committed as revision 4913 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-30 23:33:19 +00:00
Diego Biurrun
4f59b684a6 Remove all stray tabs and trailing whitespace, this time for good.
Originally committed as revision 4891 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-24 10:33:14 +00:00
Loren Merritt
48d1b9a17c fix convergence of snow iterative_me
Originally committed as revision 4876 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-21 02:35:03 +00:00
Loren Merritt
3de79d0dca revert 1.83 because it's not needed
Originally committed as revision 4875 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-21 02:33:01 +00:00
Loren Merritt
d3ac6ed667 detect when iterative_me fails to converge, and stop searching
Originally committed as revision 4868 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-19 09:21:39 +00:00
Loren Merritt
b104969fab obmc-aware 4mv
Originally committed as revision 4864 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-17 08:27:39 +00:00
Diego Biurrun
5509bffa88 Update licensing information: The FSF changed postal address.
Originally committed as revision 4842 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-12 22:43:26 +00:00
Michael Niedermayer
c8a596d210 bugs found by valgrind
Originally committed as revision 4841 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-12 21:37:57 +00:00
Loren Merritt
1015631b79 faster iterative_me: avoid duplicate mc of neighboring blocks.
Originally committed as revision 4839 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-12 05:47:52 +00:00
Michael Niedermayer
80e44bc3bf use h264 MC functions for 2xX Xx2 blocks in snow too
Originally committed as revision 4824 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-08 01:50:34 +00:00
Michael Niedermayer
2692ceab8b use h264 MC functions for rectangular blocks too
Originally committed as revision 4821 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-07 18:34:19 +00:00
Michael Niedermayer
39277cf949 10l (assertion failure)
Originally committed as revision 4819 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-07 03:39:10 +00:00
Michael Niedermayer
3b6ab26c01 cleanup
fix 4mv playback distortions

Originally committed as revision 4813 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-04 22:34:11 +00:00
François Revol
003cd80df9 :%s/check_block_2p/check_block_inter/g
Originally committed as revision 4794 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-30 22:41:32 +00:00
François Revol
52137f2f43 this fixes compilation with gcc 2.95 which seems to not like array casting... special case inline of check_block which makes the array and passes it
Originally committed as revision 4793 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-30 21:05:44 +00:00
Michael Niedermayer
13705b69eb mem corruption fix
Originally committed as revision 4789 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-30 15:12:02 +00:00
Michael Niedermayer
d6f41eeddc 4mv + iter ME 10l fix (still not bugfree but better)
Originally committed as revision 4783 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-29 02:17:51 +00:00
Michael Niedermayer
735f9f34fe 10l
Originally committed as revision 4782 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-28 23:45:16 +00:00
Michael Niedermayer
51d6a3cf00 iterative overlapped block based motion estimation for snow
Originally committed as revision 4781 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-28 15:43:53 +00:00
Diego Biurrun
bb270c0896 COSMETICS: tabs --> spaces, some prettyprinting
Originally committed as revision 4764 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-22 01:10:11 +00:00
Michael Niedermayer
daba69b211 10l
Originally committed as revision 4758 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-19 18:26:17 +00:00
Diego Biurrun
115329f160 COSMETICS: Remove all trailing whitespace.
Originally committed as revision 4749 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-17 18:14:38 +00:00
Michael Niedermayer
4393e6392c check block_max_depth (fixes crash)
Originally committed as revision 4718 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-03 14:20:03 +00:00
Michael Niedermayer
91aa4e3300 make selftest code compile again
Originally committed as revision 4717 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-03 03:07:54 +00:00
Aurelien Jacobs
62ab0b7822 fix unused variable warnings
Originally committed as revision 4609 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-09-21 23:09:16 +00:00
Michael Niedermayer
cc884a3506 reducing minimum supported picture size
Originally committed as revision 4535 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-08-21 22:17:41 +00:00
Michael Niedermayer
9cd8179818 #defines for strict_std_compliance and split between inofficial extensions and non standarized things
Originally committed as revision 4205 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-08 20:15:42 +00:00
Michael Niedermayer
644a92626a PIX_FMT_NONE and related fixes
Originally committed as revision 4161 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-25 18:29:06 +00:00
Yartrebo
66b32bf272 tighter snow slicing patch by (Yartrebo || yartrebo earthlink net)
Originally committed as revision 4159 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-25 10:03:01 +00:00
Mike Melanson
160d679c07 Ministry of English Composition, reporting for duty (and the word is "skipped", not "skiped"; "skiped" would rhyme with "hyped")
Originally committed as revision 4153 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-24 17:21:11 +00:00
Yartrebo
8c2515bbb9 fix overflow in mc_block() patch by (Yartrebo )yartrebo earthlink net
Originally committed as revision 4132 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-17 09:27:53 +00:00
Michael Niedermayer
b44985ba12 store the number of runs to avoid storing the last run value
about 10% lower bitrate for -qscale 32 (forman & some music video)
worst case bitrate increase <0.1% (lossless or low qscale)
and now the bad news, even though this just adds a single subtraction and an if() into the medium sized unpack_coeffs() loop and the if() will only be false once per unpac_coeff() call, gcc produces 50% slower code, i didnt look at the generated asm yet, not sure if i want to ...

Originally committed as revision 4131 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-15 13:24:30 +00:00
Loren Merritt
2cd340438a allow 2pass ratecontrol. also fixes psnr displayed by mencoder.
Originally committed as revision 4130 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-15 05:54:47 +00:00
Michael Niedermayer
cbb1d2b161 replace complicated pointer dereference + index stuff by pointers in unpack_coeffs()
Originally committed as revision 4129 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-14 20:54:03 +00:00
Michael Niedermayer
99cd59e58f minor optimization
Originally committed as revision 4128 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-14 20:30:08 +00:00
Michael Niedermayer
3c096ac791 optimizing unpack_coeffs()
Originally committed as revision 4127 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-14 18:33:26 +00:00
Yartrebo
86e59cc01d Snow segfault bug in revision 1.43 patch by (Yartrebo /yartrebo earthlink net/)
Originally committed as revision 4126 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-13 01:57:19 +00:00
Michael Niedermayer
f5a719287d rescale coefficients during IDWT, that way the lifting steps are much simpler and faster
Originally committed as revision 4119 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-10 14:21:53 +00:00
Michael Niedermayer
a0a74ad9f0 increasing precission of the quantization parameter
this is needed as the quantization stepsize for each subband is also in this precission and insignificant changes to the wavelet like scaling its coefficients slightly differently would lead to wildly variing PSNR and bitrate
note, a encoder could also simply choose to leave the least significant bits of the quantization parameters zero which would give the exact previous behaviour except a y very tiny number of bits in  the header

Originally committed as revision 4115 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-09 22:15:48 +00:00
Michael Niedermayer
c97de57c39 fix QROOT != 8
Originally committed as revision 4114 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-09 19:48:59 +00:00
Michael Niedermayer
538a38418c 10% faster unpack_coeffs
Originally committed as revision 4108 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-05 17:59:05 +00:00
Michael Niedermayer
3cff4572ce fixing lossless snow
Originally committed as revision 4107 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-05 09:37:43 +00:00
Michael Niedermayer
565a45ace3 merge vertical lifting steps and a little cleanup
Originally committed as revision 4104 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-04 21:35:18 +00:00
Yartrebo
a0d1931c0e Snow Slicing patch by (Yartrebo) yartrebo earthlink net
Originally committed as revision 4101 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-03 15:43:57 +00:00
Loren Merritt
f9e6ebf7f9 slice-based idwt (10% faster decoding)
Originally committed as revision 4040 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-03-15 21:05:34 +00:00