From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 07F864D0EC for ; Tue, 11 Nov 2025 00:17:46 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'FaQRnMdRvZMT2E238G6Gdx1tJR8X+rOXK8dRbcc8oek=', expected b'ZAZGKck1XIRpuukxkJ8tbw4SfOGpd2IAF2bVRA6y6FY=')) header.d=haasn.xyz header.a=rsa-sha256 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1762820258; h=date : in-reply-to : mime-version : to : message-id : references : reply-to : subject : list-id : list-archive : list-archive : list-help : list-owner : list-post : list-subscribe : list-unsubscribe : from : cc : content-type : content-transfer-encoding : from; bh=Ym1VPvZ/nyGujBNTki5cR3ZigYUkN04h7Q96AJVSF34=; b=wuhVNT1div1fgmyzRRGnSskNDZas6vlLclV6WrriCtYBzVfMq5BvLWp/7VISbbvxMOpRP 6cN/S5VHmB89Rxh7WYBqu91jRHxXvapTF/ZY2TQcKsbtQnfAz440+6lSoPnu4TKYQ6EBDuf vHAVNecwA2/omEv3xbQoQO0aBvhwCfLMZSP4THQuxKpMLNqdgyzeB9AEhXEE7WPTKuR0qwr sx9uS9rTzW2JHkiGaFZSVY3dlvtjEHCs6FG05cYNBTengiVvSGCPy61e9/S46o8jjn+i8KE 0jWG/b/Nz9eSx03IHFuOMLaSKMAvZfIXJY8P6icwyer9g2npk0c7VYiGSTrA== Received: from [172.19.0.2] (unknown [172.19.0.2]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 2FE8968FC44; Tue, 11 Nov 2025 02:17:38 +0200 (EET) ARC-Seal: i=2; cv=pass; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1762820243; b=T9zkx7bddjrq//4LwyYF3My9e7yqD6oeJYNM4Hcx8nHFISR+cqcH8HI2o5oiUa767f11q cu3Q3W0LumvgIU1JZ2ki5aLf8+dGvhXxh8Wvz1tZSVWdP71TPZ6vH0Bm0ZX4CgWF9JPya5b Em3rggOXZ2en0wEG5rVMzW/XPRRpGELoiBLyk8WOK71tx+S/BN0p1PkgniH5mHTAUeLTEvL zHQRZ605RqVU/3nRabttuO1wvhUhsUAGDHg9hAU4VfjNDtD2CVCbI+Vb/aYNDIriOAD4bt6 avo7TZ29XgqRIWK5C2ilkiNtTjQXcgNDuiPVw/30dMdiKEKAsfZjrY4VfKHQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1762820243; h=from : sender : reply-to : subject : date : message-id : to : cc : mime-version : content-type : content-transfer-encoding : content-id : content-description : resent-date : resent-from : resent-sender : resent-to : resent-cc : resent-message-id : in-reply-to : references : list-id : list-help : list-unsubscribe : list-subscribe : list-post : list-owner : list-archive; bh=FaQRnMdRvZMT2E238G6Gdx1tJR8X+rOXK8dRbcc8oek=; b=SEKYTqtoPWd2C898j8wg0OGR/GCrgZ1z5zWfhkubZhbWZlw/WadMWyTm2QLKN2nwYBK+D G4vE096dfss2TfHzQAS+3hpyDqnXjBnNF9QX0LU7SEqYyYw8Atc/iFPJUJA37kDmreQRq4g 81j3IPfHkzY7HxMqcT4kHAxJDUzl5kad+ZaWJC0LucEmWJh0zw9Jb91uNzan/0jjhuo660U SqR1T2fKCiK9jV4TGn90lsgitTkug5oHQTpD+l/EelbgDXzW1wvtu6fQOAKZziyYcfsLymb RKTm4mT+g/BFz4CCILzQN5Ee/FT2FYJnREkAeJawjVCF1JE8Tmq5dbvcG0HA== ARC-Authentication-Results: i=2; ffmpeg.org; dkim=pass header.d=haasn.xyz; arc=pass; dmarc=pass header.from=haasn.xyz policy.dmarc=quarantine Authentication-Results: ffmpeg.org; dkim=pass header.d=haasn.xyz; arc=pass; dmarc=pass (Used From Domain Record) header.from=haasn.xyz policy.dmarc=quarantine Received: from mail-200167.simplelogin.co (mail-200167.simplelogin.co [176.119.200.167]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id A21B968FB9A for ; Tue, 11 Nov 2025 02:17:10 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; d=simplelogin.co; s=arc-20230626; t=1762820230; cv=none; b=d8HDZs3HUASGDjfYu2WrrAkD9PS28KnzqRVM+088WFDn1svh9Z8JYpwOkm9At2AUqG3bLkn+bEyi+WPSoGF21r6lkfFfE4yYgqerx0iGmWHwQB4Ah1686XNcEjYL1eiFy/km1BVKPOyTMsKIvGJp1+qWHF1LnT3RSNpoypKSP1aipfFyluYpBAOJJL2U/N81c+euO/6iroluF6DqTYPGqkjGxVEGkBcy07Dp9eD9V6RRsOfff92iDOe1VwHPLisSdJ1NFGQdpwX5TCbr0Ze5DqzSP1IIeqzQPkHc5UO8ogbuWxuz4lSBH57guE0Ha4BtT12j6Zx97buvoZfVGTKhhg== ARC-Message-Signature: i=1; a=rsa-sha256; d=simplelogin.co; s=arc-20230626; t=1762820230; c=relaxed/simple; bh=ZAZGKck1XIRpuukxkJ8tbw4SfOGpd2IAF2bVRA6y6FY=; h=Date:Subject:In-Reply-To:From:To:References; b=sgpB+8qEC8i1utlOp8h4m5rJ45coRWUEMY79gvkL8lN9SKnokLKwyncq5ZulgwrInDBnhbQjbp/Bmrofx4q7FNYd/K1MoWRB+VUNmQzW5Ij+TinalckLGPUT8On7O/bOKjN3m3GqwePGNP6W/Yv0BUQKw1gVY2KDxzNkdTxs+0htr6W7Wl931jlkOPLd+6z75jYiG27sgANtjxZV9tdXG7RoTPqzVdi46Uwi0bxLwo0nPcR6NhqiqfP4N1sXQBtwY6yx/3wyJlNZUqP9zdbZi7q35w+IQeWW+3MYxMm1xS7kGYbliJ1FHDfV0HoPs2malZIGthUjUYkPYZVg5KdBIw== ARC-Authentication-Results: i=1; mail.protonmail.ch DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=haasn.xyz; s=dkim; t=1762820230; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ZAZGKck1XIRpuukxkJ8tbw4SfOGpd2IAF2bVRA6y6FY=; b=lBF1gsX3MVjnmbu6/YMwD3zPOT67BvFSOL3DnqVLW5GWb42ojB0t1ugCy19AjRnSjWsBTY 5IhLI5muodwp0g2urgcLn3ZQ1dDvAstBW/SrYYGSbdQr5HX7wuo7NOkQOkm6oSIukPSzTU Qg6xQ9dBtqxXeIIohqCtLx1drdOS+1k= Date: Tue, 11 Nov 2025 00:17:04 +0000 In-Reply-To: MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Message-ID: <176282022982.7.16932805960141624204.999720828@haasn.xyz> References: X-SimpleLogin-Type: Reply X-SimpleLogin-EmailLog-ID: 999720828 X-SimpleLogin-Want-Signing: yes Message-ID-Hash: H4I5PRK3KW6CQUE25JVUBGYGXV2TC5PO X-Message-ID-Hash: H4I5PRK3KW6CQUE25JVUBGYGXV2TC5PO X-MailFrom: SRS0=Dra/=5T=haasn.xyz=sl.lmysyibzhe4tomrqhazdqlbagiydgmbuge3v2.kluiw3ypubno2@ffmpeg.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-ffmpeg-devel.ffmpeg.org-0; header-match-ffmpeg-devel.ffmpeg.org-1; header-match-ffmpeg-devel.ffmpeg.org-2; header-match-ffmpeg-devel.ffmpeg.org-3; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list Reply-To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] Re: [RFC] performance tuning, memcpy List-Id: FFmpeg development discussions and patches Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Niklas Haas via ffmpeg-devel Cc: Niklas Haas Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Archived-At: List-Archive: List-Post: On Monday, November 10th, 2025 at 3:09 PM, Thilo Schunck via ffmpeg-devel wrote: > > > Hi Team! > > Apologies for maybe breaking submit rules but as of now I don't know better :-) > > I figured out on arm "hwdownload" is quite slow. > I turns out this is caused by imgutils.c image_copy_plane which does a memcpy loop > > for (;height > 0; height--) { > > > memcpy(dst, src, bytewidth); > > dst += dst_linesize; > src += src_linesize; > } > > As a POC, quick'n dirty I create 4 threads and split the copy. In my case this improved fps from about ~26 to 51 > > ./ffmpeg -hide_banner -hwaccel v4l2request -hwaccel_output_format drm_prime \ > -threads 4 \ > -i ../Big_Buck_Bunny_720_10s_10MB.mp4 \ > -filter_complex "[0:v]hwdownload,format=nv12[myOut]" -map "[myOut]" \ > -f null - > > Maybe someone is interested in this improvement with cleaned code. > My PoC uses hard coded 4 threads which is for sure bad ... I could see `hwcontext_drm` specifically using an internal `AVSliceThread` for `RAM<->VRAM` transfers. We have to be careful about thread safety, though, as `av_hwframe_transfer_data` may be called from multiple threads. So in the worst case, we need to create and tear down the `AVSliceThread` per frame being transferred.. As a possible alternative, `vf_hwdownload` could become frame-threaded, though that would only improve throughput, not latency. _______________________________________________ ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org