Commit Graph

22387 Commits

Author SHA1 Message Date
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
Luca Barbato
47812070a2 libx264: use the library specific default rc_initial_buffer_occupancy
By default libav sets it to 3/4 while x264 sets it to 9/10.

CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-15 08:58:51 +01:00
Luca Barbato
bff3607547 lavc: set the default rc_initial_buffer_occupancy
rc_buffer_size is not set before.

Solve the initial the rate control underflow issue reported in
bug 222.

CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-15 08:58:51 +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
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
Diego Biurrun
51969a652c x86: ABS2: port to cpuflags 2013-01-14 21:56:55 +01:00
Rémi Denis-Courmont
171f1446f0 vdpau: Remove av_unused attribute from function declaration
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-14 21:56:55 +01:00
Anton Khirnov
ea382767ad h264: fix ff_generate_sliding_window_mmcos() prototype.
It's been returning an error value since
bad446e251

Also check for the errors it returns.
2013-01-14 21:36:08 +01:00
Maximilian Seesslen
055b373080 libtheoraenc: fix granularity of video quality
The floating point version of av_clip has to be used when
converting the quality level.

Signed-off-by: Maximilian Seesslen <mes@seesslen.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-14 20:47:27 +02:00
Luca Barbato
3f111804eb libvpx: make vp8 and vp9 selectable
Support older libvpx versions.
2013-01-14 19:20:47 +01:00
Ronald S. Bultje
bad446e251 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: Luca Barbato <lu_zero@gentoo.org>
2013-01-14 19:20:47 +01:00
Luca Barbato
dab1f543fc libvpx: support vp9
This feature is experimental use at your risk
2013-01-14 19:20:47 +01:00
Tom Finegan
66aabd76a9 mkv: support vp9 tag 2013-01-14 19:20:47 +01:00
Diego Biurrun
ba0c72a9ae build: Remove stray Makefile entry for non-existent VCR1 encoder 2013-01-14 17:02:04 +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
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
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
Anton Khirnov
8fd4d1f9b9 cscd: return meaningful error codes. 2013-01-14 11:34:08 +01:00
Michael Niedermayer
659546b42d tiff: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 05:05:39 +01:00
Michael Niedermayer
37be1d802f svq1enc: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 05:05:38 +01:00
Michael Niedermayer
e2704381e5 ra144enc: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 05:05:37 +01:00
Michael Niedermayer
795d2dc23b nellymoserenc: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 05:05:37 +01:00
Michael Niedermayer
bdd71abe5f libvorbisenc: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 05:05:36 +01:00
Michael Niedermayer
0ccb31dcad libvo-aacenc: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 05:05:35 +01:00
Michael Niedermayer
3b8d66d531 libspeexenc: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 05:05:33 +01:00
Michael Niedermayer
d6180aa297 libopencore-amr: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 05:05:31 +01:00
Michael Niedermayer
871b6ec01d libmp3lame: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 05:05:30 +01:00
Michael Niedermayer
9302ad1ac8 libfdk-aacenc: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 05:05:28 +01:00
Michael Niedermayer
68a25c64cd libfaac: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 05:05:27 +01:00
Michael Niedermayer
98fed59427 aacenc: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 05:05:26 +01:00
Luca Barbato
e28ac6e5e2 lavc: introduce the convenience function init_get_bits8
Accept the buffer size in bytes and check for overflow before passing
the value in bits to init_get_bits.
2013-01-14 04:49:14 +01:00
Luca Barbato
d9cf5f5169 lavc: check for overflow in init_get_bits
Fix an undefined behaviour and make the function return a proper
error in case of overflow.

CC: libav-stable@libav.org
2013-01-14 04:49:14 +01:00
Michael Niedermayer
aaa7d2fafc h264: don t leave stale pointers in delayed_pic in flush_changes.
Fixes null pointer dereference & assertion failure

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 03:03:53 +01:00
Michael Niedermayer
c13e4e288c h264: fix () placement
Fixes null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 00:09:01 +01:00
Anton Khirnov
90cfc084e3 avpacket: free side data in av_free_packet().
Freeing it in av_destruct_packet(), as is done currently, would mean
that we allow it to be allocated with other means. But that would make
av_packet_new_side_data() unsafe.

Side data is not expected to be large, so copying it if required
shouldn't be a problem.
2013-01-13 16:31:40 +01:00
Rémi Denis-Courmont
7752532789 vdpau: Add VC-1 decoding via hwaccel infrastructure
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-13 14:54:18 +01:00
Rémi Denis-Courmont
51b56a0716 vdpau: Add H.264 decoding via hwaccel infrastructure
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-13 14:54:08 +01:00
Rémi Denis-Courmont
200e8ac920 vdpau: Add MPEG-4 decoding via hwaccel infrastructure
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-13 14:54:02 +01:00
Rémi Denis-Courmont
aaf9d0e8f3 vdpau: Add MPEG-1/2 decoding via hwaccel infrastructure
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-13 14:53:47 +01:00
Rémi Denis-Courmont
44e065d56c vdpau: Add context and common helpers for hwaccel support
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-13 14:41:27 +01:00
Michael Niedermayer
a6e4796fbf pthread: Do not use a half updated context as master for deallocation.
Fixes assertion failure

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-13 06:22:04 +01:00
Michael Niedermayer
2ea3f37d5f dvdsubenc: use unsigned shifts to avoid shifting into the sign bit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-12 21:45:03 +01:00
Michael Niedermayer
754dd7e889 dvdsubdec: use unsigned shifts to avoid shifting into the sign bit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-12 21:39:00 +01:00
Michael Niedermayer
43d6ac53f2 lavc: ff_find_pix_fmt ->avpriv
Found-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-12 14:06:30 +01:00
Michael Niedermayer
15daa8f9dd Merge commit 'f61272f0efd80da437570aad2c40e00f9d3f4fe6'
* commit 'f61272f0efd80da437570aad2c40e00f9d3f4fe6':
  ratecontrol: K&R cosmetic formatting
  rtpdec: Remove a useless todo comment

Conflicts:
	libavcodec/ratecontrol.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-12 13:32:13 +01:00
Luca Barbato
f61272f0ef ratecontrol: K&R cosmetic formatting
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-12 12:00:49 +01:00
Michael Niedermayer
d9226b3717 mpegvideo: dont leave stale pointers in next/last picture
Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-12 04:46:08 +01:00
Michael Niedermayer
cc548ea7a6 vc1dec: ensure cbpcy_vlc has been set before decoding a frame.
Fixes null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-12 04:09:21 +01:00
Michael Niedermayer
b53adef07b h264: reset first_field when current_picture_ptr is reset
Fixes NULL pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-11 23:14:51 +01:00
Michael Niedermayer
969e75eb80 mjpegdec: Fix out of array read in unescaping code
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-11 18:20:25 +01:00
Michael Niedermayer
8d06be6b8c wavpack: check pointer to avoid overreading input buffer
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-11 16:37:31 +01:00
Michael Niedermayer
85a4dbeb9c ra144enc: fix two "may be used uninitialized in this function" warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-11 15:43:46 +01:00
Michael Niedermayer
f137d5763d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: enable pic for shared libs on AArch64
  zmbv: Reset the decoder on keyframe errors

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-11 13:38:37 +01:00
Michael Niedermayer
6fc0648932 Merge commit '7b8c5b263bc680eff5710bee5994de39d47fc15e'
* commit '7b8c5b263bc680eff5710bee5994de39d47fc15e':
  vc1dec: prevent a crash due missing pred_flag parameter
  matroska: Fix use after free

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-11 13:01:07 +01:00
Michael Niedermayer
8bfc8d88be Merge commit 'ec86ba57312745fd7ad9771e3121e79c6aacba30'
* commit 'ec86ba57312745fd7ad9771e3121e79c6aacba30':
  vp3: Fix double free in vp3_decode_end()
  fate: Split fate-siff test into demuxer and VB video decoder test

Conflicts:
	tests/fate/demux.mak
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-11 12:30:32 +01:00
Luca Barbato
c1d1ef4ecd zmbv: Reset the decoder on keyframe errors
Prevent the crash on fuzzed files as reported in bug 63.
2013-01-11 05:07:42 +01:00
Vladimir Pantelic
7b8c5b263b vc1dec: prevent a crash due missing pred_flag parameter
Handle pred_flag parameter not given to get_mvdata_interlaced()

Signed-off-by: Vladimir Pantelic <vladoman@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-11 04:57:41 +01:00
Michael Niedermayer
23318a5735 error_concealment: Check that the picture is not in a half setup state.
Fixes state becoming inconsistent
Fixes a null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-11 04:46:49 +01:00
Michael Niedermayer
8b47058c61 ass_split: fix out of array access in ass_split()
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-11 02:51:54 +01:00
Michael Niedermayer
97b1ba696b ass_split: fix out of array access
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-11 02:31:31 +01:00
Michael Niedermayer
2c16bf2de0 vorbisdec: Check bark_map_size.
This fixes potential divisions by zero and out of array accesses.

Reported-by: Dale Curtis <dalecurtis@chromium.org>
Found-by: inferno@chromium.org
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-11 00:58:40 +01:00
Ronald Bultje
ec86ba5731 vp3: Fix double free in vp3_decode_end()
Signed-off-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-10 20:05:42 +01:00
Carl Eugen Hoyos
b563afe6fa Do not allow arbitrary packet size in aac decoder.
Fixes a crash with a file containing a 400MB packet reported in bug 420.
2013-01-10 13:03:15 +01:00
Michael Niedermayer
65b8527993 Merge commit 'f7bf72a4a1146a7583577c9bdc066767e1ba3c6a'
* commit 'f7bf72a4a1146a7583577c9bdc066767e1ba3c6a':
  idcinvideo: correctly set AVFrame defaults
  yadif: Port inline assembly to yasm
  au: remove unnecessary casts
  au: return AVERROR codes instead of -1

Conflicts:
	libavcodec/idcinvideo.c
	libavfilter/x86/yadif_template.c
	libavformat/au.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 12:27:16 +01:00
Carl Eugen Hoyos
f023003ce6 Fix compilation with --disable-everything. 2013-01-10 10:04:46 +01:00
Michael Niedermayer
6471f63da2 wmalosslessdec: make arrays indexed by ch large enough for maximum number of channels
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 04:57:50 +01:00
Michael Niedermayer
7cb46b5191 targa: use checked bytestream read
Fix out of array read

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 04:57:50 +01:00
Michael Niedermayer
2b12d1ffd8 qdm2: fix out of stack array read.
The read value is not used when its outside the array.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 04:57:50 +01:00
Justin Ruggles
f7bf72a4a1 idcinvideo: correctly set AVFrame defaults 2013-01-09 14:49:06 -05:00
Michael Niedermayer
4765f63538 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  xan: Convert to bytestream2
  oggenc: add a page_duration option and deprecate the pagesize option
  x86: lavr: add SSE2/AVX dither_int_to_float()

Conflicts:
	libavcodec/xan.c
	libavformat/oggenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-09 12:30:14 +01:00
Alexandra Khirnova
d744801f1a xan: Convert to bytestream2
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-09 09:59:55 +01:00
Michael Niedermayer
57bdd67646 dirac: fix inverted check
Regression since: ea6da80
Fixes Ticket2123

I cannot reproduce any regressions by flipping the wrong condition
to how it should have been.

Thanks-to: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-09 01:08:39 +01:00
Michael Niedermayer
86159703f5 ff_find_pix_fmt: return NONE for the "not found" case.
Found-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-08 14:32:19 +01:00
Michael Niedermayer
4c80184cf5 mjpegdec: allow 2 components in ljpeg_decode_yuv_scan()
Fixes assertion failure

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-08 02:54:21 +01:00
Michael Niedermayer
3b57bb478f svq1dec: check that the reference frame matches in size before using it.
Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-08 00:28:35 +01:00
Clément Bœsch
dbf0a90572 lavc: fix forgotten "que" reference.
This should have been part of 491ca0e8.
2013-01-07 22:07:50 +01:00
Michael Niedermayer
f65daf577a rv10: always check direct mode interpolation times.
Fixes Division by 0

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-07 21:35:52 +01:00
Michael Niedermayer
7fb87bc5f2 mpeg12enc: check dimension validity
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-07 15:47:21 +01:00
Michael Niedermayer
bcc4ef1a41 mpeg12enc: Correctly mask dimensions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-07 15:47:06 +01:00
Michael Niedermayer
878e5bd6f5 mpeg12: Support decoding dimensions that are a multiple of 4096
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-07 15:31:00 +01:00
Paul B Mahol
2a89081cad Add EVRCA and SMV codec id
Demuxing files should be possible even if there are
no decoding support in lavc (yet).

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-07 11:43:20 +00:00
Paul B Mahol
2516023695 012v: remove double ; and return correct error code if ff_get_buffer() fails
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-07 10:48:02 +00:00
Michael Niedermayer
c526a01c91 Merge commit '4f50646697606df39317b93c2a427603b77636ee'
* commit '4f50646697606df39317b93c2a427603b77636ee':
  x86: sbrdsp: Implement SSE qmf_post_shuffle

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-07 01:51:10 +01:00
Michael Niedermayer
8429320313 Merge commit '44a0036d10579ed91e48df24859e54b08a582742'
* commit '44a0036d10579ed91e48df24859e54b08a582742':
  x86: sbrdsp: Implement SSE sum64x5

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-07 01:40:05 +01:00
Michael Niedermayer
ea93ccf079 Merge commit '5b4dfbffc258f90a7d2540d21209ac23afcf7cd0'
* commit '5b4dfbffc258f90a7d2540d21209ac23afcf7cd0':
  x86: ABS1: port to cpuflags
  v210x: cosmetics, reformat

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-07 01:35:18 +01:00
Michael Niedermayer
55d8cac254 Merge commit '6689474b91049411b5b7986616d1c66b701ae11f'
* commit '6689474b91049411b5b7986616d1c66b701ae11f':
  v210x: return meaningful error codes.
  r210dec: return meaningful error codes.
  vb: cosmetics, reformat

Conflicts:
	libavcodec/vb.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-07 01:30:23 +01:00
Michael Niedermayer
501db2f32b Merge commit '9dbbda235d93d628777b986e502213f1ed390973'
* commit '9dbbda235d93d628777b986e502213f1ed390973':
  vb: return meaningful error codes.
  ptx: return meaningful error codes.
  tiff: return meaningful error codes.
  vqavideo: return meaningful error codes.
  mss2: return meaningful error codes.
  v210dec: return meaningful error codes
  indeo2: cosmetics, reformat

Conflicts:
	libavcodec/indeo2.c
	libavcodec/tiff.c
	libavcodec/v210dec.c
	libavcodec/vb.c
	libavcodec/vqavideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-07 01:24:32 +01:00
Michael Niedermayer
4b20d307b3 Merge commit '7b1fbd4729a52dd7c02622dbe7bb81a6a7ed12f8'
* commit '7b1fbd4729a52dd7c02622dbe7bb81a6a7ed12f8':
  indeo2: check decoding errors.
  indeo2: return meaningful error codes
  rl2: cosmetics, reformat

Conflicts:
	libavcodec/rl2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-07 01:11:14 +01:00
Michael Niedermayer
d30660306c Merge commit '3c6e5a840c45fd3b832e86881602a72e47d46f19'
* commit '3c6e5a840c45fd3b832e86881602a72e47d46f19':
  rl2: use fixed-width integer types where appropriate
  rl2: return meaningful error codes.
  cljr: return a meaningful error code.
  fraps: cosmetics, reformat

Conflicts:
	libavcodec/fraps.c
	libavcodec/rl2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-07 01:01:13 +01:00
Michael Niedermayer
07f22d0b49 Merge commit '57d11e5e28bfe0bc445ad78fc033aafa73068bb4'
* commit '57d11e5e28bfe0bc445ad78fc033aafa73068bb4':
  fraps: return meaningful error codes.
  kgv1dec: return meaningful error codes.
  kmvc: return meaningful error codes.
  wnv1: return meaningful error codes.
  dpx: return meaningful error codes.
  truemotion1: return meaningful error codes
  pnm: return meaningful error codes.

Conflicts:
	libavcodec/dpx.c
	libavcodec/fraps.c
	libavcodec/kmvc.c
	libavcodec/pnm.c
	libavcodec/pnmdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-07 00:41:06 +01:00
Michael Niedermayer
7b018e5c8d Merge commit '84f2847de394ac447f53306bd4dd73e1af6ea5e4'
* commit '84f2847de394ac447f53306bd4dd73e1af6ea5e4':
  xl: return a meaningful error code.
  xan: return a meaningful error code.
  xxan: return meaningful error codes.
  zmbv: return more meaningful error codes.
  yop: use a meaningful error code.
  c93: return meaningful error codes.
  bmv: return meaningful error codes.
  bmp: return meaningful error codes.
  bink: operate with pointers to AVFrames instead of whole structs.
  bink: return meaningful error codes.
  bfi: return meaningful error codes.
  bethsoftvideo: return meaningful error codes.

Conflicts:
	libavcodec/c93.c
	libavcodec/xl.c
	libavcodec/xxan.c
	libavcodec/yop.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-06 23:59:35 +01:00
Michael Niedermayer
6190446745 Merge commit 'e83c1e2d0bedb5d4fa9ab351126b2ecc552f1355'
* commit 'e83c1e2d0bedb5d4fa9ab351126b2ecc552f1355':
  avs: return meaningful error codes.
  aura: return meaningful error codes.
  asvdec: return meaningful error codes.
  ansi: return a meaningful error code
  anm: return meaningful error codes
  aasc: return meaningful error codes.
  8bps: return meaningful error codes.
  4xm: operate with pointers to AVFrames instead of whole structs.
  4xm: eliminate a pointless indirection

Conflicts:
	libavcodec/4xm.c
	libavcodec/aasc.c
	libavcodec/anm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-06 23:48:48 +01:00
Michael Niedermayer
a2aeaff40f Merge commit 'aa15afb7ce850e2ac688efdef189df5da817a646'
* commit 'aa15afb7ce850e2ac688efdef189df5da817a646':
  4xm: simplify code with FFSWAP
  4xm: return meaningful error codes

Conflicts:
	libavcodec/4xm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-06 23:41:19 +01:00
Carl Eugen Hoyos
9ff92cf195 012v decoder.
The decoder also supports a12v, but removes the transparency layer
since no samples with actual transparency are available for testing.
2013-01-06 17:59:27 +01:00
Diego Biurrun
a0c5917f86 Drop Snow codec
Snow is a toy codec with no real-world use and horrible code.
2013-01-06 16:30:02 +01:00
Michael Niedermayer
3db02b83e7 dnxhd: Add avpriv_dnxhd_get_frame_size()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-06 13:58:46 +01:00
Christophe Gisquet
4f50646697 x86: sbrdsp: Implement SSE qmf_post_shuffle
255 to 174 cycles on Arrandale / Win64. Unrolling yields no gain.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-06 13:57:01 +01:00
Christophe Gisquet
44a0036d10 x86: sbrdsp: Implement SSE sum64x5
698 to 174 cycles on Arrandale. Unrolling is a 6 cycles gain.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-06 13:57:01 +01:00
Diego Biurrun
5b4dfbffc2 x86: ABS1: port to cpuflags 2013-01-06 13:57:01 +01:00
Michael Niedermayer
11e1466b43 cos_tablegen: fix the lack on M_PI
We dont include mathematics.h as the headers get configured by config.h
for the target not the host.

Reviewed-by: Clément Bœsch <ubitux@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-06 13:56:55 +01:00
Thilo Borgmann
bfde6e5c02 alsdec: Introduce failsafe switch to keep ALSSpecificConfig consistent to the input.
Reveiwed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-06 13:55:58 +01:00
Thilo Borgmann
95f81159de alsdec: Consistently use a period at the end of error messages.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-06 13:52:53 +01:00
Anton Khirnov
6689474b91 v210x: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov
9dbbda235d vb: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov
7b1fbd4729 indeo2: check decoding errors. 2013-01-06 13:31:40 +01:00
Anton Khirnov
3c6e5a840c rl2: use fixed-width integer types where appropriate 2013-01-06 13:31:40 +01:00
Anton Khirnov
57d11e5e28 fraps: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov
84f2847de3 xl: return a meaningful error code. 2013-01-06 13:31:40 +01:00
Anton Khirnov
de16f08e48 v210x: cosmetics, reformat 2013-01-06 13:31:40 +01:00
Anton Khirnov
39039f2405 r210dec: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov
a0ffcee1ee ptx: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov
6ea2c9a4cf indeo2: return meaningful error codes 2013-01-06 13:31:40 +01:00
Anton Khirnov
126abaaaae rl2: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov
405486c28b kgv1dec: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov
d47dabbac2 xan: return a meaningful error code. 2013-01-06 13:31:40 +01:00
Anton Khirnov
4324a3ce75 vb: cosmetics, reformat 2013-01-06 13:31:40 +01:00
Anton Khirnov
b2a7b81b9c tiff: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov
6781b5315e rl2: cosmetics, reformat 2013-01-06 13:31:40 +01:00
Anton Khirnov
7c8fceef6c cljr: return a meaningful error code. 2013-01-06 13:31:40 +01:00
Anton Khirnov
e1a7061d63 kmvc: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov
26a161a166 vqavideo: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov
80344261aa fraps: cosmetics, reformat 2013-01-06 13:31:40 +01:00
Anton Khirnov
f3fcb1a7b2 wnv1: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov
edfe05ddf1 mss2: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov
0c19b23bd5 dpx: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov
f0547c9bd0 v210dec: return meaningful error codes 2013-01-06 13:31:40 +01:00
Anton Khirnov
b61e0b99df truemotion1: return meaningful error codes 2013-01-06 13:31:40 +01:00
Anton Khirnov
c04c64c08e indeo2: cosmetics, reformat 2013-01-06 13:31:40 +01:00
Anton Khirnov
380242ca50 pnm: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov
e83c1e2d0b avs: return meaningful error codes. 2013-01-06 13:31:39 +01:00
Anton Khirnov
aa15afb7ce 4xm: simplify code with FFSWAP 2013-01-06 13:31:39 +01:00
Anton Khirnov
4aebb8d999 xxan: return meaningful error codes. 2013-01-06 13:31:39 +01:00
Anton Khirnov
620faee5d1 aura: return meaningful error codes. 2013-01-06 13:31:39 +01:00
Anton Khirnov
10c26e928a 4xm: return meaningful error codes 2013-01-06 13:31:39 +01:00
Anton Khirnov
aaf208329f zmbv: return more meaningful error codes. 2013-01-06 13:31:39 +01:00
Anton Khirnov
38de3365ca asvdec: return meaningful error codes. 2013-01-06 13:31:39 +01:00
Anton Khirnov
01b60883ea yop: use a meaningful error code. 2013-01-06 13:31:39 +01:00
Anton Khirnov
b3b17f7800 ansi: return a meaningful error code 2013-01-06 13:31:39 +01:00
Anton Khirnov
11c3f2047e c93: return meaningful error codes. 2013-01-06 13:31:39 +01:00
Anton Khirnov
b622e2b540 anm: return meaningful error codes 2013-01-06 13:31:39 +01:00
Anton Khirnov
2b011a43e9 bmv: return meaningful error codes. 2013-01-06 13:31:39 +01:00
Anton Khirnov
18009e60d2 aasc: return meaningful error codes. 2013-01-06 13:31:39 +01:00
Anton Khirnov
abcc235481 bmp: return meaningful error codes. 2013-01-06 13:31:39 +01:00
Anton Khirnov
313da47aa1 8bps: return meaningful error codes. 2013-01-06 13:31:39 +01:00
Anton Khirnov
6a97ea65b6 bink: operate with pointers to AVFrames instead of whole structs.
This is more correct and avoids breaking extended_data.
2013-01-06 13:31:39 +01:00
Anton Khirnov
f7d15d2f42 4xm: operate with pointers to AVFrames instead of whole structs.
This is more correct and avoids breaking extended_data.
2013-01-06 13:31:39 +01:00
Anton Khirnov
86d4e75422 bink: return meaningful error codes. 2013-01-06 13:31:39 +01:00
Anton Khirnov
85383d139a 4xm: eliminate a pointless indirection 2013-01-06 13:31:39 +01:00
Anton Khirnov
86e09b9e60 bfi: return meaningful error codes. 2013-01-06 13:31:39 +01:00
Anton Khirnov
fc2a94c15e bethsoftvideo: return meaningful error codes. 2013-01-06 13:31:39 +01:00
Clément Bœsch
2e7744a6a2 lavc/subviewerdec: fix potential NULL deref.
Fixes CID966647
2013-01-06 04:04:22 +01:00
Piotr Bandurski
4784a135b2 tiffdec: Use the correct height field.
Fixes Ticket913

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-06 01:56:53 +01:00
Michael Niedermayer
f3c9d66baf libspeexdec: fix terminator check
Fixes Ticket2096

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-05 18:36:13 +01:00
Paul B Mahol
d4211c4722 alsdec: change channel sorting so it match reference implementation
Read channel source instead of channel target for channel sorting.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-05 09:36:14 +00:00
Paul B Mahol
ddeb299234 lavc: remove img_get_alpha_info as it not available any more
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-04 20:13:03 +00:00
Paul B Mahol
d885cc41e5 Fix "knwon" typo and add a check in tools/patcheck
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-04 19:24:37 +00:00
Maximilian Seesslen
467c033858 fixed granularity of video quality when encoding with theora codec
The floating point version of av_clip has to be used when converting the quality level.

Signed-off-by: Maximilian Seesslen <mes@seesslen.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-04 18:46:24 +01:00
Michael Niedermayer
c98d3056cf msrle: fix small palette handling
Fixes second file in Ticket1273

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-04 17:06:29 +01:00
Michael Niedermayer
e1cf1a9c89 Merge commit 'a0b7e289075dccf223b7f407790d8a86fc5d77e8'
* commit 'a0b7e289075dccf223b7f407790d8a86fc5d77e8':
  aviobuf: Partial support for reading in read/write contexts
  build: Avoid detecting bogus components named 'x'

Conflicts:
	libavcodec/allcodecs.c
	libavdevice/alldevices.c
	libavformat/allformats.c
	libavformat/aviobuf.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-04 13:01:54 +01:00
Michael Niedermayer
b888cea9cb ac3dec: split out pointer update loop for saftey
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-04 06:20:39 +01:00