summaryrefslogtreecommitdiffstats
path: root/filters/f_hwtransfer.c
diff options
context:
space:
mode:
authorllyyr <llyyr.public@gmail.com>2023-09-05 11:14:34 +0530
committerPhilip Langdale <github.philipl@overt.org>2023-09-15 09:39:16 -0700
commit55a46214c4c01edfa6c95f57d7824b95bff3e693 (patch)
tree9dcbc188d30c1b7c77cb3057d165c40ddac6aa2a /filters/f_hwtransfer.c
parent40de03fdba6cef8963f991e621866977977ef437 (diff)
downloadmpv-55a46214c4c01edfa6c95f57d7824b95bff3e693.tar.bz2
mpv-55a46214c4c01edfa6c95f57d7824b95bff3e693.tar.xz
hwtransfer: make probe_formats logging less spammy
This demotes the logs from VERBOSE to DEBUG, as well as making it log formats in one line rather than one per line.
Diffstat (limited to 'filters/f_hwtransfer.c')
-rw-r--r--filters/f_hwtransfer.c33
1 files changed, 26 insertions, 7 deletions
diff --git a/filters/f_hwtransfer.c b/filters/f_hwtransfer.c
index f9d0458e50..b3a9edaf98 100644
--- a/filters/f_hwtransfer.c
+++ b/filters/f_hwtransfer.c
@@ -340,18 +340,20 @@ static bool probe_formats(struct mp_filter *f, int hw_imgfmt, bool use_conversio
for (int n = 0; cstr->valid_sw_formats &&
cstr->valid_sw_formats[n] != AV_PIX_FMT_NONE; n++)
{
+ int *not_supported_by_vo = NULL;
+ int num_not_supported = 0;
int imgfmt = pixfmt2imgfmt(cstr->valid_sw_formats[n]);
if (!imgfmt)
continue;
- MP_VERBOSE(f, "looking at format %s/%s\n",
+ MP_DBG(f, "looking at format %s/%s\n",
mp_imgfmt_to_name(hw_imgfmt),
mp_imgfmt_to_name(imgfmt));
if (IMGFMT_IS_HWACCEL(imgfmt)) {
// If the enumerated format is a hardware format, we don't need to
// do any further probing. It will be supported.
- MP_VERBOSE(f, " supports %s (a hardware format)\n",
+ MP_DBG(f, " supports %s (a hardware format)\n",
mp_imgfmt_to_name(imgfmt));
continue;
}
@@ -387,24 +389,32 @@ static bool probe_formats(struct mp_filter *f, int hw_imgfmt, bool use_conversio
for (int i = 0; ctx->supported_formats[i]; i++) {
int fmt = ctx->supported_formats[i];
if (fmt == imgfmt) {
- MP_VERBOSE(f, " vo accepts %s\n", mp_imgfmt_to_name(fmt));
+ MP_DBG(f, " vo accepts %s\n", mp_imgfmt_to_name(fmt));
MP_TARRAY_APPEND(p, p->upload_fmts, p->num_upload_fmts, fmt);
}
}
}
enum AVPixelFormat *fmts = conversion_cstr->valid_sw_formats;
+ MP_DBG(f, " supports:");
for (int i = 0; fmts && fmts[i] != AV_PIX_FMT_NONE; i++) {
int fmt = pixfmt2imgfmt(fmts[i]);
if (!fmt)
continue;
- MP_VERBOSE(f, " supports %s\n", mp_imgfmt_to_name(fmt));
if (!vo_supports(ctx, hw_imgfmt, fmt)) {
- MP_VERBOSE(f, " ... not supported by VO\n");
+ MP_TARRAY_APPEND(p, not_supported_by_vo, num_not_supported, fmt);
continue;
}
+ MP_DBG(f, " %s", mp_imgfmt_to_name(fmt));
MP_TARRAY_APPEND(p, p->upload_fmts, p->num_upload_fmts, fmt);
}
+ if (num_not_supported) {
+ MP_DBG(f, "\n not supported by VO:");
+ for (int i = 0; i < num_not_supported; i++) {
+ MP_DBG(f, " %s", mp_imgfmt_to_name(not_supported_by_vo[i]));
+ }
+ }
+ MP_DBG(f, "\n");
p->fmt_upload_num[index] =
p->num_upload_fmts - p->fmt_upload_index[index];
@@ -429,17 +439,25 @@ static bool probe_formats(struct mp_filter *f, int hw_imgfmt, bool use_conversio
p->fmt_upload_index[index] = p->num_upload_fmts;
+ MP_DBG(f, " supports:");
for (int i = 0; fmts[i] != AV_PIX_FMT_NONE; i++) {
int fmt = pixfmt2imgfmt(fmts[i]);
if (!fmt)
continue;
- MP_VERBOSE(f, " supports %s\n", mp_imgfmt_to_name(fmt));
if (!vo_supports(ctx, hw_imgfmt, fmt)) {
- MP_VERBOSE(f, " ... not supported by VO\n");
+ MP_TARRAY_APPEND(p, not_supported_by_vo, num_not_supported, fmt);
continue;
}
+ MP_DBG(f, " %s", mp_imgfmt_to_name(fmt));
MP_TARRAY_APPEND(p, p->upload_fmts, p->num_upload_fmts, fmt);
}
+ if (num_not_supported) {
+ MP_DBG(f, "\n not supported by VO:");
+ for (int i = 0; i < num_not_supported; i++) {
+ MP_DBG(f, " %s", mp_imgfmt_to_name(not_supported_by_vo[i]));
+ }
+ }
+ MP_DBG(f, "\n");
p->fmt_upload_num[index] =
p->num_upload_fmts - p->fmt_upload_index[index];
@@ -449,6 +467,7 @@ static bool probe_formats(struct mp_filter *f, int hw_imgfmt, bool use_conversio
av_buffer_unref(&frames);
}
+ talloc_free(not_supported_by_vo);
}
av_hwframe_constraints_free(&cstr);