Ronald S. Bultje
f6badba185
h264: don't clobber mmco opcode tables for non-first slice headers.
...
Clobbering these tables will temporarily clobber the template used
as a basis for other threads to start decoding from. If the other
decoding thread updates from the template right at that moment,
subsequent threads will get invalid (or, usually, none at all) mmco
tables. This leads to invalid reference lists and subsequent decode
failures.
Therefore, instead, decode the mmco tables only for the first slice in
a field or frame. For other slices, decode the bits and ensure they
are identical to the mmco tables in the first slice, but don't ever
clobber the context state. This prevents other threads from using a
clobbered/invalid template as starting point for decoding, and thus
fixes decoding in these cases.
This fixes occasional (~1%) failures of h264-conformance-mr1_bt_a with
frame-multithreading enabled.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-15 13:58:22 +01:00
Michael Niedermayer
8ac8f04993
mpegvideo: Fix long standing race condition with frame threads
...
Since resolution change support this also was exploitable, which is
how it was found.
Fixes read after free and out of array reads.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-15 05:34:37 +01:00
Stephen Hutchinson
df4203ac6f
Fix compilation with libutvideo version 12.0.0
...
Reviewed-by: Derek Buitenhuis
2013-01-15 01:15:10 +01:00
Carl Eugen Hoyos
5ce023b790
Fix color filter example.
...
Found-by: johnd and Paul B Mahol
2013-01-15 00:14:35 +01:00
Michael Niedermayer
274e48d8ac
x86/Makefile: move dirac_dwt to right type
...
Fix build failure without yasm
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 23:40:26 +01:00
Michael Niedermayer
9cb3c1a4d9
x86/dirac: fix asm on win64
...
This could also be fixed by changing the argument type if
someone prefers that and wants to change it ...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 23:28:01 +01:00
Michael Niedermayer
30981a966f
lavc: split snow and dirac DWTs
...
There is only about 4 lines of common code, so it alot cleaner
when seperated.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 22:59:05 +01:00
Michael Niedermayer
922332e60d
nuv: remove unused variable
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 16:37:12 +01:00
Michael Niedermayer
7980cca05c
init_get_bits: fix off by 1 error
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 16:35:41 +01:00
Michael Niedermayer
153fad14e5
init_get_bits8: zero pointers & struct on error
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 16:35:41 +01:00
Michael Niedermayer
ac73d3a12a
init_get_bits8: check byte_size against being positive
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 16:35:41 +01:00
Carl Eugen Hoyos
c29c7c1470
The c99-to-c89 binaries are now hosted on videolan.org.
2013-01-14 16:28:44 +01:00
Michael Niedermayer
57d59e82cb
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
rtmpproto: Fix assignments in if()
lavf: Fix assignments in if()
svq1enc: Fix assignments in if()
lavc: Fix assignments in if() when calling ff_af_queue_add
h264: Fix assignments in if()
truemotion2: cosmetics, reformat
Conflicts:
libavcodec/svq1enc.c
libavcodec/truemotion2.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 15:53:25 +01:00
Michael Niedermayer
92b2387159
Merge commit 'df9036830b15997a3e9c3f2c632ed98d64f9deef'
...
* commit 'df9036830b15997a3e9c3f2c632ed98d64f9deef':
truemotion2: return meaningful error codes.
tscc: remove some pointless comments and empty lines.
tscc: return meaningful error codes.
loco: cosmetics, reformat
Conflicts:
libavcodec/truemotion2.c
libavcodec/tscc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 15:45:05 +01:00
Michael Niedermayer
f9d5bdd0f6
Merge commit '1a31dff9370b4732c91df5cb1ca4b39f2cb3050e'
...
* commit '1a31dff9370b4732c91df5cb1ca4b39f2cb3050e':
loco: return meaningful error codes.
flicvideo: return meaningful error codes.
vcr1: remove disabled encoder stub
Conflicts:
libavcodec/flicvideo.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 15:36:35 +01:00
Michael Niedermayer
4adc8a29a0
Merge commit '74a9a624c5c4d50760d8d57458eba57366f6cb26'
...
* commit '74a9a624c5c4d50760d8d57458eba57366f6cb26':
vcr1: return a meaningful error code.
rpza: return a meaningful error code.
qdrw: cosmetics, reformat
Conflicts:
libavcodec/qdrw.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 15:17:16 +01:00
Michael Niedermayer
8943925d1f
Merge commit '688b132b881d423877e38dc82f17e23a604be676'
...
* commit '688b132b881d423877e38dc82f17e23a604be676':
qdrw: return meaningful error codes.
qtrle: return a meaningful error code.
gifdec: return meaningful error codes.
interplayvideo: remove a static variable.
interplayvideo: return meaningful error codes.
lcldec: return meaningful error codes.
targa: return meaningful error codes.
qpeg: return a meaningful error code.
nuv: return meaningful error codes.
Conflicts:
libavcodec/gifdec.c
libavcodec/interplayvideo.c
libavcodec/nuv.c
libavcodec/qpeg.c
libavcodec/targa.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 15:04:58 +01:00
Michael Niedermayer
329675cfd7
Merge commit 'a1c525f7eb0783d31ba7a653865b6cbd3dc880de'
...
* commit 'a1c525f7eb0783d31ba7a653865b6cbd3dc880de':
pcx: return meaningful error codes.
tmv: return meaningful error codes.
msrle: return meaningful error codes.
cscd: return meaningful error codes.
yadif: x86: fix build for compilers without aligned stack
lavc: introduce the convenience function init_get_bits8
lavc: check for overflow in init_get_bits
Conflicts:
libavcodec/cscd.c
libavcodec/pcx.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 14:43:32 +01:00
Michael Niedermayer
a646ac8ef5
Merge commit '90cfc084e3e6d37ab88fc96a95f0401d8e8b4cd1'
...
* commit '90cfc084e3e6d37ab88fc96a95f0401d8e8b4cd1':
avpacket: free side data in av_free_packet().
v4l2: do not assert on a value received from outside of Libav
v4l2: set the average framerate instead of codec timebase.
Conflicts:
libavcodec/avpacket.c
libavdevice/v4l2.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 14:16:21 +01:00
Michael Niedermayer
53c2f401f7
Merge commit '246da0b13551b1f80f067e4f258e5bd691f5ab33'
...
* commit '246da0b13551b1f80f067e4f258e5bd691f5ab33':
v4l2: avoid pointless indirection.
vdpau: Add VC-1 decoding via hwaccel infrastructure
vdpau: Add H.264 decoding via hwaccel infrastructure
Conflicts:
configure
libavcodec/Makefile
libavcodec/version.h
libavdevice/v4l2.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 14:00:21 +01:00
Michael Niedermayer
41bdef1d39
Merge commit '200e8ac92007bc2fe30da05d3bd00ab620842a6b'
...
* commit '200e8ac92007bc2fe30da05d3bd00ab620842a6b':
vdpau: Add MPEG-4 decoding via hwaccel infrastructure
vdpau: Add MPEG-1/2 decoding via hwaccel infrastructure
Conflicts:
configure
libavcodec/Makefile
libavcodec/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 13:48:30 +01:00
Michael Niedermayer
8ee7b3881b
Merge commit '44e065d56c87d6a9d0effccec5f31517f72924ec'
...
* commit '44e065d56c87d6a9d0effccec5f31517f72924ec':
vdpau: Add context and common helpers for hwaccel support
Conflicts:
Changelog
doc/APIchanges
libavcodec/vdpau.h
libavcodec/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 13:29:00 +01:00
Michael Niedermayer
6dc8505417
rtmpproto: Fix assignments in if()
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-14 13:13:00 +02:00
Michael Niedermayer
d641ee94b5
lavf: Fix assignments in if()
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-14 13:12:55 +02:00
Michael Niedermayer
30aeada3d8
svq1enc: Fix assignments in if()
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-14 13:12:49 +02:00
Michael Niedermayer
1d7ffd06e4
lavc: Fix assignments in if() when calling ff_af_queue_add
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-14 13:12:44 +02:00
Michael Niedermayer
59d5680310
h264: Fix assignments in if()
...
Fixes null pointer dereference later, since if this function failed,
a positive return value was returned to the caller.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-14 13:12:38 +02:00
Anton Khirnov
60a42ef44c
truemotion2: cosmetics, reformat
2013-01-14 11:39:57 +01:00
Anton Khirnov
df9036830b
truemotion2: return meaningful error codes.
2013-01-14 11:39:49 +01:00
Anton Khirnov
a4a26f5188
tscc: remove some pointless comments and empty lines.
2013-01-14 11:39:42 +01:00
Anton Khirnov
ac1e93f555
tscc: return meaningful error codes.
2013-01-14 11:39:33 +01:00
Anton Khirnov
b627c3010b
loco: cosmetics, reformat
2013-01-14 11:39:23 +01:00
Anton Khirnov
1a31dff937
loco: return meaningful error codes.
2013-01-14 11:39:15 +01:00
Anton Khirnov
a9d970a019
flicvideo: return meaningful error codes.
2013-01-14 11:38:58 +01:00
Anton Khirnov
6b3a1229bb
vcr1: remove disabled encoder stub
2013-01-14 11:38:45 +01:00
Anton Khirnov
74a9a624c5
vcr1: return a meaningful error code.
2013-01-14 11:38:38 +01:00
Anton Khirnov
e4ca055b3c
rpza: return a meaningful error code.
2013-01-14 11:38:31 +01:00
Anton Khirnov
80cf2ebc59
qdrw: cosmetics, reformat
2013-01-14 11:37:55 +01:00
Anton Khirnov
688b132b88
qdrw: return meaningful error codes.
2013-01-14 11:37:43 +01:00
Anton Khirnov
8f17829455
qtrle: return a meaningful error code.
2013-01-14 11:37:31 +01:00
Anton Khirnov
048ffb9bb2
gifdec: return meaningful error codes.
2013-01-14 11:37:17 +01:00
Anton Khirnov
3d973e461b
interplayvideo: remove a static variable.
2013-01-14 11:36:45 +01:00
Anton Khirnov
089b3d6815
interplayvideo: return meaningful error codes.
2013-01-14 11:36:33 +01:00
Anton Khirnov
14cf33e957
lcldec: return meaningful error codes.
2013-01-14 11:36:22 +01:00
Anton Khirnov
01cbc6f6ad
targa: return meaningful error codes.
2013-01-14 11:36:11 +01:00
Anton Khirnov
62d9655217
qpeg: return a meaningful error code.
2013-01-14 11:35:54 +01:00
Anton Khirnov
3344f5cb74
nuv: return meaningful error codes.
2013-01-14 11:35:17 +01:00
Anton Khirnov
a1c525f7eb
pcx: return meaningful error codes.
2013-01-14 11:35:04 +01:00
Anton Khirnov
6bf70127d1
tmv: return meaningful error codes.
2013-01-14 11:34:53 +01:00
Anton Khirnov
9e6764900a
msrle: return meaningful error codes.
2013-01-14 11:34:18 +01:00