Instead, hardcode the use of the _arm implementation of add_pixels,
and use the C version for put_pixels (as no arm-optimized version
exists). Since there's separate implementations of idct{,_put,_add}
for neon, this has no practical impact on performance.
This tries to handle cases where separate invocations of decode_frame()
(each running in separate threads) write to respective fields in the
same AVFrame->data[]. Having per-field owners makes interaction between
readers (the referencing thread) and writers (the decoding thread)
slightly more optimal if both accesses are field-based, since they will
use the respective producer's thread objects (mutex/cond) instead of
sharing the thread objects of the first field's producer.
In practice, this fixes the following tsan-warning in fate-h264:
WARNING: ThreadSanitizer: data race (pid=21615)
Read of size 4 at 0x7d640000d9fc by thread T2 (mutexes: write M1006):
#0 ff_thread_report_progress pthread_frame.c:569 (ffmpeg:x86_64+0x100f7cf54)
[..]
Previous write of size 4 at 0x7d640000d9fc by main thread (mutexes: write M1004):
#0 update_context_from_user pthread_frame.c:335 (ffmpeg:x86_64+0x100f81abb)
This fixes a proble where ffmpeg would cause crash to do a seek when the network disconnect.
The log like this:
01-01 10:53:03.441 6580 6580 F DEBUG : backtrace:
01-01 10:53:03.441 6580 6580 F DEBUG : #00 pc 0002942e /system/lib/libavformat.so (ffurl_write+9)
Signed-off-by: tiejun.peng <tiejun.peng@foxmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Fixes the following tsan warning when running fate-vsynth_lena-ffvhuff:
WARNING: ThreadSanitizer: data race (pid=6484)
Write of size 8 at 0x7d64000154b8 by main thread (mutexes: write M1331):
#0 update_context_from_user src/libavcodec/pthread_frame.c:331 (ffmpeg+0x000000dca887)
[..]
Previous read of size 8 at 0x7d64000154b8 by thread T2 (mutexes: write M1334):
#0 draw_slice src/libavcodec/huffyuvdec.c:857 (ffmpeg+0x000000bcc86f)
This adds partial support for the RFC 4175 (raw video over RTP). The
only supported formats are the YCbCr-4:2:2 8 bit because it's natively
supported by FFmpeg with pixel format UYVY, and 10 bit which requires
the vrawdepay codec to convert the payload in a format handled by
FFmpeg.
Signed-off-by: Damien Riegel <damien.riegel@savoirfairelinux.com>
Reviewed-by: Rostislav Pehlivanov <atomnuker@gmail.com>
Add a codec capable of decoding some formats of the RFC4175. For now
it's only capable of handling YCbCr-4:2:2 with 8-bit or 10-bit depth.
For 8-bit it's a simple pass-through, for 10-bit it depacks the stream
in the AV_PIX_FMT_YUV422P10 pixel format.
Signed-off-by: Damien Riegel <damien.riegel@savoirfairelinux.com>
Reviewed-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* commit '2f99117f6f':
aarch64: vp9itxfm: Don't repeatedly set x9 when nothing overwrites it
This commit is a noop, see 37cb224e3e
Merged-by: James Almer <jamrial@gmail.com>
* commit '2dbe2aa2c2':
rdt: Convert to the new bitstream reader
ogg: Convert to the new bitstream reader
mpegts: Convert to the new bitstream reader
xsubdec: Convert to the new bitstream reader
xan: Convert to the new bitstream reader
wnv1: Convert to the new bitstream reader
vima: Convert to the new bitstream reader
vble: Convert to the new bitstream reader
utvideodec: Convert to the new bitstream reader
twinvq: Convert to the new bitstream reader
tscc2: Convert to the new bitstream reader
truespeech: Convert to the new bitstream reader
tiertex: Convert to the new bitstream reader
truemotion2: Convert to the new bitstream reader
svq1dec: Convert to the new bitstream reader
smacker: Convert to the new bitstream reader
sipr: Convert to the new bitstream reader
rtjpeg: Convert to the new bitstream reader
ra288: Convert to the new bitstream reader
ra144: Convert to the new bitstream reader
This merge is a noop, see
http://ffmpeg.org/pipermail/ffmpeg-devel/2017-April/209609.html
Merged-by: James Almer <jamrial@gmail.com>
* commit '79566ec8c7':
arm: vp9itxfm: Rename a macro parameter to fit better
This commit is a noop, see f69dd26df5
Merged-by: James Almer <jamrial@gmail.com>
* commit '06fec74cac':
checkasm: vp9dsp: benchmark all sub-IDCTs (but not WHT or ADST).
This commit is a noop, see 1c8fbd7b90
Merged-by: James Almer <jamrial@gmail.com>
* commit '12ab667e21':
matroska: use av_stream_add_side_data() for stereo3d side data
mov: Use av_stream_add_side_data() for displaymatrix side data
utils: Add av_stream_add_side_data()
This is a noop, see
2ab50647ff77f033eb982343f23e4d
Merged-by: James Almer <jamrial@gmail.com>
* commit 'aa498c3183':
avpacket: fix leak on realloc in av_packet_add_side_data()
This commit is a noop, see 574929d8b6
Merged-by: James Almer <jamrial@gmail.com>
* commit '45a1ce2ff7':
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>