从类型'int'分配类型'atomic_int'时不兼容的类型

时间:2017-12-19 08:52:41

标签: c ffmpeg

src/libavcodec/h264_slice.c: In function 'ff_h264_execute_decode_slices': src/libavcodec/h264_slice.c:2757:36: error: incompatible types when assigning to type 'atomic_int' from type 'int'
                 sl->er.error_count = 0;
                                    ^ src/libavcodec/h264_slice.c:2781:48: error: invalid operands to binary
+ (have 'atomic_int' and 'atomic_int')
                 h->slice_ctx[0].er.error_count += h->slice_ctx[i].er.error_count;
                                                ^ make: *** [libavcodec/h264_slice.o] Error 1 make: *** Waiting for unfinished jobs....

我为android编译ffmpeg。问题是我的环境配置还是源代码?

1 个答案:

答案 0 :(得分:0)

我认为这是源代码问题。我改变如下:

sl-> er.error_count = 0;
atomic_store(& sl-> er.error_count,0);

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));