From patchwork Sat Aug 5 12:06:57 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Rosca X-Patchwork-Id: 43131 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:9329:b0:130:ccc6:6c4b with SMTP id r41csp551138pzh; Sat, 5 Aug 2023 05:12:19 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFEw2+XlQtTMXkBo8/tcL8+NPwhElN6NUefsP6+oAZIGMqWyrnHYOu1ceGZ6Sm/Zecm8Wbd X-Received: by 2002:adf:f091:0:b0:314:39d0:26f6 with SMTP id n17-20020adff091000000b0031439d026f6mr3136599wro.18.1691237538865; Sat, 05 Aug 2023 05:12:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691237538; cv=none; d=google.com; s=arc-20160816; b=MF99aLdTCpFnmJN0zohZDPZmZ1s+MYOkNzsu8ObiL1KD5zcg2bjC0JdU1/75GHErKt NjTQAguQyJswyhuepTeCXRH6/UWd+yPW1d9Eaize5ku16Bq+5l/IwiaXjZKuHSni5JXa vt1iqRirFvLP2xJVMzEnw2umDuZKF/cVQK7qqteJDUBWa6wflht+58MdqUK9qpatYb4I zM4CpoHCX01UE9rYawhfML1A0+BA9n07/5DKCjH2bKz8bA+agxSrV8fFTTV002k2b7Sb qvW4+KMsrJyaDRveEv97Sv1FW6ZZkQu8Rjm7KsgE/pCgMcew39dc5WILuVLcXvdtUkHZ 2EPg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=Ec55Hct2Afo7Iyz5q8y26C/Ld8sBlMP3dlKVWAH0Y3w=; fh=+H1WSyw0bZg9cL2A6W0J1AKQ8UNSeLFKwsXpGAgSXHY=; b=DchEEn7WLYyiT/Y8lTa8JzlqSaYEjjkhVjJys55v8ReYbW1UXfaeBs7Bz6fTmoCvtt ohjsla+SPvStrkLvY3ceNAgBGs6aftOoetsuXu1xLWdMv8U8wR8e8VqUPa9cue4z49dV lCFYDtfY+1wsDwjn5yqfeRnLE718o2TuNcDeVuCcHk69L05d1VAr7+ItHRLQnkaGcudl WJPmSK2/vrBUfeKuSsi+Ir8Plk3qPUwe//0ljKAGKhAnTMTKwGd0+lQphrNFf2F6CkyJ 8J4fmek7Twwu2gXu2n3XtfNj+nQKja1lZ57SZs2TTUf4jhMpp0Wt65kIfJzm/EY3p/48 TF5w== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20221208 header.b=eYasDa2B; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id h17-20020aa7de11000000b00522be90257csi2844963edv.466.2023.08.05.05.12.18; Sat, 05 Aug 2023 05:12:18 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20221208 header.b=eYasDa2B; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 51F6268C6A4; Sat, 5 Aug 2023 15:12:14 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lf1-f47.google.com (mail-lf1-f47.google.com [209.85.167.47]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1211B68AB90 for ; Sat, 5 Aug 2023 15:12:07 +0300 (EEST) Received: by mail-lf1-f47.google.com with SMTP id 2adb3069b0e04-4fe15bfb1adso5145369e87.0 for ; Sat, 05 Aug 2023 05:12:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1691237525; x=1691842325; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=wvAvA+oDC0/qk+jj5HHfQ5lQzVuc3nEONeWaQi0v/UY=; b=eYasDa2BwR39sB2okeeX2F9e+jYUA72aCoZerySvdFIaXColUKSnnjKcTQcE1kM9mB RmHSM6utdtE5ljtmM4tQWEmMztaNem4/LRQGV1ddgb57p0eg+Z/JQmL6ZgqjJLpTeqQx bhq5qkobcxLVBpsECxyCerLRhKqDe+ykECfbh419LUFxIjpNs7QX9QVaeG5EQXUkbEK9 doIxG6+bSjjOtoFp3whg5MsSgJcg30mjXtf/7oDNmIa4GATZrb8a5odDzH3n8x+gTnmB YLxQTfW+F0CjGC0Pz5/LjwTcCaTLACeIb3q7UitAr0+BWoTBvSv7s+QLoFr0Qqc1qRIg WSLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691237525; x=1691842325; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=wvAvA+oDC0/qk+jj5HHfQ5lQzVuc3nEONeWaQi0v/UY=; b=FXViK65TkXuJWxTTgCQsVYxrOS9OVCtAcUVuNW5iwSuypvMnIy2t1MDA2oJsEZvv8L edfhgwwmG/9TLmE6r9t0L1R1bwCr9ZaeXQdop4lPkxxQYsFdySCrAmW7cwDTJTU0hGge ysINgLedXovg/oZFu6mlRV/AfjQjrPfTpIVy3HzdXjd/jY3uB4PXHrTTUlHwV3o6y2M6 XtnP+xeYgVIL1gf/3d0EChYj8Im9JQWyT+BnL6nUrPcIU6ZgOm77KInITTjGJPL3Muu2 ZrFKV3lLzktgmzLf1Kx3U5p6Tn1V1n6+NtdEiKxqbEMYoh1T/nbGqqAstq5YV1bVg1H6 2J1g== X-Gm-Message-State: AOJu0Yy720XrINVBv3mv6+Fz0ESI9uRFyVn8zcI1e6TJ/05LQIr4Ucit a6njOI3znW6W7ACVLBQj5Q4WrRCtCyc= X-Received: by 2002:a05:6512:2509:b0:4fd:fef8:7a81 with SMTP id be9-20020a056512250900b004fdfef87a81mr3853813lfb.55.1691237525176; Sat, 05 Aug 2023 05:12:05 -0700 (PDT) Received: from mitsuki.. (ip-62-245-76-195.bb.vodafone.cz. [62.245.76.195]) by smtp.gmail.com with ESMTPSA id u14-20020aa7d54e000000b005232c051605sm458133edr.19.2023.08.05.05.12.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 05 Aug 2023 05:12:04 -0700 (PDT) From: David Rosca To: ffmpeg-devel@ffmpeg.org Date: Sat, 5 Aug 2023 14:06:57 +0200 Message-ID: <20230805120745.216285-1-nowrep@gmail.com> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] lavc/vaapi_encode: Add filler_data option 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 Cc: David Rosca Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: xhYW0D5lPWM3 --- libavcodec/vaapi_encode.c | 1 + libavcodec/vaapi_encode.h | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/libavcodec/vaapi_encode.c b/libavcodec/vaapi_encode.c index bfca315a7a..f161c76304 100644 --- a/libavcodec/vaapi_encode.c +++ b/libavcodec/vaapi_encode.c @@ -1860,6 +1860,7 @@ rc_mode_found: #if VA_CHECK_VERSION(1, 3, 0) .quality_factor = rc_quality, #endif + .rc_flags.bits.disable_bit_stuffing = !ctx->filler_data, }; vaapi_encode_add_global_param(avctx, VAEncMiscParameterTypeRateControl, diff --git a/libavcodec/vaapi_encode.h b/libavcodec/vaapi_encode.h index a1e639f56b..a2170cb8b0 100644 --- a/libavcodec/vaapi_encode.h +++ b/libavcodec/vaapi_encode.h @@ -198,6 +198,9 @@ typedef struct VAAPIEncodeContext { // Max Frame Size int max_frame_size; + // Filler Data + int filler_data; + // Explicitly set RC mode (otherwise attempt to pick from // available modes). int explicit_rc_mode; @@ -490,7 +493,11 @@ int ff_vaapi_encode_close(AVCodecContext *avctx); { "max_frame_size", \ "Maximum frame size (in bytes)",\ OFFSET(common.max_frame_size), AV_OPT_TYPE_INT, \ - { .i64 = 0 }, 0, INT_MAX, FLAGS } + { .i64 = 0 }, 0, INT_MAX, FLAGS }, \ + { "filler_data", \ + "Enable filler data", \ + OFFSET(common.filler_data), AV_OPT_TYPE_BOOL, \ + { .i64 = 1 }, 0, 1, FLAGS } #define VAAPI_ENCODE_RC_MODE(name, desc) \ { #name, desc, 0, AV_OPT_TYPE_CONST, { .i64 = RC_MODE_ ## name }, \