Browse Source

avcodec: remove ff_get_logical_cpus()

This simplifies the code

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.0
Michael Niedermayer 12 years ago
parent
commit
42bb3e4db6
3 changed files with 4 additions and 13 deletions
  1. +1
    -1
      libavcodec/frame_thread_encoder.c
  2. +0
    -2
      libavcodec/internal.h
  3. +3
    -10
      libavcodec/pthread.c

+ 1
- 1
libavcodec/frame_thread_encoder.c View File

@@ -126,7 +126,7 @@ int ff_frame_thread_encoder_init(AVCodecContext *avctx, AVDictionary *options){
return 0;

if(!avctx->thread_count) {
avctx->thread_count = ff_get_logical_cpus(avctx);
avctx->thread_count = av_cpu_count();
avctx->thread_count = FFMIN(avctx->thread_count, MAX_THREADS);
}



+ 0
- 2
libavcodec/internal.h View File

@@ -207,8 +207,6 @@ int ff_reget_buffer(AVCodecContext *avctx, AVFrame *frame);

int ff_thread_can_start_frame(AVCodecContext *avctx);

int ff_get_logical_cpus(AVCodecContext *avctx);

int avpriv_h264_has_num_reorder_frames(AVCodecContext *avctx);

/**


+ 3
- 10
libavcodec/pthread.c View File

@@ -146,15 +146,6 @@ typedef struct FrameThreadContext {
* limit the number of threads to 16 for automatic detection */
#define MAX_AUTO_THREADS 16

int ff_get_logical_cpus(AVCodecContext *avctx)
{
int nb_cpus = av_cpu_count();
if (avctx->height)
nb_cpus = FFMIN(nb_cpus, (avctx->height+15)/16);

return nb_cpus;
}

static void* attribute_align_arg worker(void *v)
{
AVCodecContext *avctx = v;
@@ -265,7 +256,9 @@ static int thread_init(AVCodecContext *avctx)
int thread_count = avctx->thread_count;

if (!thread_count) {
int nb_cpus = ff_get_logical_cpus(avctx);
int nb_cpus = av_cpu_count();
if (avctx->height)
nb_cpus = FFMIN(nb_cpus, (avctx->height+15)/16);
// use number of cores + 1 as thread count if there is more than one
if (nb_cpus > 1)
thread_count = avctx->thread_count = FFMIN(nb_cpus + 1, MAX_AUTO_THREADS);


Loading…
Cancel
Save