Go to file
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
compat build: Plan 9 support 2012-10-23 12:01:18 +01:00
doc vdpau: Add context and common helpers for hwaccel support 2013-01-13 14:41:27 +01:00
libavcodec h264: don't clobber mmco opcode tables for non-first slice headers. 2013-01-14 19:20:47 +01:00
libavdevice v4l2: do not assert on a value received from outside of Libav 2013-01-13 16:31:17 +01:00
libavfilter yadif: x86: fix build for compilers without aligned stack 2013-01-14 09:51:52 +01:00
libavformat nut: support vp9 tag 2013-01-14 19:20:47 +01:00
libavresample x86: lavr: add SSE2/AVX dither_int_to_float() 2013-01-08 14:52:43 -05:00
libavutil Add version bump and APIchanges entry for Add AV_PIX_FMT_VDPAU. 2013-01-12 12:28:12 +01:00
libswscale swscale: fix NULL checking in sws_alloc_context() 2013-01-04 20:44:00 -05:00
presets presets: spelling error in libvpx 1080p50_60 2011-10-22 00:28:56 +02:00
tests fate: vp3: Fix fate-vp3-coeff-level64 test dependencies 2013-01-12 17:19:27 +01:00
tools miscellaneous typo fixes 2012-12-21 00:18:34 +01:00
.gitignore doxygen: Build Doxygen documentation in the doc/ subdirectory 2012-10-23 20:25:30 +02:00
arch.mak arm: rename ARMVFP config symbol to VFP 2012-12-07 16:54:04 +00:00
avconv_filter.c cmdutils: add a macro to simplify grow_array() calls. 2012-12-18 20:11:06 +01:00
avconv_opt.c cmdutils: pass number of groups to split_commandline(). 2012-12-19 22:13:41 +01:00
avconv.c avconv: use new options parser. 2012-12-18 20:14:54 +01:00
avconv.h avconv: use new options parser. 2012-12-18 20:14:54 +01:00
avplay.c avplay: Do not use removed av_get_int() 2012-11-29 10:52:23 +01:00
avprobe.c avprobe: also output dar/par if only defined in stream 2013-01-04 12:55:58 +01:00
avserver.c avserver: replace av_read_packet with av_read_frame 2012-11-15 18:04:53 +01:00
Changelog vdpau: Add context and common helpers for hwaccel support 2013-01-13 14:41:27 +01:00
cmdutils_common_opts.h cmdutils: extend -h to allow printing codec details. 2012-08-19 19:22:08 +02:00
cmdutils.c cmdutils: update copyright year to 2013 2013-01-03 13:35:12 +02:00
cmdutils.h cmdutils: pass number of groups to split_commandline(). 2012-12-19 22:13:41 +01:00
common.mak build: fix 'clean' target 2012-12-10 17:23:53 +00:00
configure libvpx: make vp8 and vp9 selectable 2013-01-14 19:20:47 +01:00
COPYING.GPLv2 Rename COPYING.GPL --> COPYING.GPLv2 and COPYING.LGPL --> COPYING.LGPLv2.1. 2009-06-05 09:51:31 +00:00
COPYING.GPLv3 Add configure option to upgrade (L)GPL to version 3. 2009-06-05 11:04:03 +00:00
COPYING.LGPLv2.1 cosmetics: Delete empty lines at end of file. 2012-02-09 12:26:45 +01:00
COPYING.LGPLv3 Add configure option to upgrade (L)GPL to version 3. 2009-06-05 11:04:03 +00:00
CREDITS partially rename FFmpeg to Libav 2011-03-16 21:54:39 +01:00
INSTALL doc: clarify configure features 2011-04-07 02:54:12 +02:00
library.mak build: fix 'clean' target 2012-12-10 17:23:53 +00:00
LICENSE doc: Clarify licensing issues arising from external libraries 2012-08-12 13:28:58 +02:00
Makefile build: fix 'clean' target 2012-12-10 17:23:53 +00:00
README cosmetics: fix dashed line length after 070c5d0 2011-03-28 09:53:40 +02:00
RELEASE Prepare for 10_alpha1 Release 2013-01-06 16:23:12 +01:00
version.sh Drop git- prefix from version labels 2011-06-19 19:41:23 +01:00

Libav README
------------

1) Documentation
----------------

* Read the documentation in the doc/ directory.

2) Licensing
------------

* See the LICENSE file.