fprintf(stderr, " -h, --height output height in pixels (default 720)\n");
fprintf(stderr, " --slow-down-input slow down input to realtime (default on if no\n");
fprintf(stderr, " source URL given)\n");
- fprintf(stderr, " -q, --interpolation-quality N 1 = fastest\n");
+ fprintf(stderr, " -q, --interpolation-quality N 0 = off\n");
+ fprintf(stderr, " 1 = fastest\n");
fprintf(stderr, " 2 = default (realtime 720p on fast embedded GPUs)\n");
fprintf(stderr, " 3 = good (realtime 720p on GTX 970 or so)\n");
fprintf(stderr, " 4 = best (not realtime on any current GPU)\n");
}
}
- if (global_flags.interpolation_quality < 1 || global_flags.interpolation_quality > 4) {
- fprintf(stderr, "Interpolation quality must be 1, 2, 3 or 4.\n");
+ if (global_flags.interpolation_quality < 0 || global_flags.interpolation_quality > 4) {
+ fprintf(stderr, "Interpolation quality must be 0, 1, 2, 3 or 4.\n");
usage();
exit(1);
}
#include "shared/context.h"
#include "defs.h"
#include "shared/ffmpeg_raii.h"
+#include "flags.h"
#include "frame_on_disk.h"
#include "shared/httpd.h"
#include "jpeg_frame_view.h"
}
}
- if (frame_lower.pts == frame_upper.pts) {
+ if (frame_lower.pts == frame_upper.pts || global_flags.interpolation_quality == 0) {
auto display_func = [this, primary_stream_idx, frame_lower, secondary_frame, fade_alpha]{
destination->setFrame(primary_stream_idx, frame_lower, secondary_frame, fade_alpha);
};
check_error();
OperatingPoint op;
- if (global_flags.interpolation_quality == 1) {
+ if (global_flags.interpolation_quality == 0) {
+ // Allocate something just for simplicity; we won't be using it.
+ op = operating_point1;
+ } else if (global_flags.interpolation_quality == 1) {
op = operating_point1;
} else if (global_flags.interpolation_quality == 2) {
op = operating_point2;