Commit 8f5a2bed authored by Paul B Mahol's avatar Paul B Mahol

ffmpeg_filter: fix several logic failures

Move global thread variables to better place.
Use correct variable for simple and complex filtergraphs.

This makes number of threads set per filter work again.
Signed-off-by: 's avatarPaul B Mahol <onemda@gmail.com>
parent 99551232
...@@ -39,9 +39,6 @@ ...@@ -39,9 +39,6 @@
#include "libavutil/imgutils.h" #include "libavutil/imgutils.h"
#include "libavutil/samplefmt.h" #include "libavutil/samplefmt.h"
int filter_nbthreads = -1;
int filter_complex_nbthreads = -1;
static const enum AVPixelFormat *get_compliance_unofficial_pix_fmts(enum AVCodecID codec_id, const enum AVPixelFormat default_formats[]) static const enum AVPixelFormat *get_compliance_unofficial_pix_fmts(enum AVCodecID codec_id, const enum AVPixelFormat default_formats[])
{ {
static const enum AVPixelFormat mjpeg_formats[] = static const enum AVPixelFormat mjpeg_formats[] =
...@@ -993,7 +990,7 @@ int configure_filtergraph(FilterGraph *fg) ...@@ -993,7 +990,7 @@ int configure_filtergraph(FilterGraph *fg)
char args[512]; char args[512];
AVDictionaryEntry *e = NULL; AVDictionaryEntry *e = NULL;
fg->graph->nb_threads = filter_complex_nbthreads; fg->graph->nb_threads = filter_nbthreads;
args[0] = 0; args[0] = 0;
while ((e = av_dict_get(ost->sws_dict, "", e, while ((e = av_dict_get(ost->sws_dict, "", e,
...@@ -1026,7 +1023,7 @@ int configure_filtergraph(FilterGraph *fg) ...@@ -1026,7 +1023,7 @@ int configure_filtergraph(FilterGraph *fg)
if (e) if (e)
av_opt_set(fg->graph, "threads", e->value, 0); av_opt_set(fg->graph, "threads", e->value, 0);
} else { } else {
fg->graph->nb_threads = filter_nbthreads; fg->graph->nb_threads = filter_complex_nbthreads;
} }
if ((ret = avfilter_graph_parse2(fg->graph, graph_desc, &inputs, &outputs)) < 0) if ((ret = avfilter_graph_parse2(fg->graph, graph_desc, &inputs, &outputs)) < 0)
......
...@@ -119,6 +119,8 @@ int qp_hist = 0; ...@@ -119,6 +119,8 @@ int qp_hist = 0;
int stdin_interaction = 1; int stdin_interaction = 1;
int frame_bits_per_raw_sample = 0; int frame_bits_per_raw_sample = 0;
float max_error_rate = 2.0/3; float max_error_rate = 2.0/3;
int filter_nbthreads = 0;
int filter_complex_nbthreads = 0;
static int intra_only = 0; static int intra_only = 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment