From patchwork Fri May 21 09:17:31 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 27871 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:b214:0:0:0:0:0 with SMTP id b20csp342295iof; Fri, 21 May 2021 02:22:32 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxYOyVtIdTO8Wp7WaSqUthEUzDqM9jF5GG4X/E8wWrqUQSkvN31pDw/abxXgWm4/14dgPen X-Received: by 2002:a50:cdd1:: with SMTP id h17mr10139477edj.178.1621588952275; Fri, 21 May 2021 02:22:32 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id d21si5120046ejm.343.2021.05.21.02.22.31; Fri, 21 May 2021 02:22:32 -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=@outlook.com header.s=selector1 header.b=elpmN5G0; arc=fail (body hash mismatch); 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=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4967C689FB2; Fri, 21 May 2021 12:18:36 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-oln040092073026.outbound.protection.outlook.com [40.92.73.26]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2076C689F27 for ; Fri, 21 May 2021 12:18:34 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=K0SIsNclVVCLP9+SBcWV+mmNe4nYkQ6+Ie+YB9QvcpMFyKNS7tRR01QinfktN8Sa+D4L7uSNfdVMfpFrsWweF0AsNG0hfOxN9rkdqKVVHR/mH3gbKxJNt8HQlqy1kBtzn2+HdSRkFWnaHif3v/GDkj2FWgEr9+LLkvGf9TRoQ/PQXo2ilssFeUNPASnna6/UbnbOmOL2XREbZGd+ubEITOCHkBZUuIu9u6gmqzdV0aw3Sn7paEPlwMZvtj7/LfZp3FziYdxghQsZutVHamy+EbYhjSfDN3794Az7qJ9MRL0qVlTCArs/AnrIRdSWN7oymvVHn3z38KVw9uILZFBw/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Mu8U/8X85/1MZQAvPMRNC1ibCeR6MIco8vSK8qOMbpM=; b=UMZd7gr5N+n7QMCvyzD1YUGw7PF5YQzROQZ18mMcOLtW+MFh1MGsvHcCiiMuKZmu/DY7/MKomPeQE4VQ7J5UQ8NaH3lDyieF7ASNE+qBKIbyFrJmtdNRoj87x4LKu5voqYYuctKbu3cJQJxTlbIwtEhKe/9FJoYjhmDAtCHDh5MiQ+7PfGBgpeL9Z8wpfUwlAFHuVX2HxRq0PRptXlNRwEc6C5/0w+nrC/12987ATugrhNG24gk66zzZyCzZOFrtY24hJ6VA5Lgk8oeLIojldU6qIaCG0Da2+MQY+kFgETklUzAkpx1qo2t7zjzlA3qrhSpcFnEcwpm3l33xTCvxkg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Mu8U/8X85/1MZQAvPMRNC1ibCeR6MIco8vSK8qOMbpM=; b=elpmN5G0yZnkBTBH0utZSu0beDrl0UYxmyPlUr+A21ys4WbI5ICpcWNGAkzmA/0BBt9Cr3r7hdHtMzttsdyK3ZfM8kRaBTYWERHQbY/LU8gz4vOAg12vDIGERo4Dn0cUTvBOAvKbHSSZ+WZSuLX4EM+ZWv5aQwhLWZB4qnOMJtAHlKSyUnOYQ0QLpIlNh+kLIYStes82laFD6oGW31E5c3dHx3FT6cyg4k5ZluRbbjVX6vIONebx1i6roF7FNFwTgsfT3cayybNu9VZOwzSpwW3jh4/8VInK2z9rl6cetgdZTfb1R25EEG8yX5YtjZL51xO3PN6yiSF+3HMU9ZZ0/w== Received: from DB3EUR04FT030.eop-eur04.prod.protection.outlook.com (2a01:111:e400:7e0c::47) by DB3EUR04HT128.eop-eur04.prod.protection.outlook.com (2a01:111:e400:7e0c::439) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4129.25; Fri, 21 May 2021 09:18:33 +0000 Received: from HE1PR0301MB2154.eurprd03.prod.outlook.com (2a01:111:e400:7e0c::41) by DB3EUR04FT030.mail.protection.outlook.com (2a01:111:e400:7e0c::99) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4129.25 via Frontend Transport; Fri, 21 May 2021 09:18:33 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:C3F9DBFA6C6AF7488FE555BD0EE3402C16E1E1330B4A213702247653B118B800; UpperCasedChecksum:9DE00A8164DE7AA637C55DB0CC7ACE530180F55337B87C3EA865241BA524D113; SizeAsReceived:7563; Count:48 Received: from HE1PR0301MB2154.eurprd03.prod.outlook.com ([fe80::f4cc:63fc:9cef:37fb]) by HE1PR0301MB2154.eurprd03.prod.outlook.com ([fe80::f4cc:63fc:9cef:37fb%6]) with mapi id 15.20.4150.025; Fri, 21 May 2021 09:18:33 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 21 May 2021 11:17:31 +0200 Message-ID: X-Mailer: git-send-email 2.27.0 In-Reply-To: References: X-TMN: [AOsE3fcFm4vzk+Zf9qgK4EY55FPH2aXe] X-ClientProxiedBy: PR0P264CA0070.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1d::34) To HE1PR0301MB2154.eurprd03.prod.outlook.com (2603:10a6:3:2a::22) X-Microsoft-Original-Message-ID: <20210521091742.184902-27-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sblaptop.fritz.box (188.192.95.27) by PR0P264CA0070.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1d::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4150.23 via Frontend Transport; Fri, 21 May 2021 09:18:32 +0000 X-MS-PublicTrafficType: Email X-IncomingHeaderCount: 48 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-Correlation-Id: cbaed29c-90c8-4d2c-7883-08d91c3967ac X-MS-Exchange-SLBlob-MailProps: q+fD6XS3/UIohmq9k/yScywu9xPSfiUSgSubOgeY0o2oywbo0fiyvJvfQYeFTNeCGYDLzDZbYnMFrXrX74adga/IooFBygdM+b+nmwSg9VYz8xfqghw74SzySX26zkQXxbnazUBpVhg6w1tnA88YpaPc3tpdJOcu8thUScHE/efg2VsJ2miYBvhx/JQMZZVUGUmNXoJSLbpPiwN8MySXeEwsmXR2gC9zZf+FuTUd9eu3mU1F7R4EVMX8eoUcfnepW0+XvMkmQjk8jmhY2VxVm379gj1l6mx69yy9NIosGVnM1xLeow4FGDwRuv+MgR/r0vOGWhPbJRrASzzlrwoni8f2bf7X1oBtCaOb+iGJtIZPMCvoLg+Xs8nSPbQb96pZBl5xnbvSXXNWvQyWEZ9a2Ak527caHV5f4ofGI9ZdhqAfDzRFpy7dlUrF/KrRlYoqNgADBVhflBl21xXstIHF1qOjsdZxQEKTFQH0sxtXYKoWzL1cE+DJucwP+GFoIJW0aoHH49zKZNZ6khUR0xq5hUoZjjFDeGNYXz663zaAcZp2wU4jUmKWZ1s0v6Q82Q64cX82F8hgcZrpZvFvNZSu9fYFn26/Nb5NiW5R+esYNifwgiZBm7CryNc1seHW2CzjFmlkbl8jZ/fRNu6a/WTMRk4AWHjgpLz50DAqWEwT9gszm9oLtsuiToJ+dUIcslm/vKQDuw5tQHGQPpLe/Hq/rA== X-MS-TrafficTypeDiagnostic: DB3EUR04HT128: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: wZjMpOBIfMLkM8rO/krzqRv9WcTkI6SvVvd+hpPU4tJzYViWavtsJZd9t1CFz6uYmfCquTnvGzJXDw3Li7sTG3DwTCD3ZdNaPlgvOt5MLQ8Lc17Rp8FP84XRcbdS2JdjIPerhGokwMwSJLp8U0zLnPs0wF7s+BYTXT4KibRSwoz61qKyb6cwYjzKM+KNBeflvhmrNKavmK4gLUi8VIykLS9QkFajhJMisTv8ximgUyri0kPXvDF58jHleTdvCdBcxGklSnFinyksT92nKkzZS5gh+0UtSdmAfB4+eG4xzvbMh42kDro6f6PMMWJhCUt/7VDF1cee6S5jYPf1Ajarfjg+644Ja5T9AkLfct7mb2R6n6iSg/ME+lDwGs/d8uD/AK7ggC6wi8cXKrbG0y5CEQ== X-MS-Exchange-AntiSpam-MessageData: 3SWW1xbD93e3Fo+DEW+nj9qUx5RkTmsDYuAnBgt7UB6aIBuvUF8jwUBrqNbXq5uxJFaewHIbhjtosZw6lBjejN/QsDvIgbxCt3RvqqyNddEB+aAsOqxr2UWtjMOyXcFpwgj4TMicHavkfz/cDNhdHw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: cbaed29c-90c8-4d2c-7883-08d91c3967ac X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 May 2021 09:18:33.0284 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-AuthSource: DB3EUR04FT030.eop-eur04.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3EUR04HT128 Subject: [FFmpeg-devel] [PATCH 28/39] avcodec/omx: Reindentation 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: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: GaQ/anb6Ycu0 Also combine two if blocks that check for the same condition and don't check had_partial if we already have a complete packet. Signed-off-by: Andreas Rheinhardt --- libavcodec/omx.c | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/libavcodec/omx.c b/libavcodec/omx.c index 1e48579d4b..ddb3ba4f66 100644 --- a/libavcodec/omx.c +++ b/libavcodec/omx.c @@ -863,26 +863,21 @@ static int omx_encode_frame(AVCodecContext *avctx, AVPacket *pkt, avctx->extradata_size += buffer->nFilledLen; memset(avctx->extradata + avctx->extradata_size, 0, AV_INPUT_BUFFER_PADDING_SIZE); } else { - int newsize = s->output_buf_size + buffer->nFilledLen + AV_INPUT_BUFFER_PADDING_SIZE; - if ((ret = av_reallocp(&s->output_buf, newsize)) < 0) { + int newsize = s->output_buf_size + buffer->nFilledLen + AV_INPUT_BUFFER_PADDING_SIZE; + if ((ret = av_reallocp(&s->output_buf, newsize)) < 0) { + s->output_buf_size = 0; + goto end; + } + memcpy(s->output_buf + s->output_buf_size, buffer->pBuffer + buffer->nOffset, buffer->nFilledLen); + s->output_buf_size += buffer->nFilledLen; + if (buffer->nFlags & OMX_BUFFERFLAG_ENDOFFRAME) { + if ((ret = av_packet_from_data(pkt, s->output_buf, s->output_buf_size)) < 0) { + av_freep(&s->output_buf); s->output_buf_size = 0; goto end; } - memcpy(s->output_buf + s->output_buf_size, buffer->pBuffer + buffer->nOffset, buffer->nFilledLen); - s->output_buf_size += buffer->nFilledLen; - if (buffer->nFlags & OMX_BUFFERFLAG_ENDOFFRAME) { - if ((ret = av_packet_from_data(pkt, s->output_buf, s->output_buf_size)) < 0) { - av_freep(&s->output_buf); - s->output_buf_size = 0; - goto end; - } - s->output_buf = NULL; - s->output_buf_size = 0; - } -#if CONFIG_OMX_RPI - had_partial = 1; -#endif - if (buffer->nFlags & OMX_BUFFERFLAG_ENDOFFRAME) { + s->output_buf = NULL; + s->output_buf_size = 0; pkt->pts = av_rescale_q(from_omx_ticks(buffer->nTimeStamp), AV_TIME_BASE_Q, avctx->time_base); // We don't currently enable B-frames for the encoders, so set // pkt->dts = pkt->pts. (The calling code behaves worse if the encoder @@ -891,6 +886,10 @@ static int omx_encode_frame(AVCodecContext *avctx, AVPacket *pkt, if (buffer->nFlags & OMX_BUFFERFLAG_SYNCFRAME) pkt->flags |= AV_PKT_FLAG_KEY; *got_packet = 1; + } else { +#if CONFIG_OMX_RPI + had_partial = 1; +#endif } } end: