ffmpeg.git
8 years agoConsistently prefer short library names in APIchanges.
Stefano Sabatini [Mon, 27 Dec 2010 09:30:20 +0000 (09:30 +0000)]
Consistently prefer short library names in APIchanges.

Originally committed as revision 26106 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoUse av_find_best_stream in ffplay.
Nicolas George [Mon, 27 Dec 2010 09:08:36 +0000 (09:08 +0000)]
Use av_find_best_stream in ffplay.

Originally committed as revision 26105 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoImplement av_find_best_stream.
Nicolas George [Mon, 27 Dec 2010 09:08:20 +0000 (09:08 +0000)]
Implement av_find_best_stream.

Originally committed as revision 26104 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agolavf: bump minor and add APIchanges entry after adding AVFMT_NOSTREAMS
Anton Khirnov [Mon, 27 Dec 2010 07:46:57 +0000 (07:46 +0000)]
lavf: bump minor and add APIchanges entry after adding AVFMT_NOSTREAMS

Originally committed as revision 26103 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoMetadata demuxer.
Anton Khirnov [Mon, 27 Dec 2010 07:46:53 +0000 (07:46 +0000)]
Metadata demuxer.

Originally committed as revision 26102 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoMetadata muxer
Anton Khirnov [Mon, 27 Dec 2010 07:46:49 +0000 (07:46 +0000)]
Metadata muxer

Dumps all metadata to a text file for easy manual editing.

Originally committed as revision 26101 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoAllow output formats without any streams.
Anton Khirnov [Mon, 27 Dec 2010 07:46:44 +0000 (07:46 +0000)]
Allow output formats without any streams.

Required for future metadata format.

Originally committed as revision 26100 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoFix typo.
Ronald S. Bultje [Sun, 26 Dec 2010 22:48:13 +0000 (22:48 +0000)]
Fix typo.

Originally committed as revision 26099 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoExtend documentation for format and noformat filters, and remove
Stefano Sabatini [Sun, 26 Dec 2010 11:52:26 +0000 (11:52 +0000)]
Extend documentation for format and noformat filters, and remove
explicit reference to the ffmpeg tool command for keeping the docs
more generic.

Originally committed as revision 26098 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoAdd erode libopencv filter.
Stefano Sabatini [Sun, 26 Dec 2010 11:27:09 +0000 (11:27 +0000)]
Add erode libopencv filter.

Originally committed as revision 26097 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoAdd dilate libopencv filter.
Stefano Sabatini [Sun, 26 Dec 2010 11:27:05 +0000 (11:27 +0000)]
Add dilate libopencv filter.

Originally committed as revision 26096 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoBump libavformat minor version, forgotten in r26094
Peter Ross [Sun, 26 Dec 2010 05:48:38 +0000 (05:48 +0000)]
Bump libavformat minor version, forgotten in r26094

Originally committed as revision 26095 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoWindows Televison (WTV) demuxer
Peter Ross [Sun, 26 Dec 2010 01:28:25 +0000 (01:28 +0000)]
Windows Televison (WTV) demuxer

Originally committed as revision 26094 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agomake guid utility function visibile to other modules (ff_guidcmp, ff_get_guid)
Peter Ross [Sun, 26 Dec 2010 01:26:29 +0000 (01:26 +0000)]
make guid utility function visibile to other modules (ff_guidcmp, ff_get_guid)

Originally committed as revision 26093 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoadd ff_find_stream_index
Peter Ross [Sun, 26 Dec 2010 01:24:51 +0000 (01:24 +0000)]
add ff_find_stream_index

Originally committed as revision 26092 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoadd ff_get_bmp_header
Peter Ross [Sun, 26 Dec 2010 01:23:44 +0000 (01:23 +0000)]
add ff_get_bmp_header

Originally committed as revision 26091 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoSimplify tff setting code in MPV_frame_start().
Michael Niedermayer [Sat, 25 Dec 2010 19:49:19 +0000 (19:49 +0000)]
Simplify tff setting code in MPV_frame_start().

Originally committed as revision 26090 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoClarify AVFMT_TS_DISCONT and muxers.
Michael Niedermayer [Sat, 25 Dec 2010 19:49:15 +0000 (19:49 +0000)]
Clarify AVFMT_TS_DISCONT and muxers.

Originally committed as revision 26089 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoFix size of monoblack_pal array, code uses 16 values unconditionally.
Daniel Verkamp [Sat, 25 Dec 2010 16:09:23 +0000 (16:09 +0000)]
Fix size of monoblack_pal array, code uses 16 values unconditionally.
Patch by Daniel Verkamp [daniel drv nu].

Originally committed as revision 26088 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoPort pred4x4_down_left_mmxext (H.264 intra prediction) from x264 to FFmpeg.
Daniel Kang [Fri, 24 Dec 2010 22:43:07 +0000 (22:43 +0000)]
Port pred4x4_down_left_mmxext (H.264 intra prediction) from x264 to FFmpeg.
LGPL relicensing approved by original authors: Holger Lubitz <holger lubitz
org>, Jason Garrett-Glaser <darkshikari gmail com> and Loren Merritt <lorenm
at u dot washington dot edu>. Patch by Daniel Kang <daniel dot d dot kang at
gmail com>, as part of Google's GCI 2010.

Originally committed as revision 26087 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoFor rounding in chroma MC SSSE3, use 16-byte pw_3/4 instead of reading 8 bytes
Ronald S. Bultje [Fri, 24 Dec 2010 17:23:22 +0000 (17:23 +0000)]
For rounding in chroma MC SSSE3, use 16-byte pw_3/4 instead of reading 8 bytes
and then using movlhps to dup it into the higher half of the register.

Originally committed as revision 26086 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoThere is no complete G.729 decoder in libavcodec.
Carl Eugen Hoyos [Fri, 24 Dec 2010 11:30:21 +0000 (11:30 +0000)]
There is no complete G.729 decoder in libavcodec.

Originally committed as revision 26085 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agocosmetics: line wrap and vertical alignment
Justin Ruggles [Thu, 23 Dec 2010 18:01:29 +0000 (18:01 +0000)]
cosmetics: line wrap and vertical alignment

Originally committed as revision 26084 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoMake sure that the 2nd CRC value does not match the AC-3 sync word.
Justin Ruggles [Thu, 23 Dec 2010 18:01:26 +0000 (18:01 +0000)]
Make sure that the 2nd CRC value does not match the AC-3 sync word.
This is optional for encoders, but it's a good idea and has minimal impact
on performance.
This will change the output for some files, but it happens not to affect the
regression tests.

Originally committed as revision 26083 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoStore CRC context locally to reduce number of calls to av_crc_get_table().
Justin Ruggles [Thu, 23 Dec 2010 18:01:23 +0000 (18:01 +0000)]
Store CRC context locally to reduce number of calls to av_crc_get_table().

Originally committed as revision 26082 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoRemove unneeded local variable, frame_size, in output_frame_end().
Justin Ruggles [Thu, 23 Dec 2010 18:01:19 +0000 (18:01 +0000)]
Remove unneeded local variable, frame_size, in output_frame_end().

Originally committed as revision 26081 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoFix braino: by -> with.
Stefano Sabatini [Thu, 23 Dec 2010 17:29:48 +0000 (17:29 +0000)]
Fix braino: by -> with.

Originally committed as revision 26080 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoRedesign the libopencv wrapper to make it more generic. Accept both
Stefano Sabatini [Thu, 23 Dec 2010 17:24:19 +0000 (17:24 +0000)]
Redesign the libopencv wrapper to make it more generic. Accept both
FILTERNAME=ARGS and FILTERNAME:ARGS syntax.

The same filter class will be used for managing all the libopencv
filtering functions.

Originally committed as revision 26079 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoAdd dependency for the libavfitler.html file.
Stefano Sabatini [Thu, 23 Dec 2010 17:06:46 +0000 (17:06 +0000)]
Add dependency for the libavfitler.html file.

Originally committed as revision 26078 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agortsp: Require the transport reply from the server to match the request
Martin Storsjö [Thu, 23 Dec 2010 15:05:24 +0000 (15:05 +0000)]
rtsp: Require the transport reply from the server to match the request

This fixes a crash if we requested TCP interleaved transport, but the
server replies with transport data for UDP. According to the RFC, the
server isn't allowed to respond with another transport type than the
one requested.

Originally committed as revision 26077 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoMakefile: Fix dependencies of components
Martin Storsjö [Wed, 22 Dec 2010 20:00:42 +0000 (20:00 +0000)]
Makefile: Fix dependencies of components

This fixes compilation with --disable-everything --enable-<component>,
for all encoders, decoders, muxers, demuxers, parsers, protocols, bsfs,
indevs, outdevs and filters at the moment. (All those that work without
any external dependencies at least.)

Originally committed as revision 26076 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoFix av_file_map(): replace stat(filename, &st) with fstat(fd, &st).
Stefano Sabatini [Wed, 22 Dec 2010 16:16:31 +0000 (16:16 +0000)]
Fix av_file_map(): replace stat(filename, &st) with fstat(fd, &st).

The file might be replaced between open() and stat().
Spotted by Mans.

Originally committed as revision 26075 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoReplace lstat() with stat() in av_file_map(). The lstat() use was wrong.
Stefano Sabatini [Wed, 22 Dec 2010 15:32:13 +0000 (15:32 +0000)]
Replace lstat() with stat() in av_file_map(). The lstat() use was wrong.

Originally committed as revision 26074 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoAdd av_file_map() and av_file_unmap() functions.
Stefano Sabatini [Wed, 22 Dec 2010 14:13:04 +0000 (14:13 +0000)]
Add av_file_map() and av_file_unmap() functions.

Originally committed as revision 26073 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agocosmetics: fix comment after change in clipping range
Justin Ruggles [Wed, 22 Dec 2010 12:28:02 +0000 (12:28 +0000)]
cosmetics: fix comment after change in clipping range

Originally committed as revision 26072 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoChange FIX15() back to clipping to -32767..32767.
Justin Ruggles [Tue, 21 Dec 2010 21:18:58 +0000 (21:18 +0000)]
Change FIX15() back to clipping to -32767..32767.
This avoids a 16-bit overflow in mdct512() due to a -32768 value in costab.
References updated for acodec-ac3, lavf-rm, and seek-ac3_rm tests.
Thanks to Måns Rullgård for finding the bug.

Originally committed as revision 26071 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoAdd emms_c() after exp_diff calculations.
Justin Ruggles [Tue, 21 Dec 2010 20:56:25 +0000 (20:56 +0000)]
Add emms_c() after exp_diff calculations.
Fixes AC-3 encoding on OpenBSD 4.8 x86_32 and hopefully other similar
configurations.

Originally committed as revision 26070 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoPre-calculate crc_inv at codec init.
Justin Ruggles [Tue, 21 Dec 2010 18:26:13 +0000 (18:26 +0000)]
Pre-calculate crc_inv at codec init.
20% faster output_frame_end().

Originally committed as revision 26069 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoFix make checkheaders
Martin Storsjö [Tue, 21 Dec 2010 11:19:59 +0000 (11:19 +0000)]
Fix make checkheaders

amrwbdata.h uses offsetof(), which is defined in stddef.h.

Originally committed as revision 26068 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoFix more matroska/webm muxer dependencies
Martin Storsjö [Tue, 21 Dec 2010 09:28:39 +0000 (09:28 +0000)]
Fix more matroska/webm muxer dependencies

This fixes building with --disable-everything --enable-muxer=matroska and/or
--enable-muxer=webm

Originally committed as revision 26067 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoAdd a missing dependency for the WebM muxer
Martin Storsjö [Tue, 21 Dec 2010 09:23:35 +0000 (09:23 +0000)]
Add a missing dependency for the WebM muxer

This fixes one of the issues found if building with
--disable-everything --enable-muxer=webm

Originally committed as revision 26066 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agog722: Move the low_inv_quant6 table up to the common tables
Martin Storsjö [Tue, 21 Dec 2010 09:03:57 +0000 (09:03 +0000)]
g722: Move the low_inv_quant6 table up to the common tables

Since SVN rev 25866, this table is used by the trellis encoder, too,
not only by the decoder.

Originally committed as revision 26065 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoIncrease STDDEV tolerance for the fate-amrwb-14k25 test so it pass in
Vitor Sessak [Mon, 20 Dec 2010 22:01:48 +0000 (22:01 +0000)]
Increase STDDEV tolerance for the fate-amrwb-14k25 test so it pass in
x86_64 boxes.

Originally committed as revision 26064 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoAdd AMR-WB FATE tests
Vitor Sessak [Mon, 20 Dec 2010 21:35:18 +0000 (21:35 +0000)]
Add AMR-WB FATE tests

Originally committed as revision 26063 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agosdp: Add a framesize attribute to H.263 SDP descriptions
Martin Storsjö [Mon, 20 Dec 2010 20:46:40 +0000 (20:46 +0000)]
sdp: Add a framesize attribute to H.263 SDP descriptions

While not mentioned in RFC 4629, this is required for H.263 in
3GPP TS 26.234. It is in practice required for playback with
Android stagefright and on Samsung bada phones.

Originally committed as revision 26062 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoFix crash if invalid bit-rate was read from file.
David Czech [Mon, 20 Dec 2010 09:58:27 +0000 (09:58 +0000)]
Fix crash if invalid bit-rate was read from file.
Fixes issue 2426.

Patch by David Czech, davidczech510 gmail

Originally committed as revision 26061 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoFix avfilter_draw_slice() copy code with alpha planes.
Stefano Sabatini [Sun, 19 Dec 2010 19:08:30 +0000 (19:08 +0000)]
Fix avfilter_draw_slice() copy code with alpha planes.

Originally committed as revision 26060 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoRevert commit r22596.
Stefano Sabatini [Sun, 19 Dec 2010 18:17:11 +0000 (18:17 +0000)]
Revert commit r22596.

  commit ab8610aa176c13b5e25a2d8770df28a14665e169
  Author: koorogi <koorogi@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
  Date:   Thu Mar 18 23:13:04 2010 +0000

    The vflip filter does not need to keep ownership of a picture reference.
    Avoid creating and releasing useless extra picture references in the
    start_frame and end_frame callbacks.

    Originally committed as revision 22596 to svn://svn.ffmpeg.org/ffmpeg/trunk

The new reference creation is required when the linesizes are used by the
previous filters in the filterchain, for example as in "pad=W:H:X:Y,vflip".

Originally committed as revision 26059 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoFix crash in gradfun:end_frame() when inpic == outpic, so it has to be
Stefano Sabatini [Sun, 19 Dec 2010 13:02:05 +0000 (13:02 +0000)]
Fix crash in gradfun:end_frame() when inpic == outpic, so it has to be
freed just once.

Originally committed as revision 26058 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoFix -lowres with ffplay.
Anatoly Nenashev [Sun, 19 Dec 2010 12:17:40 +0000 (12:17 +0000)]
Fix -lowres with ffplay.

Patch by Anatoly Nenashev, anatoly d nenashev a ovsoft d ru

Originally committed as revision 26057 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoAdd AVERROR_*_NOT_FOUND codes.
Nicolas George [Sun, 19 Dec 2010 09:01:02 +0000 (09:01 +0000)]
Add AVERROR_*_NOT_FOUND codes.

Originally committed as revision 26056 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoDiscard partial packet of last frame for fate-wmv8-drm to avoid test fails
Reimar Döffinger [Sat, 18 Dec 2010 23:11:31 +0000 (23:11 +0000)]
Discard partial packet of last frame for fate-wmv8-drm to avoid test fails
due to VC-1 decoder overreads resulting in different output.

Originally committed as revision 26055 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoAdd test for ASF -cryptokey that tests only demuxing, but both audio and video
Reimar Döffinger [Sat, 18 Dec 2010 16:06:56 +0000 (16:06 +0000)]
Add test for ASF -cryptokey that tests only demuxing, but both audio and video
to complement the existing video-only decode test.

Originally committed as revision 26054 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoChange ASF demuxer to return incomplete last packets.
Reimar Döffinger [Sat, 18 Dec 2010 13:18:52 +0000 (13:18 +0000)]
Change ASF demuxer to return incomplete last packets.
Whether the behaviour for streams using scrambling makes sense
is unclear.

Originally committed as revision 26053 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agobump lavcodec minor version for amr-wb decoder in r26051
Ramiro Polla [Sat, 18 Dec 2010 05:15:32 +0000 (05:15 +0000)]
bump lavcodec minor version for amr-wb decoder in r26051

Originally committed as revision 26052 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoAMR-WB decoder, written as part of Google Summer of Code 2010 by Marcelo
Ronald S. Bultje [Sat, 18 Dec 2010 03:03:18 +0000 (03:03 +0000)]
AMR-WB decoder, written as part of Google Summer of Code 2010 by Marcelo
Galvão Póvoa <marspeoplester gmail com>, mentored by Robert Swain <robert
dot swain gmail com>.

Originally committed as revision 26051 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoAdd some simple fallbacks for normal bit allocation failure.
Justin Ruggles [Fri, 17 Dec 2010 23:42:56 +0000 (23:42 +0000)]
Add some simple fallbacks for normal bit allocation failure.
This allows encoding with lower bitrates by decreasing exponent bits first,
then decreasing bandwidth if the user did not specify a specific cutoff
frequency.

Originally committed as revision 26050 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoCheck user-specified cutoff frequency in validate_options().
Justin Ruggles [Fri, 17 Dec 2010 23:42:52 +0000 (23:42 +0000)]
Check user-specified cutoff frequency in validate_options().

Originally committed as revision 26049 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years ago10l: fix encoding for LFE channel
Justin Ruggles [Fri, 17 Dec 2010 22:06:00 +0000 (22:06 +0000)]
10l: fix encoding for LFE channel

Originally committed as revision 26048 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoIncrease buffer size because the header itself can be larger than 8192
Zhentan Feng [Fri, 17 Dec 2010 21:17:40 +0000 (21:17 +0000)]
Increase buffer size because the header itself can be larger than 8192
(largest size according to spec: 64k). Fixes playback of
mmsh://a1635.v24937.c2493.g.vm.akamaistream.net/7/1635/2493/v0001/premrad.download.akamai.com/2493/premiere_rock_report/Country_Report.wma

Patch by Zhentan Feng <spyfeng gmail com>.

Originally committed as revision 26047 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoAdd support for fixed-point MDCT sizes other than 512.
Justin Ruggles [Fri, 17 Dec 2010 20:52:27 +0000 (20:52 +0000)]
Add support for fixed-point MDCT sizes other than 512.

Originally committed as revision 26046 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agocosmetics: reindent after last commit
Justin Ruggles [Fri, 17 Dec 2010 15:02:15 +0000 (15:02 +0000)]
cosmetics: reindent after last commit

Originally committed as revision 26045 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoSimplify bit allocation search by using a loop for the SNR offset increment.
Justin Ruggles [Fri, 17 Dec 2010 15:02:12 +0000 (15:02 +0000)]
Simplify bit allocation search by using a loop for the SNR offset increment.

Originally committed as revision 26044 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoImprove layout and clarify / complete documentation for the yadif
Stefano Sabatini [Fri, 17 Dec 2010 14:57:29 +0000 (14:57 +0000)]
Improve layout and clarify / complete documentation for the yadif
filter.

Originally committed as revision 26043 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoDo not calculate psd and masking curve if exponents are being reused.
Justin Ruggles [Fri, 17 Dec 2010 14:16:13 +0000 (14:16 +0000)]
Do not calculate psd and masking curve if exponents are being reused.
Approx. 20% faster in function bit_alloc_masking().

Originally committed as revision 26042 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agocosmetics: reindent after last commit
Justin Ruggles [Thu, 16 Dec 2010 22:47:11 +0000 (22:47 +0000)]
cosmetics: reindent after last commit

Originally committed as revision 26041 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoCopy bap from previous block when exponent strategy is EXP_REUSE.
Justin Ruggles [Thu, 16 Dec 2010 22:47:07 +0000 (22:47 +0000)]
Copy bap from previous block when exponent strategy is EXP_REUSE.
We can do this because exponents are the only bit allocation parameters which
change from block-to-block currently.
Approx. 57% faster in function bit_alloc().
Approx. 25% faster overall encoding.

Originally committed as revision 26040 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoCount grouped mantissas for each block all at once at the end of bit
Justin Ruggles [Thu, 16 Dec 2010 22:47:04 +0000 (22:47 +0000)]
Count grouped mantissas for each block all at once at the end of bit
allocation for each block.
24% faster in function bit_alloc(). Approx. 10% faster overall encoding.

Originally committed as revision 26039 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoCount bits for fixed parameters at start of encoding rather than in every
Justin Ruggles [Thu, 16 Dec 2010 22:47:00 +0000 (22:47 +0000)]
Count bits for fixed parameters at start of encoding rather than in every
frame.

Originally committed as revision 26038 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoUse a LUT for number of exponent groups. This avoids recalculating it for
Justin Ruggles [Thu, 16 Dec 2010 21:09:22 +0000 (21:09 +0000)]
Use a LUT for number of exponent groups.  This avoids recalculating it for
every block and channel for every frame.

Originally committed as revision 26037 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoSpeed up group minimum and group output calculations for EXP_D25 and EXP_D45
Justin Ruggles [Thu, 16 Dec 2010 21:09:16 +0000 (21:09 +0000)]
Speed up group minimum and group output calculations for EXP_D25 and EXP_D45
in encode_exponents_blk_ch() by removing the inner loops. This is about 30-40%
faster for the modified sections.

Originally committed as revision 26036 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoConvert a for() loop into a while() loop for the downward part of the exponent
Justin Ruggles [Thu, 16 Dec 2010 21:09:08 +0000 (21:09 +0000)]
Convert a for() loop into a while() loop for the downward part of the exponent
delta limiting.

Originally committed as revision 26035 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoRedesign encode_exponents_blk_ch() so that duplicate exponent sets are no
Justin Ruggles [Thu, 16 Dec 2010 21:09:02 +0000 (21:09 +0000)]
Redesign encode_exponents_blk_ch() so that duplicate exponent sets are no
longer required. This gets rid of the temp buffer as well as encoded_exp in
AC3EncodeContext. It also allows for skipping the exponent grouping for
EXP_D15. 56% faster in encode_exponents_blk_ch().

Originally committed as revision 26034 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoUse optimized function DSPContext.sad[0]() instead of calc_exp_diff().
Justin Ruggles [Thu, 16 Dec 2010 15:06:28 +0000 (15:06 +0000)]
Use optimized function DSPContext.sad[0]() instead of calc_exp_diff().
90% faster compute_exp_strategy().

Originally committed as revision 26033 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoconfigure: Avoid warnings if av_always_inline is disabled
Martin Storsjö [Thu, 16 Dec 2010 08:41:17 +0000 (08:41 +0000)]
configure: Avoid warnings if av_always_inline is disabled

This macro is disabled if --enable-small or --disable-optimizations are set.
Currently, this leads to warnings about functions being defined but not used,
for functions in header files.

By defining av_always_inline as inline or as av_unused, we avoid these
warnings.

This doesn't make a normal build with --enable-small any larger,
since the compiler probably chooses not to inline these functions even
if they're marked as inline.

Originally committed as revision 26032 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agocosmetics: pretty-printing after last commit
Justin Ruggles [Thu, 16 Dec 2010 03:44:35 +0000 (03:44 +0000)]
cosmetics: pretty-printing after last commit

Originally committed as revision 26031 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoAdd a goto for init failure instead of duplicate calls to ac3_encode_close().
Justin Ruggles [Thu, 16 Dec 2010 03:44:32 +0000 (03:44 +0000)]
Add a goto for init failure instead of duplicate calls to ac3_encode_close().

Originally committed as revision 26030 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoUse pre-allocated temp buffers in mdct512().
Justin Ruggles [Thu, 16 Dec 2010 03:44:29 +0000 (03:44 +0000)]
Use pre-allocated temp buffers in mdct512().
5% faster in function.

Originally committed as revision 26029 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoWrite results of post-rotation complex multiply directly to output.
Justin Ruggles [Thu, 16 Dec 2010 03:13:45 +0000 (03:13 +0000)]
Write results of post-rotation complex multiply directly to output.
2% faster in function mdct512().

Originally committed as revision 26028 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoUse memcpy() instead of a for loop in mdct512().
Justin Ruggles [Thu, 16 Dec 2010 03:13:41 +0000 (03:13 +0000)]
Use memcpy() instead of a for loop in mdct512().
8% faster in function.

Originally committed as revision 26027 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoAllocate all large per-channel arrays using av_malloc().
Justin Ruggles [Thu, 16 Dec 2010 02:33:02 +0000 (02:33 +0000)]
Allocate all large per-channel arrays using av_malloc().
Decreases memory usage for less than 6 channels.

Originally committed as revision 26026 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoMake windowed_samples 16-byte aligned.
Justin Ruggles [Thu, 16 Dec 2010 02:32:59 +0000 (02:32 +0000)]
Make windowed_samples 16-byte aligned.
This will allow future SIMD optimization of the window function.

Originally committed as revision 26025 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoAllocate planar_samples using av_mallocz().
Justin Ruggles [Thu, 16 Dec 2010 02:32:55 +0000 (02:32 +0000)]
Allocate planar_samples using av_mallocz().
Lowers memory usage when encoding less than 6 channels.

Originally committed as revision 26024 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoAllocate bap and bap1 buffers using av_malloc().
Justin Ruggles [Wed, 15 Dec 2010 21:12:28 +0000 (21:12 +0000)]
Allocate bap and bap1 buffers using av_malloc().
This reduces the memory footprint when using less than 6 channels.
Modify bit allocation to swap the 2 buffers instead of using memcpy() and use
per-block pointers for bap. This is slightly faster (0.3%) in function
cbr_bit_allocation().

Originally committed as revision 26023 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agortsp: Don't set the RTP time base from the sample rate if no sample rate is set
Martin Storsjö [Wed, 15 Dec 2010 21:06:25 +0000 (21:06 +0000)]
rtsp: Don't set the RTP time base from the sample rate if no sample rate is set

This also reverts SVN rev 26016, which incorrectly overwrote the time base
with 90 kHz for all streams, regardless of what was set by the SDP parsing.

The stream that triggered the fix in 26016 still works after this commit.

Originally committed as revision 26022 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoRemove last_samples[] and copy directly from planar_samples[].
Justin Ruggles [Wed, 15 Dec 2010 17:28:52 +0000 (17:28 +0000)]
Remove last_samples[] and copy directly from planar_samples[].
Avoids memcpy that was used to store last samples for next frame.
Approx. 3% faster in function deinterleave_input_samples() and reduces memory
usage by 3kB.

Originally committed as revision 26021 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoRemove unneeded line. key_frame is already set to 1 in avcodec_alloc_frame().
Justin Ruggles [Wed, 15 Dec 2010 17:28:49 +0000 (17:28 +0000)]
Remove unneeded line. key_frame is already set to 1 in avcodec_alloc_frame().

Originally committed as revision 26020 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agocosmetics: comment clean-up and misc cosmetics
Justin Ruggles [Wed, 15 Dec 2010 17:28:44 +0000 (17:28 +0000)]
cosmetics: comment clean-up and misc cosmetics

Originally committed as revision 26019 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoSeparate most of the per-block arrays into a separate per-block struct.
Justin Ruggles [Wed, 15 Dec 2010 17:28:41 +0000 (17:28 +0000)]
Separate most of the per-block arrays into a separate per-block struct.

Originally committed as revision 26018 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoSplit bit allocation search into a separate function.
Justin Ruggles [Wed, 15 Dec 2010 17:28:38 +0000 (17:28 +0000)]
Split bit allocation search into a separate function.

Originally committed as revision 26017 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoReinstate default time_base for rtp streams
Luca Barbato [Wed, 15 Dec 2010 17:16:37 +0000 (17:16 +0000)]
Reinstate default time_base for rtp streams

The generic default is 0/0 and that obviously triggers once the value is used.

Originally committed as revision 26016 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoSVQ3: Allow decoding if thread_count is > 1
Alexander Strange [Wed, 15 Dec 2010 00:22:47 +0000 (00:22 +0000)]
SVQ3: Allow decoding if thread_count is > 1

svq3 still doesn't support multithreading, but it's simpler for clients if
they can enable threading for all codecs by default.

Originally committed as revision 26015 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agotcp: Check url_interrupt_cb if connect was interrupted by a signal
Thomas Guillem [Tue, 14 Dec 2010 23:03:05 +0000 (23:03 +0000)]
tcp: Check url_interrupt_cb if connect was interrupted by a signal

This makes it possible to abort a blocking connect call.

Patch by Thomas Guillem, thomas dot guillem at gmail

Originally committed as revision 26014 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years ago10l: fix typo in compute_exp_strategy()
Justin Ruggles [Tue, 14 Dec 2010 22:45:35 +0000 (22:45 +0000)]
10l: fix typo in compute_exp_strategy()

Originally committed as revision 26013 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoMove large arrays to AC3EncodeContext rather than passing them around.
Justin Ruggles [Tue, 14 Dec 2010 22:45:31 +0000 (22:45 +0000)]
Move large arrays to AC3EncodeContext rather than passing them around.

Originally committed as revision 26012 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agocosmetics: line wrap and spacing
Justin Ruggles [Tue, 14 Dec 2010 22:45:28 +0000 (22:45 +0000)]
cosmetics: line wrap and spacing

Originally committed as revision 26011 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoUse a single value for SNR offset in the bit allocation search rather than
Justin Ruggles [Tue, 14 Dec 2010 22:45:22 +0000 (22:45 +0000)]
Use a single value for SNR offset in the bit allocation search rather than
the separate coarse and fine values.

Originally committed as revision 26010 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoChange bit_alloc() to return the mantissa bit count.
Justin Ruggles [Tue, 14 Dec 2010 22:45:19 +0000 (22:45 +0000)]
Change bit_alloc() to return the mantissa bit count.

Originally committed as revision 26009 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agocosmetics: alignment and line wrap after last commit
Justin Ruggles [Tue, 14 Dec 2010 22:45:15 +0000 (22:45 +0000)]
cosmetics: alignment and line wrap after last commit

Originally committed as revision 26008 to svn://svn.ffmpeg.org/ffmpeg/trunk

8 years agoMove bit counts to AC3EncodeContext.
Justin Ruggles [Tue, 14 Dec 2010 22:45:12 +0000 (22:45 +0000)]
Move bit counts to AC3EncodeContext.

Originally committed as revision 26007 to svn://svn.ffmpeg.org/ffmpeg/trunk