1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-01-03 05:10:03 +02:00
Go to file
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
compat
doc Fix color filter example. 2013-01-15 00:14:35 +01:00
libavcodec h264: don't clobber mmco opcode tables for non-first slice headers. 2013-01-15 13:58:22 +01:00
libavdevice Merge commit '90cfc084e3e6d37ab88fc96a95f0401d8e8b4cd1' 2013-01-14 14:16:21 +01:00
libavfilter Merge commit 'a1c525f7eb0783d31ba7a653865b6cbd3dc880de' 2013-01-14 14:43:32 +01:00
libavformat rtmpproto: Fix assignments in if() 2013-01-14 13:13:00 +02:00
libavresample Merge remote-tracking branch 'qatar/master' 2013-01-09 12:30:14 +01:00
libavutil Merge remote-tracking branch 'qatar/master' 2013-01-12 13:42:42 +01:00
libpostproc
libswresample swr/dither: fix division by 0 2013-01-14 02:57:00 +01:00
libswscale
presets
tests Merge commit 'abae27ed3acd0a7c54f11760c5be2d2653c4edf8' 2013-01-13 13:54:52 +01:00
tools
.gitignore
arch.mak
Changelog Merge commit '44e065d56c87d6a9d0effccec5f31517f72924ec' 2013-01-14 13:29:00 +01:00
cmdutils_common_opts.h
cmdutils.c
cmdutils.h lavf: remove nonexistent symbols 2013-01-11 10:07:52 +00:00
common.mak
configure Merge commit '246da0b13551b1f80f067e4f258e5bd691f5ab33' 2013-01-14 14:00:21 +01:00
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
ffmpeg_filter.c
ffmpeg_opt.c doc/ffmpeg: extend documentation for the -filter options and -af/vf aliases 2013-01-13 15:09:09 +01:00
ffmpeg.c
ffmpeg.h
ffplay.c ffplay: fix sws_flags 2013-01-13 22:48:28 +01:00
ffprobe.c
ffserver.c
INSTALL
library.mak
LICENSE
MAINTAINERS
Makefile
README
RELEASE
version.sh

FFmpeg README
-------------

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

* Read the documentation in the doc/ directory in git.
  You can also view it online at http://ffmpeg.org/documentation.html

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

* See the LICENSE file.

3) Build and Install
--------------------

* See the INSTALL file.