13053 Commits

Author SHA1 Message Date
Justin Ruggles
1003022668 ac3enc: Change EXP_DIFF_THRESHOLD to 500.
This patch changes the exponent difference threshold in the exponent
strategy decision function of the AC-3 encoder.  I tested lowering in
increments of 100.  From 1000 down to 500 generally increased in quality
with each step, but 400 was generally much worse.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit c3beafa0f14fd81ab43083f61872cbd5426647cf)
2011-02-04 03:08:10 +01:00
Mans Rullgard
01b75fa931 ARM: add helper macro for declaring constant data
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit b9a639ddd6e102edbf94a26b5106386792e2e4c8)
2011-02-04 03:08:09 +01:00
Justin Ruggles
fe2ff6d247 Separate format conversion DSP functions from DSPContext.
This will be beneficial for use with the audio conversion API without
requiring it to depend on all of dsputil.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit c73d99e672329c8f2df290736ffc474c360ac4ae)
2011-02-04 03:08:09 +01:00
Alex Converse
a35d782d28 Fix ff_imdct_calc_sse() on gcc-4.6
Gcc 4.6 only preserves the first value when using an array with an "m"
constraint.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 770c410fbb8e1b87ce8ad7f3d7eddaa55e2b8295)
2011-02-04 03:08:09 +01:00
Anssi Hannula
45eaec3029 h264: add profile names for the existing defines
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
(cherry picked from commit 71e0bee9eabe8eea030e210f1ad74c380b8b250b)
2011-02-02 03:40:50 +01:00
Janne Grunau
94e3e83f13 h264: Add Intra and Constrained Baseline profiles to avctx.profile
(cherry picked from commit fe9a3fbe42ebe5debd57550313ed4c3a065f1770)
2011-02-02 03:40:50 +01:00
Gianluigi Tiesi
8a92ec71b3 dca: avoid C99 declaration in for() expression
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit e86e858111501650bb9ce8e39282e20c57bac913)
2011-02-02 03:40:50 +01:00
Jason Garrett-Glaser
5ad4335c22 VP8: merge chroma MC calls
Adds some duplicated code, but avoids duplicate edge checks and similar.
~0.5% faster overall on Parkjoy test sample.
(cherry picked from commit 64233e702a95df9167e3362e58aae4e82ce2ddf8)
2011-02-02 03:40:49 +01:00
Ronald S. Bultje
baffa091af Implement a SIMD version of emulated_edge_mc() for x86.
From ~550 cycles (C version) to 170 (SSE/x86-64), 206 (MMX/x86-32)
and 196 (SSE2/x86-32) cycles.
(cherry picked from commit 81f2a3f4ffcc6935b8b8ada4954700b3f333ae4f)
2011-02-02 03:40:49 +01:00
Justin Ruggles
389b5bfa34 cosmetics: indentation
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit d19b744a36987e1dd0c3239a2e1baa1e71d07a77)
2011-02-02 03:40:49 +01:00
Justin Ruggles
a8ae4e0e7b Remove unneeded add bias from 3 functions.
DSPContext.vector_fmul_window()
DCADSPContext.lfe_fir()
SynthFilterContext.synth_filter_float()

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 80ba1ddb58b5923b9f36a6acd542affc4ca722eb)
2011-02-02 03:40:48 +01:00
Jason Garrett-Glaser
a4257d74e0 Slightly simplify VP8 inter_predict
Merge an if and a switch.
(cherry picked from commit 73be29b0c4297fd0e61e7fe5d925bec397d8fe4a)
2011-01-31 18:25:45 +01:00
Luca Barbato
9ef5a9deaf Replace dprintf with av_dlog
dprintf clashes with POSIX.1-2008
(cherry picked from commit dfd2a005eb29e4b9f2fdb97036eb7d5c38ae4bd4)
2011-01-30 03:41:48 +01:00
Justin Ruggles
4592c85fc8 Flush final frames in libfaac encoder.
Gives decoded output identical in length to faac commandline encoder.
Fixes Issue 670.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 243f8241dbf4a451e1197661ccd387c519ae3349)
2011-01-30 03:41:47 +01:00
Vitor Sessak
5255acc6be Fix memory leak in ALS decoder in big endian systems
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit e0eb963aaa55ddcc54bf80f3261f6a436edca4a3)
2011-01-30 03:41:47 +01:00
Mans Rullgard
451b4b8635 Rearrange MpegEncContext to simplify access from asm
This moves the fields needed by asm near the top, before any
structs or other members which complicate the offset calculation.
Modifying other structs will no longer require updating the offsets,
and the asm code is slightly simpler due to the smaller offsets.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit d461a4731781e492d83ef254f9c0fbd0ce6e47eb)
2011-01-30 03:41:47 +01:00
Vitor Sessak
bc0a603c78 Fix overread in altivec DSP function sad16
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 3af1fe829ee6db5eafe261947e74b8516ffe5188)
2011-01-30 03:41:47 +01:00
Mans Rullgard
8afac88e14 ARM: update MpegEncContext offsets
(cherry picked from commit 0745116c10e5650952c39ea543c66b12fba854e6)
2011-01-30 03:41:01 +01:00
Ronald S. Bultje
d23e3e5fea Move ff_emulated_edge_mc() into DSPContext.
(cherry picked from commit 2e279598793133ee9c57fd0026d672f076fde4bf)
2011-01-30 03:41:01 +01:00
Ronald S. Bultje
efcc106455 Optimize C version of ff_emulated_edge_mc().
From ~780 cycles to 551 cycles, mostly just by using libc memcpy()
instead of manually shuffling individual bytes around.
(cherry picked from commit e5262ec44a30a9132f0361f775c5b63d20e4e4d5)
2011-01-30 03:41:00 +01:00
Alex Converse
79615a3e50 aacdec: Convert some loop copies into memcpy()s.
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit e5c82df80ef49957fe532d0992985012d6d97955)
2011-01-30 03:41:00 +01:00
Stefano Sabatini
e86c78836b In the rawvideo decoder, set pkt_pts in the output frame.
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
(cherry picked from commit 3c802cabba8e85e4f2949c57df947dd1823a15f5)
2011-01-30 03:40:59 +01:00
Ronald S. Bultje
6642a17935 Fix VP8 aliasing problems.
Replace * (uint32_t *) buf accesses with AV_WN32A/AV_COPY32.
(cherry picked from commit 9d4bdcb714f85b5d90ebf9704784a31c88dfb360)
2011-01-30 03:40:59 +01:00
Alex Converse
b5f83debf5 Make ff_float_to_int16*_c() static.
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 5ce5dbc5f3d0bce1f8d76fea1907c91469ebdd01)
2011-01-30 03:40:58 +01:00
Diego Elio Pettenò
06c8f31e84 Hide the now-prefixed decoders, encoders, parsers, bsf, hwaccel objects.
This significantly reduces the size of the symbol table in the generated ELF
shared object (as well as the other linked tables).

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit ac28ce5fac2f77891d70c9e49cda65ddb51818b2)
2011-01-30 03:40:58 +01:00
Justin Ruggles
79ce107847 cosmetics: indentation and spacing
(cherry picked from commit b5ec6383432c907bed175f20e39af1a99dc75cfb)
2011-01-28 03:15:35 +01:00
Justin Ruggles
733dbe7d18 Remove the add bias hack for the C version of DSPContext.float_to_int16_*().
(cherry picked from commit 9d06d7bce3babb82ed650c13ed13a57f6f626a71)
2011-01-28 03:15:35 +01:00
Justin Ruggles
0ca4fcc94c Add special case for 2nd-order IIR filter.
40% faster in ff_iir_filter_flt() when c->order == 2.
(cherry picked from commit 37cb3eb53449ccefbbe8ea7dc5e66f9036aafe6e)
2011-01-28 03:15:35 +01:00
Luca Barbato
1d20121b2e Add ff_ to AVHWAccel decoders
That unbreaks compilation of vaapi and dxva2

Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
(cherry picked from commit d1b6f33bf2ce56f013a1c5a013a19671c0f30ea0)
2011-01-28 03:15:35 +01:00
Ronald S. Bultje
e3c5395402 VP8: don't overread edges on fourtap MC.
Fix C VP8 H+V MC functions which do two-dimensional 4/6-tap filters to
not overread beyond their edges if the second filter is 4-tap, since
the outer pixels aren't there anymore since
44002d8323023c35f51d523a7d305e45103ba7a1.
(cherry picked from commit 22893e10ae8b72880838accc3df97785502ac6aa)
2011-01-28 03:15:34 +01:00
Diego Elio Pettenò
e7e2df27f8 Add ff_ prefix to data symbols of encoders, decoders, hwaccel, parsers, bsf.
None of these symbols should be accessed directly, so declare them as
hidden.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit d36beb3f6902b1217beda576aa18abf7eb72b03c)
2011-01-28 03:15:34 +01:00
Diego Elio Pettenò
4b21c38180 Make ff_cmap_read_palette static to libavcodec/iff.c. Delete iff.h.
The iff.h header only declared one function that is now static, the
libavformat/iff.c source file wasn't using it before. Drop the file
entirely.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 2d162e3825a35b6ac42a27d27c4a3ebbd141828d)
2011-01-28 03:15:33 +01:00
Justin Ruggles
dff80041e3 Add ff_ prefix to ac3_common_init().
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 4c57cde942b3d28074d0bb06e2ca200bc1098f22)
2011-01-28 03:15:33 +01:00
Justin Ruggles
e732af87fc ac3: Remove ff_ac3_critical_band_size_tab.
It is only used to generate band_start_tab, which about the same size, at
runtime, so it's simpler just to always hardcode band_start_tab.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 24e3ad3031fa26e12d4b939f0ff0dd6e12f05ef5)
2011-01-28 03:15:32 +01:00
Diego Elio Pettenò
d4a847711d Mark C base versions of FFT functions static to fft.c
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 7767d8d361ca104d74c8390b72db21aa4d7fc322)
2011-01-28 03:15:32 +01:00
Marco Gittler
5f58927baf Pass field order flag to libx264
Signed-off-by: Jason Garrett-Glaser <jason@x264.com>
(cherry picked from commit b09f5482854f9b4a139b1401d196b26db11dd10f)
2011-01-28 03:15:32 +01:00
Diego Elio Pettenò
be61983d52 Make ff_add_wav static to ra144.c
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
(cherry picked from commit 1a8867486215abe3b705f7d189723d528cea2b70)
2011-01-26 03:43:33 +01:00
Diego Elio Pettenò
877937b382 Make ff_h264_find_frame_end static to h264.c; delete h264_parser.h
The header is empty after making the function static, so delete it and
drop its usage.

Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
(cherry picked from commit 13eb6b90977768116c937c5d6b2e074679a3ad21)
2011-01-26 03:43:32 +01:00
Diego Elio Pettenò
97c5b0fa95 Make ff_sin_tabs constant to rdft.c
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
(cherry picked from commit d625a32d6ba0405e6da061991dfd90f6da2a3b7a)
2011-01-26 03:43:32 +01:00
Diego Elio Pettenò
e164553a82 Make ff_spatial_idwt_{init, slice} static to dwt.c
Both functions seem to be commanded by the ff_spatial_idwt function
instead.

Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
(cherry picked from commit ebb06d96ed3f6e1c16f2d40e55c151b5b5522918)
2011-01-26 03:43:32 +01:00
Diego Elio Pettenò
ff0d737d6e Make ff_png_pass_xmin and ff_png_pass_xshift static to png.c.
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
(cherry picked from commit f2e246f576cd53e75b3696e1db418be98fbda76f)
2011-01-26 03:43:32 +01:00
Diego Elio Pettenò
998d9ee7a4 Remove unused ff_ac3_parse_header_full function.
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
(cherry picked from commit 676f1f533e2c2960d81784188592a066b9ff1c3d)
2011-01-26 03:43:32 +01:00
Diego Elio Pettenò
123241214c Make ff_h264_decode_rbsp_trailing static to h264.c
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
(cherry picked from commit 8529731961d79fc0e747b16152df3d470b530537)
2011-01-26 03:43:31 +01:00
Ronald S. Bultje
ac3c04e4d6 Don't do edge emulation unless the edge pixels will be used in MC.
Do not emulate larger edges than we will actually use for this round of
MC. Decoding goes from avg+SE 29.972+/-0.023sec to 29.856+/-0.023, i.e.
0.12sec or ~0.4% faster.
(cherry picked from commit 44002d8323023c35f51d523a7d305e45103ba7a1)
2011-01-26 03:43:31 +01:00
Mans Rullgard
8169afdb15 ac3: remove ff_ac3_critical_band_size_tab[] external declaration
This fixes compilation broken by 6ed3b504f984dc6cefde8d57a57726f9d30e5033

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 21c900129c268587fa2df774242bfd8af72ff890)
2011-01-26 03:43:30 +01:00
Diego Elio Pettenò
6b784f1b91 Move ff_ac3_critical_band_size_tab in ac3.c for non-hardcoded tables.
This symbol is only ever used to calculate the non-hardcoded tables, so
only enable it in that case, and static to the source unit that uses it.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 6ed3b504f984dc6cefde8d57a57726f9d30e5033)
2011-01-26 03:43:30 +01:00
Diego Elio Pettenò
a172126c38 Remove unused ac3_parametric_bit_allocation function.
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 362bfe29971b3bb8497d2b341337697be15a257c)
2011-01-26 03:43:30 +01:00
Mans Rullgard
8719b5dd60 latm: remove superflous #includes
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit e153e9a53a6fbfba974b8263bca70f7bba02952c)
2011-01-26 03:43:30 +01:00
Mans Rullgard
e164311179 Make denoise_dct_c() and dct_quantize_trellis_c() static in definitions
1d4da6a460d5b78026e3b854fdd6f469957a054c added static to the
prototypes for these fuctions.  Adding it to the definitions
as well.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit aa61e39eac85e26bff0f296b1ec86d4533664adc)
2011-01-26 03:43:30 +01:00
Diego Elio Pettenò
11c7f64a9c Don't declare a pcm_dvd encoder.
The PCM_DVD encoder would be left unused, as allcodecs.c properly declared
it as being decoder-only, but it would still be built into the object file.

Since there is no block of code to properly encode this PCM format, it's
not a full codec.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 5b5083b5fed1e0b0d8f3c6f2c21bdc915b1226f6)
2011-01-26 03:43:29 +01:00