From patchwork Sun Sep 3 12:44:36 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yevhen Kyriukha X-Patchwork-Id: 4967 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.15.201 with SMTP id 70csp2391672jao; Sun, 3 Sep 2017 10:00:15 -0700 (PDT) X-Received: by 10.28.63.207 with SMTP id m198mr2247858wma.177.1504458015010; Sun, 03 Sep 2017 10:00:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1504458014; cv=none; d=google.com; s=arc-20160816; b=lOBV9f4x9mJM++9jQkoWqCRzDJdM9Lkvx9vTiWg9IiPNkHNVTD3VgDmRHwBbXuDiJX 13NS7j4aLqrt1ZiMDg+r11AfSiOOv2r4wldFcmuGoLJMSSbV99LR9sIRS7XAHyLvozVZ 8Ve7ygAlCqq0Q89JD3OjbDqHwRQ4TKHz3QB+ue6mhKkCnLcMA7qbCKiynotLKkb2I6CT JQ4eiHIp2hbprUfrYXY2qoz56JbHgR+qnQ19YZPugSqAv7+aUQok9W7OjhMliSysgxpJ dwHOYsV5uvCF/GhBj4qgT4gzMbLCOyDgpDuXZKrecIZHivJfSKIUvIBd8GBZhyu0D7// s8kQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:message-id:date:to:from:dkim-signature :delivered-to:arc-authentication-results; bh=A8e+eotFwMSjAQIFuqWsZU5Kkhhrjo+7R/q6DjumoI0=; b=ktyWT+MTQPiucDd0r4RU1MOKHhKxYshrcZ+uFrDhl1iZx0fKAJJk7JSRaiQvH5d2T6 n+7LUmaZNITOrtyoUmLGsEbFKXVWNoMd5WSoxV8u+r5iPY/PiyBCzBrhQe9RJvR64ZJ6 4u6lyggIbnMoHAHPKCBu+Y4qFrG+Va9epZBSVtaZw32tuvE9P1rw6QAtPw7FrXjMP4sV qiFel/+h1jdNMIWeyQPzBfot4zZL1bOYaEGgq3PiPrrpHuloNn/JW1QZ7ldi5aR+zEeD v0gDDl7kmdDZ1/KMkMFwzJU35e0UNGZa7O3n7c9QZZC0Kkb5jQIhYIlvSrhlFZ+xreT7 bmGA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=N/av2PM1; 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=NONE 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 3si3828187wrv.157.2017.09.03.10.00.14; Sun, 03 Sep 2017 10:00:14 -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=20161025 header.b=N/av2PM1; 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=NONE 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 1E61B68A10A; Sun, 3 Sep 2017 20:00:10 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lf0-f65.google.com (mail-lf0-f65.google.com [209.85.215.65]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 461C9689F2E for ; Sun, 3 Sep 2017 15:52:55 +0300 (EEST) Received: by mail-lf0-f65.google.com with SMTP id h132so2252325lfh.2 for ; Sun, 03 Sep 2017 05:52:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=OUlxD/F8VlA4b9+//u8v4/weS0GCC2M8+I7zUtiRciI=; b=N/av2PM1r1+LJ5528KrXQ86xUrxpmioJ4jXgHp/U98yhqxu0vRXza5OI6/CjJhsFAA 9L5NcjsXdHPRPEkybZVZ5kJe13rgr6wNRf/sy6uoRl+dCo8rUhgtmgL0TakxO9YguO9Y vfsJrEdB4nIP0yWdZkj/xm7kORAch9gKUAsW6CvZ4RnL8zKQj1h+lkVwgwi0TRrrGn7n 9pdwAVVrb3VhtVQTztXFzHP2xqF+BRwUAmYYIr2Ulwg3L9JZC7BApsCrqI67qGidahBV Mh6ChhgCP1Is0s58lW44EKGVyNmVSMlZad8gPks6+11O0RD+OOF5eShzvxM4Y/x2ja7c eFCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=OUlxD/F8VlA4b9+//u8v4/weS0GCC2M8+I7zUtiRciI=; b=It+iBTZKWABOrH1CQb1toOpIFLN6lzQYeFwpokpMxGv2efd/9fP+4pgm8/27W/xsx6 tJ86zwKEd1+d4Av46BPhXEecV3IIbkCyU8nZb1jk1mpO+Atm/deEJc2b+R0X1LV0JIE9 XlR1RkRIndCmou6oKUqbdEvaACrEufInjq7QWIrYZxj8/CqHDrM3qdstq2m+o6A1RTix kCFE4eFmzi3tGV+IgpWs2hOjjvP4xu5sguYnCT6T6VSWoyB5rUI+DnZd7LBw+Nqdz3GR YkIpzpGnuxSNaS0v4W/74nzrfAihz61z7/WjIusy+f8W+HoA2Y121kQVHsUROAV8b9ec +M1w== X-Gm-Message-State: AHPjjUi73aBy38sZFd7M2H768YDfXQyw129TFSlmHfJmAPLgBEgQKmDO y+1ZBzwvMJ/xEw2KW3I= X-Google-Smtp-Source: ADKCNb4wkRBTN7wzO0FShNJ4hyX/G2Jc4WcJcieTY0wNubnhumT4s4BKx9b5+JN9eOx5qiY6TbTxIA== X-Received: by 10.46.97.9 with SMTP id v9mr2706647ljb.125.1504442682025; Sun, 03 Sep 2017 05:44:42 -0700 (PDT) Received: from localhost.localdomain ([194.44.222.72]) by smtp.gmail.com with ESMTPSA id 26sm742175ljh.64.2017.09.03.05.44.41 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 03 Sep 2017 05:44:41 -0700 (PDT) From: Yevhen Kyriukha To: ffmpeg-devel@ffmpeg.org Date: Sun, 3 Sep 2017 15:44:36 +0300 Message-Id: <20170903124436.16963-1-kirgene@gmail.com> X-Mailer: git-send-email 2.11.0 X-Mailman-Approved-At: Sun, 03 Sep 2017 20:00:09 +0300 Subject: [FFmpeg-devel] [PATCH] avcodec/mmaldec: use zero-copy for AV_PIX_FMT_MMAL 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 Cc: Yevhen Kyriukha MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Signed-off-by: Yevhen Kyriukha --- libavcodec/mmaldec.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libavcodec/mmaldec.c b/libavcodec/mmaldec.c index 0b1195dc3e..19ca6ce7e7 100644 --- a/libavcodec/mmaldec.c +++ b/libavcodec/mmaldec.c @@ -295,6 +295,8 @@ static int ffmal_update_format(AVCodecContext *avctx) goto fail; if (avctx->pix_fmt == AV_PIX_FMT_MMAL) { + if ((status = mmal_port_parameter_set_boolean(decoder->output[0], MMAL_PARAMETER_ZERO_COPY, 1))) + goto fail; format_out->encoding = MMAL_ENCODING_OPAQUE; } else { format_out->encoding_variant = format_out->encoding = MMAL_ENCODING_I420; @@ -332,7 +334,8 @@ static int ffmal_update_format(AVCodecContext *avctx) FFMAX(decoder->output[0]->buffer_size_min, decoder->output[0]->buffer_size_recommended); decoder->output[0]->buffer_num = FFMAX(decoder->output[0]->buffer_num_min, decoder->output[0]->buffer_num_recommended) + ctx->extra_buffers; - ctx->pool_out->pool = mmal_pool_create(decoder->output[0]->buffer_num, + ctx->pool_out->pool = mmal_port_pool_create(decoder->output[0], + decoder->output[0]->buffer_num, decoder->output[0]->buffer_size); if (!ctx->pool_out->pool) { ret = AVERROR(ENOMEM);