|
|
|
@ -201,7 +201,7 @@ int ff_slice_thread_init(AVCodecContext *avctx) |
|
|
|
|
if (!c) |
|
|
|
|
return -1; |
|
|
|
|
|
|
|
|
|
c->workers = av_mallocz(sizeof(pthread_t)*thread_count); |
|
|
|
|
c->workers = av_mallocz_array(thread_count, sizeof(pthread_t)); |
|
|
|
|
if (!c->workers) { |
|
|
|
|
av_free(c); |
|
|
|
|
return -1; |
|
|
|
@ -266,15 +266,15 @@ int ff_alloc_entries(AVCodecContext *avctx, int count) |
|
|
|
|
if (avctx->active_thread_type & FF_THREAD_SLICE) { |
|
|
|
|
SliceThreadContext *p = avctx->internal->thread_ctx; |
|
|
|
|
p->thread_count = avctx->thread_count; |
|
|
|
|
p->entries = av_mallocz(count * sizeof(int)); |
|
|
|
|
p->entries = av_mallocz_array(count, sizeof(int)); |
|
|
|
|
|
|
|
|
|
if (!p->entries) { |
|
|
|
|
return AVERROR(ENOMEM); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
p->entries_count = count; |
|
|
|
|
p->progress_mutex = av_malloc(p->thread_count * sizeof(pthread_mutex_t)); |
|
|
|
|
p->progress_cond = av_malloc(p->thread_count * sizeof(pthread_cond_t)); |
|
|
|
|
p->progress_mutex = av_malloc_array(p->thread_count, sizeof(pthread_mutex_t)); |
|
|
|
|
p->progress_cond = av_malloc_array(p->thread_count, sizeof(pthread_cond_t)); |
|
|
|
|
|
|
|
|
|
for (i = 0; i < p->thread_count; i++) { |
|
|
|
|
pthread_mutex_init(&p->progress_mutex[i], NULL); |
|
|
|
|