13053 Commits

Author SHA1 Message Date
Michael Niedermayer
4f036b9f69 Clarify that pts_correction* fields are internal to libavcodec
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-02-13 00:25:22 +01:00
Carl Eugen Hoyos
27a275e4bb Set maximum lowres value for the MJPEG decoder to 3.
While 4 works for some samples, 3 is the correct value since 8x8
DCT is used by (m)jpeg.
2011-02-12 15:38:26 +01:00
Jason Garrett-Glaser
ccba4f4c25 VP8: optimized mv prediction and decoding
Merge find_near_mvs and mv bitstream decoding: don't do prediction steps
until absolutely necessary.
(cherry picked from commit f3d09d44b70492022964e2ead5f439bb7c96eaa2)
2011-02-11 02:54:10 +01:00
Justin Ruggles
943dc94265 ac3enc: Remove unneeded clipping of shift amount.
s->windowed_samples will always have a range of [-32767,32767] due to the
window function, so the return value from log2_tab() will always be in the
range [0,14].

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 626264b11b5406c0c78c4056cabb63cb650e9bf2)
2011-02-11 02:54:10 +01:00
Justin Ruggles
95234e051b ac3enc: remove right shifting from lshift_tab() and make lshift unsigned.
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit d4582889eefeee4dd23face9e74b2829dbaaeae5)
2011-02-11 02:54:10 +01:00
Mans Rullgard
98ec828775 Remove final semicolon from some macros
This avoids double semicolons after macro expansion.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 44adbebe1744c68d66d7f811c38270fdcc89665a)
2011-02-11 02:54:10 +01:00
Ronen Mizrahi
41bb47bf96 dvbsubenc: Fix placement of the object version
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit df211c3ab73b36208ac4511a9cd7feb817f551fa)
2011-02-11 02:54:10 +01:00
Janne Grunau
1a08928538 dvbsubdec: check against buffer overreads
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
(cherry picked from commit 493aa30adf88baf5bc734072592a22db586f0cfb)
2011-02-11 02:54:09 +01:00
Reimar Döffinger
20708223db Do not fail DVB sub decoding because of a few padding bytes
Instead of returning an error when bytes are left over, just return
the number of actually used bytes as other decoders do.
Instead add a special case so an error will be returned when none
of the data looks valid to avoid making debugging a pain.

Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
(cherry picked from commit 4a72765a1c94b05bd3053b1f34f8457a3b71d714)
2011-02-11 02:54:09 +01:00
Justin Ruggles
a30ac54a19 Add x86-optimized versions of exponent_min().
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit dda3f0ef48aa5c3b03566b60b6bf63211e1fe579)
2011-02-11 02:54:09 +01:00
Mans Rullgard
952f231588 Remove incorrect return statement from avcodec_thread_free()
The function return type is void, so a return statement with an
expression is forbidden (and pointless).

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit b4668274b944abae61759e796c5cc36ade510f24)
2011-02-11 02:54:09 +01:00
Mans Rullgard
7e1e8bf335 ivi_dsp: remove semicolons after function definitions
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit dbb09ec23f16cb5e4ec3d4e0911dae0beb95869b)
2011-02-11 02:54:09 +01:00
Mans Rullgard
ee5bb31f99 Fix build with threading disabled
The avcodec_thread_free() compatibility wrapper calls ff_thread_free(),
which is not defined when threading is disabled.  Make this call
conditional.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 9a77a92c2b6855781d2a4cfab14c67ae4025760c)
2011-02-11 02:54:08 +01:00
Mans Rullgard
74711b72cc w32thread: add missing #include thread.h
This should fix building with win32 threads.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit aef669cdfd984a737ad876b33ee1b160f87f5f9a)
2011-02-11 02:54:08 +01:00
Reimar Döffinger
7ade06cc2e check sample_fmt in avcodec_open
check AVCodecContext->sample_fmt against AVCodec->sample_fmts[] to ensure
that the encoder supports the specified sample format. Error out if it doesn't.
Previously, it would continue and output garbage. Fixes issue 2587.
(cherry picked from commit 2cfa2d925808e6cc6fb7a7c133b7cb7622afd37e)
2011-02-11 02:54:08 +01:00
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 d23845f311f04e98777612cae1b55e28923ccdc6)
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 c0b102ca03fe92250f1ce620aec3836f529fc1d6)
2011-02-11 02:54:08 +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
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 c7ac200d15e3240972d269df768068f0e3bb9c2f)
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 f7f8120fb9a06b5d7fbf5add48a0d8464319a332)
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 62457f9052ea15123688455aad866cb070634f13)
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 17cf7c68ed26a4cb3c7adf7488a38c2e19118918)
2011-02-09 03:33:55 +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 ae2104791ffa8466d3f6972ed0793b2a165daabe)
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 440b61691db2166abac3f58e01da1d4722f1f1e4)
2011-02-09 03:33:54 +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 a1c1d3c003b0ec16fdb6574913781313fb2c7ab6)
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 90e8a9c34f641d0cb9137190c1912a3da3095e01)
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 44ddfd47d671d2587903d94c8b565f68f45bd4bc)
2011-02-09 03:31:18 +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 ed19fafd486d6ab0d6e1eba80ceaa482a740c556)
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 84ae8936f642042fe7ad3466ce3a26dec77016f1)
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 c2fcd0a7a4d0bda1a3306e40b70ce281a987df60)
2011-02-06 20:31:47 +01:00
Kieran Kunhya
e10976eb77 Set channel_layout for mpegaudio
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit f4a86bc981d6743778dd1037fea243d36229ede1)
2011-02-06 20:31:46 +01:00
Alexander Strange
3c90abf40f vp3: Move table allocation code into a new function
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit edbb0c07081e78a4c7b6d999d641183bf30f1a2e)
2011-02-06 20:31:45 +01:00
Alexander Strange
dc4a188309 vp3: Factor out expression
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit e8dcd730583a0aa69c33a17fc27d65fa55f5effe)
2011-02-06 20:31:45 +01:00
Jason Garrett-Glaser
e9266a2be0 VP8: slightly faster loopfilter sharpness logic
(cherry picked from commit 8a2c99b48688008dd0a01c4826161ad4f7c25436)
2011-02-06 20:31:44 +01:00
Jason Garrett-Glaser
9efa368f19 VP8: faster deblock strength calculation
Convert hev_thresh logic to a LUT, simplify mbedge_lim calculation.
(cherry picked from commit 79dec1541bf83fb587aee9a002649ad1fe038990)
2011-02-06 20:31:44 +01:00
Clément Bœsch
b9004bd50c Remove a few if (p) av_freep(&p) forms
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 523d9407d57e9210428b6d962f0ebf48aae55638)
2011-02-06 20:31:44 +01:00
Jason Garrett-Glaser
c54ac7a8f2 VP8: faster filter_level clip
(cherry picked from commit a1b227bb533f173354795124e0b966277c251b56)
2011-02-06 20:31:43 +01:00
Jason Garrett-Glaser
8cde1b7997 VP8: simplify lf_delta mb mode logic
(cherry picked from commit dd18c9a050ac1f1437151ceb2d2afbc96c5602d8)
2011-02-06 20:31:43 +01:00
Anton Khirnov
7cb5258483 Rename remaining occurrences of SAMPLE_FMT_* to AV_SAMPLE_FMT_*
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 151595fe2e06969a83654564a15feb5b9e8aa2c4)
2011-02-04 03:10:12 +01:00
Anton Khirnov
4d9c044d47 Replace remaining occurrences of CODEC_TYPE_* with AVMEDIA_TYPE*
Tested to compile with lavc major bump.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit b2ed95ec48aceb21a9bb47af85d259ee52b8b7ea)
2011-02-04 03:10:12 +01:00
Tomas Härdin
6cd67b9f5b Add CODEC_ID_PRORES and bump lavc minor version
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit f5b82f45dce8b734074a5e72e22ae42078ae9ce9)
2011-02-04 03:10:11 +01:00
Clément Bœsch
e31a744155 Remove a few if (p) av_free(p) forms
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 437fb1c87d7b4b0730db97d0858b4f39fffff2a9)
2011-02-04 03:10:10 +01:00
Nicolas George
cf96cce728 Set pkt_pts in avcodec_default_reget_buffer()
This was missed when pkt_pts was first added.

Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 62ecd3635a1329c49bc3b97ba84ad4d53d847163)
2011-02-04 03:10:10 +01:00