* commit '45a1ce2ff7688656aacd53c27de5815a7ec13afe':
examples/decode_audio: handle planar audio now produced by the MP2 decoder
This commit is a noop, we use a simpler and more generic method to write
the samples.
Merged-by: Clément Bœsch <cboesch@gopro.com>
* commit '3d66717f7cb5555257244be8f5bce172ed3af7ac':
examples/decode_audio: use the new audio decoding API
Merged-by: Clément Bœsch <cboesch@gopro.com>
* commit '0946c754d99c05413e813ee515039adcf0f9232a':
examples/decode_audio: use a parser for splitting the input
Merged-by: Clément Bœsch <cboesch@gopro.com>
* commit 'f92d7bdfddfaac04b3bb31f2749d173ca1d8ba6d':
libopusdec: default to stereo for invalid number of channels
This commit is a noop, see 8c8f543b81
Merged-by: Clément Bœsch <u@pkh.me>
* commit '6427379f23eb4d2b82d8d274c616f68b65a2f723':
als: Restructure DEBUG ifdefs to avoid unused function parameter warnings
ac3enc: Restructure DEBUG ifdefs to avoid unused function parameter warnings
ape: Restructure DEBUG ifdefs to avoid unused function parameter warnings
These 3 commits are not merged.
These commits were actually controversial in Libav. A good rationale can
be found here:
https://lists.libav.org/pipermail/libav-devel/2016-November/080698.htm
Merged-by: Clément Bœsch <u@pkh.me>
Fixes tsan warnings in fate-apng:
WARNING: ThreadSanitizer: data race (pid=51230)
Read of size 4 at 0x7d50000042fc by main thread (mutexes: write M1000):
#0 frame_copy_props frame.c:302 (ffmpeg:x86_64+0x1019a35d6)
[..]
Previous write of size 4 at 0x7d50000042fc by thread T1 (mutexes: write M997):
#0 decode_idat_chunk pngdec.c:708 (ffmpeg:x86_64+0x100f5562a)
* commit '97cd7a3dc005a0ad1656dbb2af92e9c5d0731f21':
rtpdec_mpeg4: const correctness for parse_fmtp_config()
This commit is a noop, see ed491db3e5
Merged-by: Clément Bœsch <u@pkh.me>
* commit 'a1d9de304fe63614e3aa8117fef17491fa80093d':
Fix some mismatches between function parameter and doxygen parameter names.
Merged-by: Clément Bœsch <u@pkh.me>
* commit '4d960a11855f4212eb3a4e470ce890db7f01df29':
aarch64: vp9itxfm: Use w3 instead of x3 for the int eob parameter
This commit is a noop, see a95e7de41d
Merged-by: Clément Bœsch <u@pkh.me>
* commit 'e5b0fc170f85b00f7dd0ac514918fb5c95253d39':
arm: vp9itxfm: Simplify the stack alignment code
This commit is a noop, see a71cd8439f
Merged-by: Clément Bœsch <u@pkh.me>
* commit '3c7fa8cbb93dba96acb12aef6e00d929c1da1ae8':
hlsenc: Fix the openssl support
This commit is a noop, see edc43c571d
Merged-by: Clément Bœsch <u@pkh.me>
* commit '0b5a26e8bcd219efe5da3a6d39b588fabf91f2b9': (35 commits)
qdm2: Convert to the new bitstream reader
qcelp: Convert to the new bitstream reader
pcx: Convert to the new bitstream reader
opus: Convert to the new bitstream reader
nellymoser: Convert to the new bitstream reader
jvdec: Convert to the new bitstream reader
hqx: Convert to the new bitstream header
hq_hqa: Convert to the new bitstream reader
gsm: Convert to the new bitstream reader
g72x: Convert to the new bitstream reader
g2meet: Convert to the new bitstream reader
fraps: Convert to the new bitstream reader
flashsv: Convert to the new bitstream reader
faxcompr: Convert to the new bitstream reader
exr: Convert to the new bitstream reader
escape130: Convert to the new bitstream reader
escape124: Convert to the new bitstream reader
dvdsubdec: Convert to the new bitstream reader
dss_sp: Convert to the new bitstream reader
cook: Convert to the new bitstream reader
...
This merge is a noop, see
http://ffmpeg.org/pipermail/ffmpeg-devel/2017-April/209609.html
Merged-by: Clément Bœsch <u@pkh.me>
Fixes a reported (but false) race condition in tsan for fate-apng:
WARNING: ThreadSanitizer: data race (pid=6274)
Read of size 4 at 0x7d680001ec78 by main thread (mutexes: write M1338):
#0 update_thread_context src/libavcodec/pngdec.c:1456 (ffmpeg+0x000000dacf0c)
[..]
Previous write of size 4 at 0x7d680001ec78 by thread T1 (mutexes: write M1335):
#0 decode_idat_chunk src/libavcodec/pngdec.c:737 (ffmpeg+0x000000dae951)
Values from subsequent values are guaranteed to be identical (since
poc and nal_unit_type are checked to be the same between slices), so
this doesn't affect output in any way, but does resolve the remaining
reported race conditions (by tsan) in fate-hevc.
In practice, this fixes tsan warnings like this:
WARNING: ThreadSanitizer: data race (pid=25334)
Read of size 4 at 0x7d9c0001adcc by main thread (mutexes: write M1386):
#0 hevc_update_thread_context src/libavcodec/hevcdec.c:3310 (ffmpeg+0x000000b41c7c)
[..]
Previous write of size 4 at 0x7d9c0001adcc by thread T1 (mutexes: write M1383):
#0 hls_slice_header src/libavcodec/hevcdec.c:596 (ffmpeg+0x000000b43a22)
Otherwise the thread may still be in the middle of decoding a previous
frame, which would effectively trigger a race condition on any field
concurrently read and written.
In practice, this fixes tsan warnings like the following:
WARNING: ThreadSanitizer: data race (pid=17380)
Write of size 4 at 0x7d64000160fc by main thread:
#0 update_context_from_user src/libavcodec/pthread_frame.c:335 (ffmpeg+0x000000dca515)
[..]
Previous read of size 4 at 0x7d64000160fc by thread T2 (mutexes: write M1821):
#0 ff_thread_report_progress src/libavcodec/pthread_frame.c:565 (ffmpeg+0x000000dcb08a)
Should fix tsan warnings in fate-fifo-muxer-h264/wav:
WARNING: ThreadSanitizer: data race (pid=26552)
Write of size 4 at 0x000001e0d7c0 by main thread:
#0 transcode_init src/ffmpeg.c:3761 (ffmpeg+0x00000050ca1c)
[..]
Previous read of size 4 at 0x000001e0d7c0 by thread T1:
#0 decode_interrupt_cb src/ffmpeg.c:460 (ffmpeg+0x0000004fde19)
Fixes tsan warnings in several audio codecs (flac, alac, wavpack, tta
and tak) that look like this:
WARNING: ThreadSanitizer: data race (pid=14340)
Read of size 4 at 0x7d64000169d8 by main thread (mutexes: write M1335):
#0 update_context_from_thread src/libavcodec/pthread_frame.c:284 (ffmpeg+0x000000dc795f)
[..]
Previous write of size 4 at 0x7d64000169d8 by thread T1 (mutexes: write M1333):
#0 wavpack_decode_block src/libavcodec/wavpack.c:1012 (ffmpeg+0x00000112b175)
This is how the ref list manager links bitstream IDs to H264Picture/Ref
objects, and is local to the producer thread. There is no need for the
consumer thread to know the bitstream IDs of its references in their
respective producer threads.
In practice, this fixes tsan warnings when running fate-h264:
WARNING: ThreadSanitizer: data race (pid=19295)
Read of size 4 at 0x7dbc0000e614 by main thread (mutexes: write M1914):
#0 ff_h264_ref_picture src/libavcodec/h264_picture.c:112 (ffmpeg+0x0000013b3709)
[..]
Previous write of size 4 at 0x7dbc0000e614 by thread T2 (mutexes: write M1917):
#0 build_def_list src/libavcodec/h264_refs.c:91 (ffmpeg+0x0000013b46cf)
This avoids an integer overflow
the solution matches oggparsevorbis.c and 45581ed15d
Fixes: 700242
Found-by: Thomas Guilbert <tguilbert@google.com>
Reviewed-by: Rostislav Pehlivanov <atomnuker@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>