Commit Graph

27749 Commits

Author SHA1 Message Date
Alexander Strange
4a5a16898f vp3: Frame-based multithreading support
Decode times for big_buck_bunny_720p_stereo:

1 thread:
real    1m14.227s
user    1m13.104s
sys     0m1.108s

2 threads: (33% faster)
real    0m49.329s
user    1m33.735s
sys     0m1.834s

3 threads: (44% faster)
real    0m41.593s
user    1m44.884s
sys     0m1.967s
(cherry picked from commit d23845f311)
2011-02-11 02:54:08 +01:00
Ronald S. Bultje
f94317fd07 Add missing git rev hash.
(cherry picked from commit f2146944fc)
2011-02-11 02:54:08 +01:00
Alexander Strange
043d2ff267 Deprecate avcodec_thread_init()
As a side effect of the last commit, avcodec_open() now calls it automatically,
so there is no longer any need for clients to call it.
Instead they should set AVCodecContext.thread_count.

avcodec_thread_free() is deprecated, and will be removed from avcodec.h at the
next MAJOR libavcodec bump.

Rename the functions to ff_thread_init/free, since they are now internal.
Wrappers are provided to maintain API compatibility.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit c0b102ca03)
2011-02-11 02:54:08 +01:00
Ronald S. Bultje
03e3cb8777 Add missing git rev hash.
(cherry picked from commit 8e8cc52be3)
2011-02-11 02:54:07 +01:00
Alexander Strange
b38f008ea6 Frame-based multithreading framework using pthreads
See doc/multithreading.txt for details on use in codecs.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-11 02:53:58 +01:00
Ronald S. Bultje
8a278ad30d Add missing git revision hask.
(cherry picked from commit c2bd7578af)
2011-02-11 02:43:49 +01:00
Anton Khirnov
b9afb0446d asf: make ff_guidcmp inline and move it to asf.h
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit e4e234fad7)
2011-02-11 02:43:49 +01:00
Jason Garrett-Glaser
a97b9325cb Update qmin/qmax values for libx264 presets
Also allow qmin/qmax to go up to 69 (the current max value for libx264).  This
will have to increase when we add 9/10-bit support.
(cherry picked from commit c7ac200d15)
2011-02-09 03:33:56 +01:00
Jason Garrett-Glaser
2c855cea85 Fix broken vbv_buffer_init handling in libx264.c
Due to being pants-on-head retarded, libavcodec defaults this to zero, which
results in broken output.  This didn't affect ffmpeg.c, which sets it itself,
but caused problems for other calling apps using VBV.
(cherry picked from commit f7f8120fb9)
2011-02-09 03:33:55 +01:00
Jason Garrett-Glaser
a1b0a3c8bd VP8: idct_mb optimizations
Currently uses AV_RL32 instead of AV_RL32A, as the latter doesn't exist yet.
(cherry picked from commit 62457f9052)
2011-02-09 03:33:55 +01:00
Ronald S. Bultje
a239d534d7 Fix ff_emu_edge_core_sse() on Win64.
Fix emu_edge_v_extend_15 to be <128 bytes on Win64, by being more strict
on the size of registers and which registers are being used for operations
where multiple are available. This fixes segfaults in emulated_edge()
function calls on Win64.
(cherry picked from commit 17cf7c68ed)
2011-02-09 03:33:55 +01:00
Anssi Hannula
070e5ba560 lavf: rename ff_probe_input_buffer to make it public
It is useful for applications that hand input data directly to lavf via
a ByteIOContext.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 3940caad02)
2011-02-09 03:33:55 +01:00
Anssi Hannula
e74c01db7e lavf: simplify pb parameter of ff_probe_input_buffer
There is no need to pass the ByteIOContext via a pointer to a pointer
anymore.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit aad216fd7e)
2011-02-09 03:33:55 +01:00
Anssi Hannula
2e47df70c4 lavf: update ff_probe_input_buffer documentation
It never reopens the bytestream anymore.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 4d016dd4e5)
2011-02-09 03:33:55 +01:00
Reimar Döffinger
94dfea71ed oggdec: Fix incorrect assumption about header/data interleaving
Currently (since the data_offset fix) the ogg demuxer assumes that
after the first non-header packets in any stream no more header packets
will follow.
This is not guaranteed, so change the code back again to wait until it
has finished the headers for all streams before returning from ogg_get_headers.

This fixes issue 2428.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 6bd69e6ada)
2011-02-09 03:33:55 +01:00
François Revol
68b2336d13 Fix HOSTLIBS on Haiku
Haiku does not have a separate libm, so do not try to link to it.

Signed-off-by: François Revol <revol@free.fr>
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit f59c4bd625)
2011-02-09 03:33:55 +01:00
Reinhard Tartler
2eed5288d2 Documentation updates for the git migration
This cleanup patch updates the developer documentation with respect to
the migration to the git scm.
(cherry picked from commit 87800dc2bf)
2011-02-09 03:33:54 +01:00
Stefan Kost
3e2a4e91bd logging: downgrade recoverable errors to warnings
In all 3 cases, the decoding continues and thus a warning would be sufficient.
Helps application that catch them with own log handers to handle them
accordingly.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit ae2104791f)
2011-02-09 03:33:54 +01:00
Janne Grunau
17a1919027 add APIChanges entry for fe9a3fb
(cherry picked from commit 7ab8758baf)
2011-02-09 03:33:54 +01:00
Janne Grunau
154f7bb062 h264: define FF_PROFILE_H264_HIGH_444 to the correct value
It was removed in fe9a3fb since it had the wrong value. Add profile name
for it.
(cherry picked from commit 440b61691d)
2011-02-09 03:33:54 +01:00
Stefano Sabatini
9b8bb626dc libavfilter: add video movie source
See thread:
Subject: [PATCH] movie video source
Date: 2010-12-31 15:35:30 GMT

Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-02-09 03:33:28 +01:00
Stefano Sabatini
a1cdf548a2 Apply misc fixes to the image2 muxer documentation.
The fixes were pointed out by Diego.

Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
(cherry picked from commit 0cad24ce9b)
2011-02-09 03:31:21 +01:00
Stefano Sabatini
20a4b9e936 Add documentation for the framecrc muxer.
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
(cherry picked from commit 77d4ed7a12)
2011-02-09 03:31:21 +01:00
Stefano Sabatini
ea67c95176 Add documentation for the crc muxer.
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
(cherry picked from commit a4effe432f)
2011-02-09 03:31:21 +01:00
Stefano Sabatini
7e7afb3d54 Document null muxer.
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
(cherry picked from commit f4acb837eb)
2011-02-09 03:31:21 +01:00
Mans Rullgard
ef15d71c1f VP8: ARM NEON optimisations for dsp functions
This adds NEON optimised versions of all functions in VP8DSPContext.
Based on initial work by Rob Clark.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit a1c1d3c003)
2011-02-09 03:31:21 +01:00
Kostya
fff6c21295 Remove Xan WC4 cruft from xan.c
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 90e8a9c34f)
2011-02-09 03:31:18 +01:00
Kostya Shishkov
abb5f2b7bf Xan4 decoder
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 44ddfd47d6)
2011-02-09 03:31:18 +01:00
Reimar Döffinger
14d735bd4f matroskadec: add generic element length validation.
This validate the length of a mkv element directly after reading
it.
This has the advantage that it is easy to add new limits and makes
it less likely to forget to add checks and also avoids issues like
bits of the length value above the first 32 being ignored because
the parsing functions only takes an int.
Previously discussed in the "mkv 0-byte integer parsing" thread.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 95ec3d4cac)
2011-02-09 03:31:17 +01:00
Ronald S. Bultje
cb9f7fd34c Fix compile warning.
Change int64_t into a int, which caused this compiler warning:
libavformat/oggparseskeleton.c:64: warning: passing argument 2 of ‘av_reduce’ from incompatible pointer type
(cherry picked from commit 69ff149204)
2011-02-09 03:31:17 +01:00
Anton Khirnov
f8d33a3617 avidec: simplify read_gab2_sub
Use avio functions instead of bytestream ones (also drops dependency on
lavc and removes a bunch of warnings).
Drop custom version of avio_get_str16 and use that instead.

Tested on mewmew-ssa.avi sample.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 47fdf00a77)
2011-02-09 03:31:17 +01:00
Anton Khirnov
f81946729e lavf: move internal functions from avformat.h to internal.h
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 19711af5cd)
2011-02-09 03:31:17 +01:00
Reimar Döffinger
2f35beae4d Make av_set_pts_info keep previous time base if new one is invalid.
Fixes issue 2475.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit b3190529df)
2011-02-09 03:31:17 +01:00
Sascha Sommer
e11afd71a3 pass QDMC extradata to the decoder
Makes playing QDMC files in MPlayer work when using the libavformat demuxer.
Problem was that the extradata was not passed from demuxer to decoder.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit ed19fafd48)
2011-02-09 03:30:01 +01:00
Anssi Hannula
5fb06ffac7 configure: check yasm/nasm for working pextrd opcode
NASM versions older than 2.08 fail to build ffmpeg with several
"error: operation size not specified" errors but this is not caught in
configure.

Fix that by checking if "pextrd [eax], xmm0, 1" works in configure.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 48545a8f72)
2011-02-09 03:30:01 +01:00
Alexander Strasser
21b032c431 vorbis dec: Remove obsolete comment
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-02-08 21:26:39 +01:00
Alexander Strasser
350b2bb1a6 vorbis dec: cosmetics: Indent CPP cond properly
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-02-08 21:26:39 +01:00
Alexander Strasser
6d173daece vorbis dec: cosmetics: Indent consistently
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-02-08 21:26:39 +01:00
Alexander Strasser
b2a51e3d48 vorbis dec: cosmetics: Indent after scope deletion
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-02-08 21:26:38 +01:00
Alexander Strasser
21494e5537 vorbis dec: Delete useless scopes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-02-08 21:26:38 +01:00
Nicolas George
76ad67cae7 Implement guessed_pts in avcodec_decode_video2
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-02-07 19:32:07 +01:00
Jindrich Makovicka
52b2e95cd9 dvdsubdec.c: prevent input buffer overflow
In some places, dvbsubdec passes improper input buffer size to
bitstream reading functions, not accounting for reading pointer
updates.

Fixed by using buffer_end - buffer pointer instead of fixed buffer length.

Signed-off-by: Jindrich Makovicka <makovick@gmail.com>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-02-07 16:56:49 +01:00
Diego Elio Pettenò
6a495e986f Make inter_rvlc and intra_rvlc static tables.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 84ae8936f6)
2011-02-06 20:31:47 +01:00
Ronald S. Bultje
561ca02066 Fill in missing date.
(cherry picked from commit ae0f8a1a33)
2011-02-06 20:31:47 +01:00
Ronald S. Bultje
340a20ea65 Update MINOR and set git rev for non-blocking flag API addition.
(cherry picked from commit efdd67cb00)
2011-02-06 20:31:47 +01:00
Anton Khirnov
fbdcdaee6e Replace remaining occurrences of deprecated CH_* with AV_CH_*
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit c2fcd0a7a4)
2011-02-06 20:31:47 +01:00
Nicolas George
6e59474b30 Non-blocking protocol: TCP
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit ad3cffb68f)
2011-02-06 20:31:46 +01:00
Nicolas George
3ce3b49824 Non-blocking protocol: core wrapper functions
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 90441276e4)
2011-02-06 20:31:46 +01:00
Nicolas George
f4bd5800ac Non-blocking protocols: flag and documentation
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit fe174fc8fc)
2011-02-06 20:31:46 +01:00
Kieran Kunhya
e10976eb77 Set channel_layout for mpegaudio
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit f4a86bc981)
2011-02-06 20:31:46 +01:00