[FFmpeg-devel] [PATCH] h264_slice: correct atomics usage
Rostislav Pehlivanov
atomnuker at gmail.com
Mon Mar 12 01:01:02 EET 2018
Reported by tmm1
Signed-off-by: Rostislav Pehlivanov <atomnuker at gmail.com>
---
libavcodec/h264_slice.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c
index 90e05ed8f1..b381397b4d 100644
--- a/libavcodec/h264_slice.c
+++ b/libavcodec/h264_slice.c
@@ -2762,7 +2762,7 @@ int ff_h264_execute_decode_slices(H264Context *h)
sl = &h->slice_ctx[i];
if (CONFIG_ERROR_RESILIENCE) {
- sl->er.error_count = 0;
+ sl->er.error_count = ATOMIC_VAR_INIT(0);
}
/* make sure none of those slices overlap */
@@ -2786,7 +2786,8 @@ int ff_h264_execute_decode_slices(H264Context *h)
h->mb_y = sl->mb_y;
if (CONFIG_ERROR_RESILIENCE) {
for (i = 1; i < context_count; i++)
- h->slice_ctx[0].er.error_count += h->slice_ctx[i].er.error_count;
+ atomic_fetch_add(&h->slice_ctx[0].er.error_count,
+ atomic_load(&h->slice_ctx[i].er.error_count));
}
if (h->postpone_filter) {
--
2.16.2
More information about the ffmpeg-devel
mailing list