From patchwork Thu May 7 16:18:34 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lukas Rusak X-Patchwork-Id: 19537 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id B2969449E84 for ; Thu, 7 May 2020 20:22:06 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 967F468A4AB; Thu, 7 May 2020 20:22:06 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-io1-f68.google.com (mail-io1-f68.google.com [209.85.166.68]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3547A689CDF for ; Thu, 7 May 2020 20:22:00 +0300 (EEST) Received: by mail-io1-f68.google.com with SMTP id z2so5185114iol.11 for ; Thu, 07 May 2020 10:22:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=yBjkmcPJzr+9oHmNNbcPKQztmsJKSZ2nZyXOht0ZCDo=; b=qsx4GG09WEVXE1/tLNisTsxMQydQfe/juy5eOuSW9U9D5FJMHC099sgnVtF9lp3CMp Iok2BQbh03Qns9Z/va7FbnxpEqzRJBAywHAAHqG8xvwGmqH4D/dvMs03GyD7lnNTSsCe 2He/vAZqI4pNQV4p/nwf77RZJ0/Yj8Aa5ATyV/WtC7miSRTBZ8LGq9vqJqUPApuDWU1h 7fcdmtTBU3udQ9qoz9f0lc17QHkQkuduyx+epV1DGPzKX/oMuXdmPoqBaKVSuR3sZ1RJ 9Aw7tqot290vIBGjddGv96IvAE1rOfvzMcfEf+835wPlJBFxB2FetKUFq5uMYaJUuPle ZILw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=yBjkmcPJzr+9oHmNNbcPKQztmsJKSZ2nZyXOht0ZCDo=; b=C3qq65poDAUfWEiLddNojzGmSWgZBqW3Pv6qlPPpwdPMwj0VmtlB1PkJPO9aY/zvSE 9Ut3IQ3KTxxDQO4PyqHVyFXblcaN7LsV+yIEyqsdCyrhg/OVMJl2xDYFbkQSt1sjl8/1 zCUGx7v/TXWjSd5g+H/+4UVaIDSptTm5NSws0SNSjY+BegL46QV9Cso2FwNL/mpnXXKk rZnXbWnd/m1y96NAl0Wh2C6pCqRYTWD7B2yw+nttjaC6v27ngTSdo8VMFccsdjtiRjER 47hZvIhsPs46Xm8B7rK3fyzm1bjqasnyzHUCF26n32JJ4cYs8cjzDSBBH4Iac0szYUQ5 IdwQ== X-Gm-Message-State: AGi0PuYZyCIJv9aIY+dgXH4xswlCgE/VcxrjC5GlX6R0U6ov6oMKY9Oo E60AAICIjEWM6OEYFQwxxtMaeRPz X-Google-Smtp-Source: APiQypK7fdNHuBryyzlk+0nI5uVw/gpoU665dTsVJ/yIERL5xF6cewF7HVGTOKLvtump5bltXoW3jw== X-Received: by 2002:a63:145c:: with SMTP id 28mr11549641pgu.77.1588868315745; Thu, 07 May 2020 09:18:35 -0700 (PDT) Received: from nuc8i7hnk.freestylephenoms.lan (d205-250-97-98.bchsia.telus.net. [205.250.97.98]) by smtp.gmail.com with ESMTPSA id b7sm5245994pft.147.2020.05.07.09.18.35 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 May 2020 09:18:35 -0700 (PDT) From: Lukas Rusak To: ffmpeg-devel@ffmpeg.org Date: Thu, 7 May 2020 09:18:34 -0700 Message-Id: <20200507161834.845759-1-lorusak@gmail.com> X-Mailer: git-send-email 2.24.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] libavcodec: v4l2m2m: allow lower minimum buffer values X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" There is no reason to enforce a high minimum. In the context of streaming only a few output buffers and capture buffers are even needed for continuous playback. This also helps alleviate memory pressure when decoding 4K media. --- libavcodec/v4l2_m2m.h | 2 +- libavcodec/v4l2_m2m_dec.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/v4l2_m2m.h b/libavcodec/v4l2_m2m.h index 61cb919771..feeb162812 100644 --- a/libavcodec/v4l2_m2m.h +++ b/libavcodec/v4l2_m2m.h @@ -38,7 +38,7 @@ #define V4L_M2M_DEFAULT_OPTS \ { "num_output_buffers", "Number of buffers in the output context",\ - OFFSET(num_output_buffers), AV_OPT_TYPE_INT, { .i64 = 16 }, 6, INT_MAX, FLAGS } + OFFSET(num_output_buffers), AV_OPT_TYPE_INT, { .i64 = 16 }, 2, INT_MAX, FLAGS } typedef struct V4L2m2mContext { char devname[PATH_MAX]; diff --git a/libavcodec/v4l2_m2m_dec.c b/libavcodec/v4l2_m2m_dec.c index c6b865fde8..b9725be377 100644 --- a/libavcodec/v4l2_m2m_dec.c +++ b/libavcodec/v4l2_m2m_dec.c @@ -262,7 +262,7 @@ static av_cold int v4l2_decode_close(AVCodecContext *avctx) static const AVOption options[] = { V4L_M2M_DEFAULT_OPTS, { "num_capture_buffers", "Number of buffers in the capture context", - OFFSET(num_capture_buffers), AV_OPT_TYPE_INT, {.i64 = 20}, 20, INT_MAX, FLAGS }, + OFFSET(num_capture_buffers), AV_OPT_TYPE_INT, {.i64 = 20}, 2, INT_MAX, FLAGS }, { NULL}, };