Message ID | 1542525544-8034-3-git-send-email-hwrenx@qq.com |
---|---|
State | New |
Headers | show |
2018-11-18 8:19 GMT+01:00, hwrenx <hwrenx@qq.com>: > From: hwrenx <hwrenx@126.com> > > Signed-off-by: hwrenx <hwrenx@126.com> > --- > libavcodec/libdavs2.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/libavcodec/libdavs2.c b/libavcodec/libdavs2.c > index cadf995..8cef49d 100644 > --- a/libavcodec/libdavs2.c > +++ b/libavcodec/libdavs2.c > @@ -42,11 +42,14 @@ typedef struct DAVS2Context { > static av_cold int davs2_init(AVCodecContext *avctx) > { > DAVS2Context *cad = avctx->priv_data; > + int cpu_flags = av_get_cpu_flags(); > > /* init the decoder */ > cad->param.threads = avctx->thread_count; > cad->param.info_level = 0; > cad->decoder = davs2_decoder_open(&cad->param); > + cad->param.disable_avx = !(cpu_flags & AV_CPU_FLAG_AVX && > + cpu_flags & AV_CPU_FLAG_AVX2); Please merge this with the patch changing minimal version in configure. Carl Eugen
diff --git a/libavcodec/libdavs2.c b/libavcodec/libdavs2.c index cadf995..8cef49d 100644 --- a/libavcodec/libdavs2.c +++ b/libavcodec/libdavs2.c @@ -42,11 +42,14 @@ typedef struct DAVS2Context { static av_cold int davs2_init(AVCodecContext *avctx) { DAVS2Context *cad = avctx->priv_data; + int cpu_flags = av_get_cpu_flags(); /* init the decoder */ cad->param.threads = avctx->thread_count; cad->param.info_level = 0; cad->decoder = davs2_decoder_open(&cad->param); + cad->param.disable_avx = !(cpu_flags & AV_CPU_FLAG_AVX && + cpu_flags & AV_CPU_FLAG_AVX2); if (!cad->decoder) { av_log(avctx, AV_LOG_ERROR, "decoder created error.");