aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/amfenc_hevc.c
diff options
context:
space:
mode:
authorCameron Gutman <aicommander@gmail.com>2024-09-14 00:32:05 -0500
committerDmitrii Ovchinnikov <ovchinnikov.dmitrii@gmail.com>2024-09-28 16:01:00 +0200
commit4cbb997e15deecce0628449dabd8856667ec570d (patch)
tree9c17077bfa36bead2b7d90a5cbdf68b34d790e64 /libavcodec/amfenc_hevc.c
parent8a951ef5e119afb41e67d8b7dc3dedadc88c0e41 (diff)
downloadffmpeg-4cbb997e15deecce0628449dabd8856667ec570d.tar.gz
avcodec/amfenc: Fix inverted loop filter option
The AMF HEVC encoder takes a bool option for whether deblocking filter should be _disabled_ instead of whether it should _enabled_ like the AMF H.264 encoder does. The logic was accidentally copied from H.264 to HEVC without negating the bool value, so the deblocking filter was actually disabled when AV_CODEC_FLAG_LOOP_FILTER was set. Before this patch: ------------------ no flags set => deblocking filter on flags +loop => deblocking filter off flags -loop => deblocking filter on After this patch: ----------------- no flags set => deblocking filter on flags +loop => deblocking filter on flags -loop => deblocking filter off Signed-off-by: Cameron Gutman <aicommander@gmail.com>
Diffstat (limited to 'libavcodec/amfenc_hevc.c')
-rw-r--r--libavcodec/amfenc_hevc.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libavcodec/amfenc_hevc.c b/libavcodec/amfenc_hevc.c
index 4898824f3a..3fad1d6b59 100644
--- a/libavcodec/amfenc_hevc.c
+++ b/libavcodec/amfenc_hevc.c
@@ -269,7 +269,7 @@ FF_ENABLE_DEPRECATION_WARNINGS
if (avctx->slices > 1) {
AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_HEVC_SLICES_PER_FRAME, avctx->slices);
}
- AMF_ASSIGN_PROPERTY_BOOL(res, ctx->encoder, AMF_VIDEO_ENCODER_HEVC_DE_BLOCKING_FILTER_DISABLE, deblocking_filter);
+ AMF_ASSIGN_PROPERTY_BOOL(res, ctx->encoder, AMF_VIDEO_ENCODER_HEVC_DE_BLOCKING_FILTER_DISABLE, !deblocking_filter);
if (ctx->header_insertion_mode != -1) {
AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_HEVC_HEADER_INSERTION_MODE, ctx->header_insertion_mode);
@@ -511,6 +511,7 @@ static const FFCodecDefault defaults[] = {
{ "slices", "1" },
{ "qmin", "-1" },
{ "qmax", "-1" },
+ { "flags", "+loop"},
{ NULL },
};
static const AVClass hevc_amf_class = {