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 BA3DA46093 for ; Thu, 4 May 2023 08:00:57 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4014268BF5B; Thu, 4 May 2023 11:00:54 +0300 (EEST) Received: from out203-205-251-60.mail.qq.com (out203-205-251-60.mail.qq.com [203.205.251.60]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B7BF9689C13 for ; Thu, 4 May 2023 11:00:46 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qq.com; s=s201512; t=1683187241; bh=m3brc3RjSUA6P6TGW4e7UBhBEUwZMKhG8A7gRtHgHYI=; h=From:To:Cc:Subject:Date; b=gBfQJedLkObkYYKMHO7P8f19MpFpGcN4LGv4oHr7fcQes1Beh5mMNbtDH4GBPURwF DJjj4OohCdjvi02QxGvNVKwQJ7aA3XIssmeMsWOFyrQrTEUhuCCXTFNZvp7CUueaVv Jel6y+0ehBsFvZCvSeT5ikGJaGMH5WjKG7Xy/Trc= Received: from localhost.localdomain ([59.41.118.37]) by newxmesmtplogicsvrszc5-0.qq.com (NewEsmtp) with SMTP id 278AA9A; Thu, 04 May 2023 16:00:39 +0800 X-QQ-mid: xmsmtpt1683187239t1rm7xjkd Message-ID: X-QQ-XMAILINFO: MyIXMys/8kCtwIJlyWGglhh+vdDCNjzJymynbncg3HaaEocvbjMap9L/vbjeIr /XuUHN9rkmwI6zX6orfyjTpTOoI4MKyWvh9/DkhogXv0VryH3yPYcdKdyKjLzqzurxHev4eYNIdi GA+HcQy4naJ5AesxrOx7YF9YaWzvafAQU7pmS1JisGbb5/pBwvJB7s5cly66JmmC8eGHHEjMhkGG BeY0vBghSJ9ksGb+tpFxF+3UUS0llw7vNX/vo2PSH4YoCRWoeZj8bHr09Ff/sDNaULFDvgWOIF2t B0uE2EaTmXbFluzPnSlLzO1D9voHa1NR/Vzs1Zxi8GyXqToIMsuCaRU1FF84vz7nFBBWJpw6UbY4 AaNe/5gYILNbL1AxBIi08OEBsMuEUKumRpjg/drycGHChe25RZZZ5rS3WJboBIYTAGDX2v/jrWCe N9Ykxrr/qTs3iepi6rdGvi6V2R8KJ0PYdFCQpv++pc2VxkpfN50xw75h4Q8YOc38/UXPNAhvd+e2 YIjYk/cHMgvtJsv4Mm+1KhZm6GO+D1Fv4zMtF002nMUoCL0ZAyZY6f93NTITi2F9Ch5kKwTlmmtr fdctrIxkPiD5zWXP29NDGfh7mLR+i0ccD15T8BUvqCkmAcH110/kEXd+gCEOIyxEPK/g+P1uaPQ3 fhiE/x68fFck8bhpihHsiFUGczq6Eib61iybFQ98kGbBCfjJAQc6DxhktkEKd0wSirBKqMl9Olbv 3a7n6yTdr0/lNp03eLp7I/V2aSfPQeceNM1kaSZ0jXzlp3LZMs+88UExDgTXGRQsgX+cyWH4SydG UjctX8qBXrE4qa2b12Tg5v8GuLxICsRHZuwGHyabAb3DTly9u164OUn5DLnNs2XOorK+tLknCC9M VARw+OaUIU9PPAcCYrCiBSguloakQdUgQ47803GbZLxX9+yEHAZLrataJQGJMukeoLk+9TTIcbGf ANJ0/9q1+xMO3vUv95N0qukqE+mxs8vRbbR/8frFQ= From: xufuji456 <839789740@qq.com> To: ffmpeg-devel@ffmpeg.org Date: Thu, 4 May 2023 15:54:35 +0800 X-OQ-MSGID: <20230504075435.12637-1-839789740@qq.com> X-Mailer: git-send-email 2.32.0 (Apple Git-132) MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avutil/imgutils: optimize image copy efficiency 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: xufuji456 <839789740@qq.com> 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: It makes sense when copying 4K/8K video, if linesize equals to aligned linesize. Signed-off-by: xufuji456 <839789740@qq.com> --- libavutil/imgutils.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/libavutil/imgutils.c b/libavutil/imgutils.c index 9ab5757cf6..1d432e7a57 100644 --- a/libavutil/imgutils.c +++ b/libavutil/imgutils.c @@ -525,10 +525,17 @@ int av_image_copy_to_buffer(uint8_t *dst, int dst_size, const uint8_t *src = src_data[i]; h = (height + (1 << shift) - 1) >> shift; - for (j = 0; j < h; j++) { - memcpy(dst, src, linesize[i]); - dst += FFALIGN(linesize[i], align); - src += src_linesize[i]; + if (FFALIGN(linesize[i], align) == linesize[i] && src_linesize[i] == linesize[i]) { + int size = linesize[i] * h; + memcpy(dst, src, size); + dst += size; + src += size; + } else { + for (j = 0; j < h; j++) { + memcpy(dst, src, linesize[i]); + dst += FFALIGN(linesize[i], align); + src += src_linesize[i]; + } } } -- 2.32.0 (Apple Git-132) _______________________________________________ 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".