diff options
author | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2021-09-18 04:46:45 +0200 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2021-09-19 23:52:37 +0200 |
commit | a1255a350d4629ca9f0073289ae8e2862aa0d9e1 (patch) | |
tree | 89fcb0bd18cee88deec687b4a5e28397550b7491 | |
parent | d69332e68856323858aca244990e95266077e81f (diff) | |
download | ffmpeg-a1255a350d4629ca9f0073289ae8e2862aa0d9e1.tar.gz |
libswscale/options: Add parent_log_context_offset to AVClass
This allows to associate log messages from slice contexts to
the user-visible SwsContext.
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-rw-r--r-- | libswscale/options.c | 1 | ||||
-rw-r--r-- | libswscale/swscale_internal.h | 2 | ||||
-rw-r--r-- | libswscale/utils.c | 2 |
3 files changed, 5 insertions, 0 deletions
diff --git a/libswscale/options.c b/libswscale/options.c index 4b71a23e37..f6ea9e1f9d 100644 --- a/libswscale/options.c +++ b/libswscale/options.c @@ -91,6 +91,7 @@ const AVClass ff_sws_context_class = { .class_name = "SWScaler", .item_name = sws_context_to_name, .option = swscale_options, + .parent_log_context_offset = OFFSET(parent), .category = AV_CLASS_CATEGORY_SWSCALER, .version = LIBAVUTIL_VERSION_INT, }; diff --git a/libswscale/swscale_internal.h b/libswscale/swscale_internal.h index fbfc08a89f..0d60dd2e6f 100644 --- a/libswscale/swscale_internal.h +++ b/libswscale/swscale_internal.h @@ -301,6 +301,8 @@ typedef struct SwsContext { */ const AVClass *av_class; + struct SwsContext *parent; + AVSliceThread *slicethread; struct SwsContext **slice_ctx; int *slice_err; diff --git a/libswscale/utils.c b/libswscale/utils.c index 25051ead72..84a29c4dc7 100644 --- a/libswscale/utils.c +++ b/libswscale/utils.c @@ -1214,6 +1214,8 @@ static int context_init_threaded(SwsContext *c, if (!c->slice_ctx[i]) return AVERROR(ENOMEM); + c->slice_ctx[i]->parent = c; + ret = av_opt_copy((void*)c->slice_ctx[i], (void*)c); if (ret < 0) return ret; |