[FFmpeg-devel] [PATCH 1/2] ffplay: add -scaling_quality option for SDL
Ramiro Polla
ramiro.polla at gmail.com
Fri May 31 00:36:56 EEST 2024
---
doc/ffplay.texi | 2 ++
fftools/ffplay.c | 6 +++++-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/doc/ffplay.texi b/doc/ffplay.texi
index 93f77eeece..60f883e159 100644
--- a/doc/ffplay.texi
+++ b/doc/ffplay.texi
@@ -72,6 +72,8 @@ as 100.
Force format.
@item -window_title @var{title}
Set window title (default is the input filename).
+ at item -scaling_quality @var{value}
+Set SDL_HINT_RENDER_SCALE_QUALITY value (default is "linear").
@item -left @var{title}
Set the x position for the left of the window (default is a centered window).
@item -top @var{title}
diff --git a/fftools/ffplay.c b/fftools/ffplay.c
index b9d11eecee..75d2bec777 100644
--- a/fftools/ffplay.c
+++ b/fftools/ffplay.c
@@ -351,6 +351,7 @@ static int filter_nbthreads = 0;
static int enable_vulkan = 0;
static char *vulkan_params = NULL;
static const char *hwaccel = NULL;
+static const char *scaling_quality = NULL;
/* current context */
static int is_full_screen;
@@ -3683,6 +3684,7 @@ static const OptionDef options[] = {
{ "framedrop", OPT_TYPE_BOOL, OPT_EXPERT, { &framedrop }, "drop frames when cpu is too slow", "" },
{ "infbuf", OPT_TYPE_BOOL, OPT_EXPERT, { &infinite_buffer }, "don't limit the input buffer size (useful with realtime streams)", "" },
{ "window_title", OPT_TYPE_STRING, 0, { &window_title }, "set window title", "window title" },
+ { "scaling_quality", OPT_TYPE_STRING, OPT_EXPERT, { &scaling_quality }, "set SDL_HINT_RENDER_SCALE_QUALITY value (default=linear)", "value" },
{ "left", OPT_TYPE_INT, OPT_EXPERT, { &screen_left }, "set the x position for the left of the window", "x pos" },
{ "top", OPT_TYPE_INT, OPT_EXPERT, { &screen_top }, "set the y position for the top of the window", "y pos" },
{ "vf", OPT_TYPE_FUNC, OPT_FUNC_ARG | OPT_EXPERT, { .func_arg = opt_add_vfilter }, "set video filters", "filter_graph" },
@@ -3831,7 +3833,9 @@ int main(int argc, char **argv)
}
}
window = SDL_CreateWindow(program_name, SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, default_width, default_height, flags);
- SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, "linear");
+ if (!scaling_quality)
+ scaling_quality = "linear";
+ SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, scaling_quality);
if (!window) {
av_log(NULL, AV_LOG_FATAL, "Failed to create window: %s", SDL_GetError());
do_exit(NULL);
--
2.39.2
More information about the ffmpeg-devel
mailing list