From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 2751445A45 for ; Wed, 12 Jul 2023 12:26:13 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7B3E268C50A; Wed, 12 Jul 2023 15:26:11 +0300 (EEST) Received: from mail-io1-f45.google.com (mail-io1-f45.google.com [209.85.166.45]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id DF36968C2A6 for ; Wed, 12 Jul 2023 15:26:04 +0300 (EEST) Received: by mail-io1-f45.google.com with SMTP id ca18e2360f4ac-783698a37beso323768039f.0 for ; Wed, 12 Jul 2023 05:26:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1689164763; x=1691756763; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=oojlSSrXdRN9mOVZ4jVFBafNeV+McVa//vivf/8Qpto=; b=A90YwWjpd/GjtWP9K9bV7deKjbJu+6TskrY6NlZxtKDoi8oa8OM3dtAdPW3lHr1VuV jredTctiA8v4QcOAQSZt0Xzz+zpKAXBUtNacCZuLAjaehAdOzzwF+XoIBpw5Yi/7iU9J SaxxdSEVJKSuD/lzW2IdnHD5oPuJtHvFgCrfS+MtrWlfmm9kXZb/OLoHq06gE+YR9Cfa hL7jIR3eiKm0WZrd6XKZ9F5auqRRbxTj2+peQFConU9Iqg5z8p2x/g3TG5kQJnaWzVfe yplnfNlSnuKNtOWn4D73hgI1xwiCV2syLV/kt7KqZZ38DKLjIaezct9LGxK80cGFU58k AYvw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1689164763; x=1691756763; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=oojlSSrXdRN9mOVZ4jVFBafNeV+McVa//vivf/8Qpto=; b=HbKo70cXScPTkSeUxt1NTEdUOIPCDv6On1v8r3DU0QEdJc0HCAM1oLgGUKvFad/38N V07noKHGK8Y7Ow6Vovd7q1XMDVmJN2GKxru4vUww/OdYEOdjIOlLqLkI1GZIi/ihPxEv GD6NmmUg5lI0UDAFN5xBjVPcKmanEiDhAlJDCfoMQxVV3wZ3Ep1fBYvGiSx4Nj/wAf9H xzHsrqrcLWYsOSmb/meY7T/sARHG8jIAnExXtXiwaM18IXduO+wc8MR9rkqYLb+L/1j/ 223b/0asV/tanbmep99pfDTA6OCci4aflTL8rWyWnQ/k7BA6BLJtkJN+RpFDF7WChUAR 6vKA== X-Gm-Message-State: ABy/qLaKDayPVnq0kzfKedCUG+PHh5xxH6RGo07njqS5rRIIo7aK6VPy Kgwm0m835i5M1YW8YZIv/vtdMGwrVSH8wVT3fCYTDhd6Cbfm98UG X-Google-Smtp-Source: APBJJlFTF51q6HrzR4wcCBXuEWyNASm+TujxNhUQDzeszUHfHheOoDDz1b/ekkZggt9yY204KFqZ8ake5BSLN3k834Q= X-Received: by 2002:a5e:891a:0:b0:785:ff35:f340 with SMTP id k26-20020a5e891a000000b00785ff35f340mr22811493ioj.14.1689164763104; Wed, 12 Jul 2023 05:26:03 -0700 (PDT) MIME-Version: 1.0 From: Evgeny Pavlov Date: Wed, 12 Jul 2023 14:23:13 +0200 Message-ID: To: ffmpeg-devel@ffmpeg.org X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: [FFmpeg-devel] [PATCH] libavcodec/amfenc: Fix issue with missing headers in AV1 encoder X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: This commit fixes issue with missing SPS/PPS headers in video encoded by AMF AV1 encoder. Missing headers leads to broken seek in MPV video player. Default value for property AV1_HEADER_INSERTION_MODE shouldn't be setup to NONE (no headers insertion). We need to skip definition of this property, because default value depends on USAGE property. Signed-off-by: Evgeny Pavlov --- libavcodec/amfenc_av1.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libavcodec/amfenc_av1.c b/libavcodec/amfenc_av1.c index 30c0a9fad2..0a58a0808a 100644 --- a/libavcodec/amfenc_av1.c +++ b/libavcodec/amfenc_av1.c @@ -77,7 +77,7 @@ static const AVOption options[] = { { "qvbr_quality_level", "Sets the QVBR quality level", OFFSET(qvbr_quality_level), AV_OPT_TYPE_INT, {.i64 = -1 }, -1, 51, VE }, - { "header_insertion_mode", "Set header insertion mode", OFFSET(header_insertion_mode), AV_OPT_TYPE_INT,{.i64 = AMF_VIDEO_ENCODER_AV1_HEADER_INSERTION_MODE_NONE }, AMF_VIDEO_ENCODER_AV1_HEADER_INSERTION_MODE_NONE, AMF_VIDEO_ENCODER_AV1_HEADER_INSERTION_MODE_KEY_FRAME_ALIGNED, VE, "hdrmode" }, + { "header_insertion_mode", "Set header insertion mode", OFFSET(header_insertion_mode), AV_OPT_TYPE_INT,{.i64 = -1 }, -1, AMF_VIDEO_ENCODER_AV1_HEADER_INSERTION_MODE_KEY_FRAME_ALIGNED, VE, "hdrmode" }, { "none", "", 0, AV_OPT_TYPE_CONST, {.i64 = AMF_VIDEO_ENCODER_AV1_HEADER_INSERTION_MODE_NONE }, 0, 0, VE, "hdrmode" }, { "gop", "", 0, AV_OPT_TYPE_CONST, {.i64 = AMF_VIDEO_ENCODER_AV1_HEADER_INSERTION_MODE_GOP_ALIGNED }, 0, 0, VE, "hdrmode" }, { "frame", "", 0, AV_OPT_TYPE_CONST, {.i64 = AMF_VIDEO_ENCODER_AV1_HEADER_INSERTION_MODE_KEY_FRAME_ALIGNED }, 0, 0, VE, "hdrmode" }, @@ -220,7 +220,9 @@ FF_ENABLE_DEPRECATION_WARNINGS // Picture control properties AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_AV1_GOP_SIZE, avctx->gop_size); - AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_AV1_HEADER_INSERTION_MODE, ctx->header_insertion_mode); + // Setup header insertion mode only if this option was defined explicitly + if (ctx->header_insertion_mode != -1) + AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_AV1_HEADER_INSERTION_MODE, ctx->header_insertion_mode); // Rate control // autodetect rate control method -- 2.39.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".