1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00
Commit Graph

12626 Commits

Author SHA1 Message Date
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