--- doc/examples/fffuzz.c | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-)
diff --git a/doc/examples/fffuzz.c b/doc/examples/fffuzz.c index 23cdda1..293c178 100644 --- a/doc/examples/fffuzz.c +++ b/doc/examples/fffuzz.c @@ -223,7 +223,9 @@ void exit_with_usage_msg(char* prog_name) "-f format\n" "\tSets the decode format\n" "-c codec\n" - "\tSets the decode codec\n\n", prog_name); + "\tSets the decode codec\n" + "-t slice|frame\n" + "\tSets threading mode (slice or frame threads)\n\n", prog_name); exit(1); } @@ -235,8 +237,11 @@ int main (int argc, char **argv) const char *dst_filename = NULL; char* format = NULL; char* codec = NULL; + char* thread_mode = NULL; char* arg = NULL; char* parameter = NULL; + char frame_threads[] = "frame"; + char slice_threads[] = "slice"; if (argc < 3) { fprintf(stderr, @@ -276,6 +281,9 @@ int main (int argc, char **argv) case 'c': codec = parameter; break; + case 't': + thread_mode = parameter; + break; default: fprintf(stderr, "%s: Invalid option %s\n", argv[0], arg); exit_with_usage_msg(argv[0]); @@ -298,6 +306,16 @@ int main (int argc, char **argv) } } + /* if thread_mode was passed, verify its value */ + if (thread_mode != NULL) { + if (strcmp(thread_mode, frame_threads) && strcmp(thread_mode, slice_threads)) { + fprintf(stderr, + "%s: wrong thread mode passed using -t flag\n", + argv[0]); + exit_with_usage_msg(argv[0]); + } + } + /* log all debug messages */ av_log_set_level(AV_LOG_DEBUG); @@ -336,6 +354,12 @@ int main (int argc, char **argv) ret = 1; goto end; } + /* set threading mode */ + if (av_dict_set(&opts, "thread_type", thread_mode, 0) < 0) { + fprintf(stderr, "Could not set thread_type.\n"); + ret = 1; + goto end; + } if (format) { fmt = av_find_input_format(format); -- 2.6.4 (Apple Git-63) _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel