Nathan Caldwell
d56920e206
aacenc: Correct spreading calculation for high spreading.
...
The 3GPP spec uses the following calculation for high spreading:
thr'_spr = max(thr_scaled, s_h(n) * thr_scaled(n-1))
where, n is defined as the current band, and s_h() is defined as "[...] the
distance of adjacent bands in Bark and a constant slope that is 15 dB/Bark
[...]". This is a little ambiguous as you would assume you want the Bark
width of the previous band for this calculation. However, this assumption
appears to be incorrect, and you really want the Bark width of the current
band. Coincidentally this is exactly what the spec calls for! =P
This noticeably improves Tom's Diner at low bitrates (I tested at 64kbps,
with mid/side disabled).
Patch by: Nathan Caldwell <saintdev@gmail.com>
Originally committed as revision 25622 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-01 07:45:13 +00:00
Nathan Caldwell
3ea12f65ba
aacenc: cosmetics: Swap spreading_hi/low name to match the 3GPP spec.
...
Patch by: Nathan Caldwell <saintdev@gmail.com>
Originally committed as revision 25621 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-01 07:39:31 +00:00
Ramiro Polla
a4ece893e1
lpc_mmx: add xmm registers to clobber list
...
Originally committed as revision 25620 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-31 23:37:15 +00:00
Ramiro Polla
e5d5407e26
lpc_mmx: merge some asm blocks
...
These blocks depended on the compiler keeping xmm registers untouched between
them.
Originally committed as revision 25619 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-31 23:36:26 +00:00
Ramiro Polla
eed299b897
sad16_sse2: merge 2 asm blocks
...
Originally committed as revision 25617 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-31 21:20:20 +00:00
Ramiro Polla
153ca56b38
xmm_clobbers: list xmm registers first in clobber list
...
suncc does not like the leading commas inside the macro, but it has no problem
with trailing commas.
Originally committed as revision 25615 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-31 18:14:48 +00:00
Ramiro Polla
ba40452095
idct_sse2_xvid: only mark xmm>=8 as clobbered on x86_64
...
Originally committed as revision 25614 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-31 16:28:28 +00:00
Ramiro Polla
05c018078c
motion_est_mmx: prefer xmm registers below xmm6 when they are available
...
Originally committed as revision 25612 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-31 15:07:21 +00:00
Ramiro Polla
5d543a3d13
dsputil_mmx: add xmm registers to clobber list
...
Originally committed as revision 25611 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-31 13:57:58 +00:00
Ramiro Polla
e2d13c5882
cosmetics: split long line
...
Originally committed as revision 25610 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-31 13:46:17 +00:00
Ramiro Polla
0d729e0de2
fdct_mmx: add xmm registers to clobber list
...
Originally committed as revision 25609 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-31 13:45:04 +00:00
Ramiro Polla
616735eb97
idct_sse2_xvid: add xmm registers to clobber list
...
Originally committed as revision 25608 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-31 13:17:43 +00:00
Ramiro Polla
9943f3b91c
mpegvideo_mmx: add xmm registers to clobber list
...
Originally committed as revision 25607 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-31 13:15:16 +00:00
Ramiro Polla
559738eff3
dsputil_mmx: prefer xmm registers below xmm6 when they are available
...
Originally committed as revision 25606 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-31 13:13:53 +00:00
Ramiro Polla
888d78ac98
bink: make bink_rlelens static (it's only used in this file)
...
Originally committed as revision 25605 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-30 19:51:46 +00:00
Ramiro Polla
51d592dbcb
h264dsp: add xmm registers to clobber list
...
Originally committed as revision 25604 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-30 17:14:22 +00:00
Ramiro Polla
ac19f4a3e8
indent
...
Originally committed as revision 25598 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-28 18:31:30 +00:00
Ramiro Polla
cae05859e1
h264dsp: merge some more asm blocks
...
Originally committed as revision 25597 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-28 18:22:21 +00:00
Michael Niedermayer
a0e7079a20
Fix 10l leak in ffv1.
...
Originally committed as revision 25595 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-28 12:15:50 +00:00
Michael Niedermayer
73cbf86830
Try to find a bit better initial states in ffv1 2pass.
...
Difference in filesizes to foreman ffv1 version=2, context=1 coder=1
18637016 adv-pass2-g300.avi
18638806 adv-pass1-g300.avi
18640534 ref-pass2-g300.avi
18918214 adv-pass2-g1.avi
18982048 ref-pass2-g1.avi
21516230 adv-pass1-g1.avi
Originally committed as revision 25594 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-28 12:15:47 +00:00
Michael Niedermayer
0ae0faa7c0
Keep track of how many slices*gops where encoded in ffv1 2 pass.
...
Originally committed as revision 25593 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-28 12:15:44 +00:00
Michael Niedermayer
3f0671a2d3
factorize variable declaration in ffv1.
...
Originally committed as revision 25592 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-28 12:15:40 +00:00
Jason Garrett-Glaser
3dde66752d
Fix crashes in vorbis decoding found by zzuf
...
Fixes issue 2322.
Originally committed as revision 25591 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-27 16:30:01 +00:00
Nathan Caldwell
c8dcb9dee1
aacenc: Remove energy 'normalization' modification from the 3GPP psymodel
...
This greatly improves bitrate handling. You will now get within a few
kbps of your requested bitrate instead of 20-40kbps higher.
There is absolutely no analog to this line in the 3GPP spec, that I
can find.
patch by Nathan Caldwell saintdev (at) gmail
Originally committed as revision 25589 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-27 06:36:47 +00:00
Nathan Caldwell
4df5aebb81
aacenc: Fix threshold-in-quiet calculation in the 3GPP psymodel.
...
Removing the modification vastly improves quality (at a slight bitrate
cost) for some samples. castanets.wav is a good example. The closest
equivalent I see to the modification in the 3GPP spec is a similar
modification (over a specific frequency range) when TNS is used.
This also changes the threshold-in-quiet calculation to match the
3GPP spec.
patch by Nathan Caldwell saintdev (at) gmail
Originally committed as revision 25588 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-27 05:54:44 +00:00
Nathan Caldwell
eafadadaf5
aacenc: Fix the conditions under which 3GPP pre-echo control is run.
...
According to the 3GPP spec:
"Thus the pre-echo control is inactive for the first short window (but
not all short windows in a short frame) after a start block and for
all frames with a stop window sequence."
Currently, pre-echo control is only run when the current frame is not
a short frame, and the previous frame is not a short frame.
patch by Nathan Caldwell saintdev (at) gmail
Originally committed as revision 25587 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-27 05:54:41 +00:00
Michael Niedermayer
b7b5bccb8d
FFV1 initial state 2pass code.
...
Originally committed as revision 25584 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-26 23:01:17 +00:00
Michael Niedermayer
28a3f525c9
Read & write initial_states for ffv1
...
Originally committed as revision 25583 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-26 23:01:14 +00:00
Michael Niedermayer
99a5e93526
Add initial_states array to ffv1.
...
Originally committed as revision 25582 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-26 23:01:11 +00:00
Michael Niedermayer
672e7e391a
Add rc_stat2 to ffv1 this will be needed for finding good initial contexts in 2 pass mode.
...
Originally committed as revision 25581 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-26 23:01:07 +00:00
Michael Niedermayer
19721b23e3
Optimize state initialization in ffv1 clear_state().
...
Originally committed as revision 25580 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-26 23:01:04 +00:00
Michael Niedermayer
c42c1007c7
Only allocate stats_out when needed in ffv1
...
Originally committed as revision 25579 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-26 23:01:00 +00:00
Michael Niedermayer
2a317c6be4
Factorize litteral constents in ffv1 into STATS_OUT_SIZE.
...
Originally committed as revision 25578 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-26 23:00:57 +00:00
Michael Niedermayer
349d72870f
Make 1pass statistic collection in ffv1 put_symbol_inline() conditional to avoid slowdown when more statistic collection code is added.
...
Originally committed as revision 25577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-26 23:00:49 +00:00
Jason Garrett-Glaser
9d777508fa
Remove dead code in theora_decode_tables
...
Reading 7 bits as an unsigned int can't result in a value exceeding 127.
Accordingly, remove error message (as it'll never be reached).
Originally committed as revision 25575 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-26 07:37:51 +00:00
Jason Garrett-Glaser
10f6915814
Reindent after r25573
...
Originally committed as revision 25574 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-26 07:30:01 +00:00
Jason Garrett-Glaser
1a48a57071
Fix Theora decoding bug if loopfilter is completely disabled
...
Bug caused by the fact that get_bits(gb, 0) is undefined.
Doesn't affect any streams generated by the official Theora encoder, but such
streams are nevertheless valid.
Fixes decoding of CELT-933dd833-nmr-bandt.ogv.
Originally committed as revision 25573 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-26 07:29:00 +00:00
Jason Garrett-Glaser
313b52fbff
Clean up ALACdec
...
Do decode init in the init function instead of at the first frame.
Fix some possible crash cases.
Originally committed as revision 25572 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-26 07:20:51 +00:00
Michael Niedermayer
fc3128c9d5
Increase ffv1 encoding speed from 65 to 80 fps by forcing some inlining.
...
Originally committed as revision 25571 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-26 01:59:14 +00:00
Michael Niedermayer
e1f51b8821
Add quant_table_index to ffv1 PlaneContext and use it instead of duplicating the currents implementation of calculating it.
...
Originally committed as revision 25570 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-26 01:59:03 +00:00
Ramiro Polla
c6a908be58
dct32: mark xmm registers in clobber list in ff_dct32_float_sse()
...
Originally committed as revision 25569 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-25 20:29:29 +00:00
Ramiro Polla
b32c9ca9a3
h264dsp: merge some asm blocks
...
Some code was initializing some xmm registers in one asm block and using them
in the following block, assuming they wouldn't be changed in between blocks.
Originally committed as revision 25568 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-25 18:02:02 +00:00
Nicolas George
3ab354d777
Make libx264 take the pict_type input parameter into account,
...
thus making forced key frames work.
Patch by Nicolas George, nicolas d george a normalesup d org
Originally committed as revision 25567 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-25 14:40:00 +00:00
Nathan Caldwell
276df9d821
aacenc: Fix bug in LAME windowing where only one channel got initalized
...
I used the same loop counter for the inner and outer initalization loops.
This caused initalization to only run for the first channel. This in turn lead
to any channel other than the first using only short blocks.
Patch by Nathan Caldwell, saintdev at gmail
Originally committed as revision 25566 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-25 06:15:21 +00:00
Michael Niedermayer
ce3716bf05
Move ffv1 state transition table sorting to its own function.
...
Originally committed as revision 25563 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-24 16:55:42 +00:00
Michael Niedermayer
19591033f7
Fix the case with swaping states 127 and 129 in ffv1
...
Originally committed as revision 25562 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-24 12:35:42 +00:00
Michael Niedermayer
98d2f7a47f
Optimize state transition table sorting in ffv1
...
Originally committed as revision 25561 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-24 12:31:12 +00:00
Michael Niedermayer
bc29ae4a77
2 pass mode for ffv1 to optimally order the range coder states.
...
Originally committed as revision 25560 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-24 12:31:09 +00:00
Michael Niedermayer
6019cd9ff2
Factorize state_transition init out.
...
Originally committed as revision 25559 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-24 12:31:00 +00:00
James Zern
2aa72ecccc
Add new -slices option and use it for libvpx and libx264.
...
Patch by James Zern, jzern google
Originally committed as revision 25551 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-22 18:09:14 +00:00
Nicolas George
f9b4eef457
Use forced key frames when encoding with libxvid.
...
Patch by Nicolas George, nicolas D george A normalesup D org
Originally committed as revision 25550 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-22 18:01:48 +00:00
Michael Niedermayer
4c3267aaad
Fix memleak in mjpeg decoder.
...
Originally committed as revision 25549 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-22 02:25:26 +00:00
Michael Niedermayer
a2d4dfd493
Optimize EOB check in mjpeg decode_block() by adjusting the VLC symbol.
...
Originally committed as revision 25548 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-21 22:44:51 +00:00
Michael Niedermayer
e4463f21ee
Simplify last coeff check in mjpeg decode_block()
...
Originally committed as revision 25547 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-21 22:44:47 +00:00
Michael Niedermayer
2111a191eb
Check index in mjpeg AC decode against overflowing.
...
This fixes a possibly exploitable buffer overflow and it will likely also be needed for future overreading fixes.
Originally committed as revision 25546 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-21 22:44:44 +00:00
Michael Niedermayer
5675a11f92
Add a seperate VLC table for progressive jpeg so we dont have to subtract 16 in the inner loop.
...
Originally committed as revision 25545 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-21 22:44:41 +00:00
Michael Niedermayer
8870b25140
Factor code&0xf out of if() in decode_block_progressive().
...
Originally committed as revision 25544 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-21 22:44:37 +00:00
Michael Niedermayer
7f4a1e8f6c
Cleanup decode_block_progressive()
...
Originally committed as revision 25543 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-21 22:44:34 +00:00
Michael Niedermayer
614252863d
Factorize ((unsigned) code) >> 4 out of decode_block_progressive() in jpeg.
...
Originally committed as revision 25542 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-21 22:44:31 +00:00
Michael Niedermayer
76c80ef569
Move if() in mjpeg decode_block() to simplify condition.
...
Originally committed as revision 25541 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-21 22:44:28 +00:00
Michael Niedermayer
1932182498
Simplify build_vlc() by using init_vlc_sparse() in mjpeg.
...
Originally committed as revision 25540 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-21 22:44:18 +00:00
Rafaël Carré
fc068f9f27
Fixed DXVA_Slice_H264_Long::BitOffsetToSliceData value.
...
The 8 bits offset (nal unit type) should not be added, as the spec says:
"This bit offset is the offset within the RBSP data for the slice, relative
to the starting position of the slice_header() in the RBSP"
This fixes DXVA2 support for intel GPU.
Patch by Rafaël Carré (funman _AT_ videolan _DOT_ org).
Originally committed as revision 25538 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-21 18:39:57 +00:00
Baptiste Coudurier
b4a6c8fb50
cosmetics, indentation
...
Originally committed as revision 25533 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-21 06:22:54 +00:00
Baptiste Coudurier
12a5150bf4
10l fix h263+ encoder, format will be 8, array size is 8 not 7
...
Originally committed as revision 25532 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-21 06:21:07 +00:00
Michael Niedermayer
c868524b9a
Replace 5 by named constant MAX_CONTEXT_INPUTS in ffv1.c
...
Originally committed as revision 25529 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-19 17:26:27 +00:00
Stefano Sabatini
f2f8fb1035
Remove redundant text in the log.
...
Originally committed as revision 25517 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-18 13:19:59 +00:00
Stefano Sabatini
082a857522
Make XAN decoder return meaningful error codes.
...
Originally committed as revision 25516 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-18 13:19:53 +00:00
Michael Niedermayer
d721141f54
Move shared functions out of CONFIG_FFV1_ENCODER ifdef
...
Originally committed as revision 25511 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-16 21:31:16 +00:00
Michael Niedermayer
d56839fc6d
Store slice position and size per keyframe in ffv1.2
...
Originally committed as revision 25478 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-15 02:05:06 +00:00
Michael Niedermayer
1da7257739
Fix indention of ffv1.c after previous commits.
...
Originally committed as revision 25477 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-14 22:10:50 +00:00
Michael Niedermayer
e42393d168
Store quant table index per plane and slice.
...
Originally committed as revision 25476 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-14 22:03:41 +00:00
Michael Niedermayer
f08ed90d94
Assert that the context doesnt overflow in ffv1.
...
Originally committed as revision 25475 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-14 22:03:38 +00:00
Michael Niedermayer
e2b2f8454c
Rectangular slice support for ffv1.2
...
Originally committed as revision 25474 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-14 22:03:32 +00:00
James Zern
da7548585e
Fix crash when using iblock option (when a warning is logged).
...
Patch by James Zern, jzern google
Originally committed as revision 25472 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-14 07:47:49 +00:00
Stefano Sabatini
aec966958c
Add support for PIX_FMT_RGBA in the targa encoder.
...
Patch sponsored by Animoto.
Originally committed as revision 25470 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-13 13:11:45 +00:00
Stefano Sabatini
bbf874f19b
Use named constants defined in targa.h.
...
Originally committed as revision 25465 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-13 10:39:47 +00:00
Stefano Sabatini
b5becbab09
Create a targa.h file to contain common definitions for targa encoder
...
and decoder.
Originally committed as revision 25464 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-13 10:39:45 +00:00
Stefano Sabatini
e259eadcab
Make the targa encoder return sane error values rather than -1.
...
Originally committed as revision 25455 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-12 18:44:28 +00:00
Stefano Sabatini
7c559bc77e
Targa encoder: log error message in case the pixel format in input is
...
not supported.
Originally committed as revision 25454 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-12 18:44:25 +00:00
Michael Niedermayer
c5ac275b2e
Allow storing multiple quant tables in extradata that can then be selected per keyframe in ffv1.
...
Originally committed as revision 25439 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-10 21:04:45 +00:00
Michael Niedermayer
0f27aca7b3
Store global things in extradata for ffv1 ver=2.
...
ver=2 is not set yet so this does not affect output.
Originally committed as revision 25438 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-10 21:04:41 +00:00
Michael Niedermayer
228adaab8d
Make sure version is not decreased for 16bit per sample colorspaces in ffv1.
...
Originally committed as revision 25437 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-10 21:04:38 +00:00
Michael Niedermayer
4f22b3bbbf
Factorize quant table read and write code in ffv1.c
...
Originally committed as revision 25436 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-10 21:04:34 +00:00
Martin Storsjö
6ded3a0411
Fix headers so that "make checkheaders" passes again
...
Originally committed as revision 25411 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-08 08:56:36 +00:00
Reimar Döffinger
6c2142809c
Add d modifier to asm argument to fix nasm compilation.
...
Originally committed as revision 25397 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-07 19:18:18 +00:00
John Stebbins
2c5438aa57
Fix default value of time_offset_length.
...
Patch by John Stebbins stebbins jetheaddev com.
Originally committed as revision 25374 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-06 17:50:05 +00:00
Ramiro Polla
326bf69acc
fft: mark xmm registers as clobbered in ff_imdct_calc_sse
...
Originally committed as revision 25363 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-06 01:27:02 +00:00
Ronald S. Bultje
dd68d4db43
MMX, MMX2, SSE2 and SSSE3 optimizations for pred16x16/8x8_plane H264 intra
...
prediction (plus some with different rounding for svq3/rv40). Speedup (for
SSSE3) about ~6-fold, 3.6% faster overall with cathedral sample.
Originally committed as revision 25361 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-05 22:06:18 +00:00
Carl Eugen Hoyos
5dd7f994c6
Do not assume PIX_FMT_YUV420P will remain the only supported output format for H264.
...
Originally committed as revision 25352 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-05 17:24:18 +00:00
Tobias Bindhammer
2a26520a97
Cosmetics, lots of.
...
Originally committed as revision 25348 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-05 12:14:30 +00:00
Tobias Bindhammer
bbc26bae11
Skip unnecessary calculations in 4col-mode.
...
Originally committed as revision 25347 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-05 12:14:27 +00:00
Tobias Bindhammer
90a3ffe276
Add possibility to crop screens inside of encoded frames.
...
Originally committed as revision 25346 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-05 12:14:23 +00:00
Tobias Bindhammer
93ee7f9c41
Add check for height when cropping.
...
Originally committed as revision 25345 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-05 12:14:20 +00:00
Tobias Bindhammer
a4d2690309
Introduce palette with dynamic size.
...
Originally committed as revision 25344 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-05 12:14:14 +00:00
Michael Niedermayer
cfa5a81ea6
Move aspect ratio 0/0 avoidance code so the values in the sps struct are not missed.
...
This preempts issues with av_cmp_q(0/0, X)
Originally committed as revision 25337 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-05 01:43:25 +00:00
İsmail Dönmez
9276bdddca
snowdsp: Explicitly state the operand sizes
...
Fixes compilation with clang's builtin assembler
Patch by İsmail Dönmez, ismail at namtrac dot org
Originally committed as revision 25331 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-04 13:08:13 +00:00
Benjamin Larsson
62784e3733
Add the CODEC_CAP_CHANNEL_CONF capability code and add
...
that flag to the dca codec. This capability when set
will make sure the codec will initialize the channel
configuration instead of trusting the container. This
fixes issue 2137 and issue 850.
Originally committed as revision 25320 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-02 22:18:02 +00:00
Justin Ruggles
2e0559b713
Support decoding of FLAC files without a STREAMINFO header.
...
Originally committed as revision 25315 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-02 20:37:43 +00:00
Reimar Döffinger
645e75992d
Fix GSM decoding: regular GSM and MSGSM do not use the same
...
bitstream endianness, so they cannot reuse the same code
without a lot of function call overhead.
Thus use templating to compile two different binaries.
Originally committed as revision 25312 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-02 09:51:26 +00:00
Jason Garrett-Glaser
05931ab763
Make FRAPS decoder use PC range instead of TV range
...
FRAPS appears to output PC range streams. I can't guarantee this is true of
all versions.
Originally committed as revision 25308 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-02 08:39:34 +00:00
Baptiste Coudurier
35e33b9aac
10l fix h263 encoder resolution test, array size is 8 not 7
...
Originally committed as revision 25305 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-02 01:26:00 +00:00
Tomas Härdin
fbeabfca2f
Add pcm_lxf, a decoder for the 20-bit planar PCM format used in LXF
...
Originally committed as revision 25280 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-01 11:08:19 +00:00
Aurelien Jacobs
59b4e5ba49
add FF_API_INOFFICIAL define to disable the deprecated 'inofficial' flag
...
Originally committed as revision 25277 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-30 20:40:10 +00:00
Aurelien Jacobs
838dc131f1
add FF_API_SET_STRING_OLD define to disable the deprecated av_set_string API
...
Originally committed as revision 25276 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-30 20:34:35 +00:00
Aurelien Jacobs
0743de4ffd
add FF_API_USE_LPC define to disable the deprecated AVCodecContext.use_lpc field
...
Originally committed as revision 25275 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-30 20:31:42 +00:00
Aurelien Jacobs
448ce9258c
add FF_API_SUBTITLE_OLD define to disable the deprecated decode_subtitle API
...
Originally committed as revision 25273 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-30 20:12:46 +00:00
Aurelien Jacobs
164bc38c26
add FF_API_VIDEO_OLD define to disable the deprecated decode_video API
...
Originally committed as revision 25272 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-30 19:51:22 +00:00
Aurelien Jacobs
a377cfa6c2
add FF_API_AUDIO_OLD define to disable the deprecated decode_audio API
...
Originally committed as revision 25270 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-30 15:37:01 +00:00
Niobos
e2f0214a0b
Fix a yuv420p sample that was incorrectly detected as yuv411p
...
(576i50 25Mbps 4:1:1 special case was wrong).
Fixes issue2211
Patch by Niobos, niobos dest-unreach be
Originally committed as revision 25269 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-30 12:26:42 +00:00
Ronald S. Bultje
a52ffc3f54
Move static inline function to a macro, so that constant propagation in
...
inline asm works for gcc-3.x also (hopefully). Should fix gcc-3.x FATE
breakage after r25254.
Originally committed as revision 25262 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-29 17:42:26 +00:00
Alexander Strange
1bb56bdb41
rawdec: Properly pass reordered_opaque through the decoder
...
Originally committed as revision 25261 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-29 15:43:37 +00:00
Eli Friedman
329d689f75
Use sse2 variant of put_pixels16() for no_rnd also. Provides a minor speed
...
increase to e.g. vc1, snow and mpeg decoding.
Patch by Eli Friedman <eli dot friedman gmail com>.
Originally committed as revision 25259 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-29 15:34:43 +00:00
Michael Niedermayer
77336a5e12
Allow setting the impulse block bias for libvorbis through a private codec parameter.
...
First example and test of private codec parameters.
Originally committed as revision 25258 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-29 15:09:38 +00:00
Michael Niedermayer
dc51a72ba4
Move allocation and init to defaults of the private codec contexts to avcodec_get_context_defaults3().
...
That way the user app can set codec specific parameters in the private context
before opening it.
Originally committed as revision 25257 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-29 15:05:47 +00:00
Ronald S. Bultje
cd17285e6c
Merge b_idx and edge variables, and optimize the ASM to directly load variables
...
from memory locations/offsets depending on b_idx plus constants, rather than
having gcc do this. This saves several lea calls and together saves about
10 cycles in h264_loop_filter_strength_mmx2().
Originally committed as revision 25256 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-29 14:04:39 +00:00
Ronald S. Bultje
0cc8a5d088
Remove mv_mask variable. Replace the related pand -1/0 instructions by either
...
a pxor, or remove the instruction alltogether. Altogether, this saves 1
instruction.
Originally committed as revision 25255 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-29 14:03:30 +00:00
Ronald S. Bultje
c0673f2cf4
Remove d_idx as a variable, and instead load it as a constant in the asm.
...
This has no measurable speed effect because the surrounding code doesn't
take advantage of this yet.
Originally committed as revision 25254 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-29 14:02:32 +00:00
Ronald S. Bultje
2c3135f6d3
Unroll inner bidir loop in h264_loop_filter_strength_mmx2(), which gets rid
...
of the d_idx variable and therefore allows for future optimizations. No speed
difference by this commit itself.
Originally committed as revision 25253 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-29 13:35:24 +00:00
Ronald S. Bultje
4b81511cab
Unloop the outer loop in h264_loop_filter_strength_mmx2(), which allows
...
inlining various constants within the loop code. 20 cycles faster on
cathedral sample.
Originally committed as revision 25252 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-29 13:34:20 +00:00
Michael Niedermayer
655c36b22f
Add AVClass for the private context, this will be used for codec specific options.
...
Originally committed as revision 25250 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-29 11:59:25 +00:00
Jason Garrett-Glaser
4dece8c7f8
Try to fix crashes introduced by r25218
...
r25218 made assumptions about the existence of past reference frames that
weren't necessarily true.
Originally committed as revision 25243 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-28 09:06:22 +00:00
Michael Chinen
59cb40b921
Fix index_entries pos:
...
It was being set wrong for files with data_offset > 0
Patch by Michael Chinen, mchinen gmail
Originally committed as revision 25239 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-27 22:17:58 +00:00
Baptiste Coudurier
2a5db1aa58
In dv decoder, set sample aspect aspect ratio, fix issue #1612
...
Originally committed as revision 25232 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-27 21:31:29 +00:00
Baptiste Coudurier
348a3237cc
In dv decoder, use the expected aspect ratio logic, like other decoders do,
...
following width/height = par/dar.
Originally committed as revision 25231 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-27 21:30:41 +00:00
Michael Niedermayer
6e73cef6e3
Fix several security issues in flicvideo.c
...
This fixes CVE-2010-3429
Originally committed as revision 25223 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-27 15:16:16 +00:00
Jason Garrett-Glaser
e2983d6eac
Improve error concealment of lost frames
...
If a frame is lost, replace it with data from the previous valid frame.
Originally committed as revision 25218 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-27 04:43:41 +00:00
Stefano Sabatini
41f87daaa3
Bump version and update APIchanges after r25210.
...
Originally committed as revision 25216 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-27 00:30:14 +00:00
Martin Storsjö
6677249889
Bump minor version for the addition of the G.722 encoder
...
Originally committed as revision 25211 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-26 14:47:00 +00:00
Michael Niedermayer
6ed040408b
Move AVOptions from libavcodec to libavutil
...
Originally committed as revision 25210 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-26 14:25:22 +00:00
Kostya Shishkov
cba322d76d
Make WMV3 decoder attempt to decode WMVP as well
...
Originally committed as revision 25209 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-26 13:56:50 +00:00
Kostya Shishkov
10f93363b7
RES_SM in WMV3 is really two flags, so split it in decoder
...
Originally committed as revision 25208 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-26 13:54:35 +00:00
Reimar Döffinger
02b424d9c8
Add d suffix to movd target register to make it work with nasm.
...
Originally committed as revision 25206 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-26 09:15:18 +00:00
Reimar Döffinger
dc77e985b7
Split and then simplify address generation macro.
...
Allows nasm to work for this code.
Originally committed as revision 25205 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-26 09:08:11 +00:00
Michael Niedermayer
53eb458a72
Fix rv20 encoding so the binary decoder can decode it.
...
Originally committed as revision 25203 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-26 01:56:48 +00:00
Stefano Sabatini
b9f9e59afc
Replace deprecated CODEC_TYPE_AUDIO and CODEC_TYPE_VIDEO with the
...
corresponding AVMEDIA_TYPE_* symbols.
Originally committed as revision 25201 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-25 23:27:16 +00:00
Maksym Veremeyenko
b299c4e4d3
Support deinterlacing of YUVJ422P in old deinterlacer.
...
Patch by Maksym Veremeyenko verem at m1stereo tv.
Originally committed as revision 25195 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-25 14:37:54 +00:00
Reimar Döffinger
b641982b23
rawdec: ensure that there is always a valid palette for formats that
...
should have one like gray8 etc.
Originally committed as revision 25190 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-25 08:44:35 +00:00
Måns Rullgård
d66a546f77
vorbisenc: remove VLAs
...
Originally committed as revision 25183 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-24 20:42:08 +00:00
Ronald S. Bultje
7e117771cd
Remove unused variable.
...
Originally committed as revision 25173 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-24 15:31:46 +00:00
Ronald S. Bultje
ae11291865
Unroll loop in h264_idct_add16intra_sse2(). Basically identical to r25171, this
...
inlines scan8[] and removes loop setup. 15% faster, 0.4% overall.
See "[PATCH] unroll loop in h264_idct_add8_sse2()" thread on ML.
Originally committed as revision 25172 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-24 14:07:23 +00:00
Ronald S. Bultje
4bca677494
Unroll loop in h264_idct_add8_sse2(). This means we can inline scan8[] in the
...
code directly also and remove loop setup. 20% faster in function, 0.8% overall.
See "[PATCH] unroll loop in h264_idct_add8_sse2()" thread on ML.
Originally committed as revision 25171 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-24 14:05:45 +00:00
Stefano Sabatini
e44c01563f
Deprecate av_opt_show() in favor of a new function av_opt_show2(),
...
which allows to specify only a subset of all the options to show.
Originally committed as revision 25166 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-24 00:51:40 +00:00
Martin Storsjö
21e681ba57
Add a G.722 encoder
...
Originally committed as revision 25164 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-23 21:33:29 +00:00
Reimar Döffinger
2efcde73fc
rawdec: only allocate a full-frame size buffer if it actually will
...
be used, place palette buffer in the context to simplify this.
Originally committed as revision 25163 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-23 20:23:15 +00:00
Ivan Kalvachev
392c99007f
The debug text output of macroblocks can indicate MB_TYPE_INTERLACED,
...
but it used to do it only for h264 codec.
Allow it for other codecs, as mpeg2 and mpeg4 also set this flag.
Originally committed as revision 25156 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-21 22:44:27 +00:00
Måns Rullgård
c0bc8b9afb
x86: disable SSE functions using stack when stack is not aligned
...
This fixes crashes with ICC 10.1.
Originally committed as revision 25153 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-21 17:57:21 +00:00
Måns Rullgård
75c490f467
ARM: disable movw/movt for relocated values on Apple platforms
...
Apparently Apple platforms do not handle movw/movt relocations
properly, leading to runtime crashes in code using them.
Originally committed as revision 25150 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-20 21:50:46 +00:00
Benjamin Larsson
4792d1e792
Support deinterlacing of YUVJ420P.
...
Originally committed as revision 25148 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-20 11:34:27 +00:00
Måns Rullgård
f41237c9db
x86: remove hack disabling sse2 h264 loop filter with 32-bit icc
...
Originally committed as revision 25146 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-18 20:44:32 +00:00
Vitor Sessak
6e2ecc2dba
Remove pointless semicolon
...
Originally committed as revision 25141 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-17 19:33:56 +00:00