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 A8F0F45D20 for ; Mon, 5 Jun 2023 07:30:30 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9D43068C3D8; Mon, 5 Jun 2023 10:30:26 +0300 (EEST) Received: from mail-yw1-f179.google.com (mail-yw1-f179.google.com [209.85.128.179]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A2B9968BFA9 for ; Mon, 5 Jun 2023 10:30:19 +0300 (EEST) Received: by mail-yw1-f179.google.com with SMTP id 00721157ae682-568928af8f5so67497067b3.1 for ; Mon, 05 Jun 2023 00:30:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=visionlabs-ai.20221208.gappssmtp.com; s=20221208; t=1685950218; x=1688542218; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=U5PR2PKcYQ++BZD+dvGiP9wh5Iu6rewOVVQXq37+kLU=; b=CG9DC/lR/346xcVyOYxAU5qBL8sk8oaXK7GrOiZqKtmCxuyvbxu9hWm5jvqQk927oW 1sWUYbOubQMVqcLC1eRcFkf/ZwgkydhWecCw48VT3UERol07R2V5dQMAjUL7o25QfyxL pYFZ8AQkw0m1QGK6QfDuiW9hKBiCD1zBiTPUGv8rizm+pCugXXVU9/UyJnmFXK7+r6uo zIiaQpQD8DFmn9Y9WQB+Hr6FUzrYSNZqmAlpeJKE3dt3aBimjjp1B+MQ8+70XImgCO3b IKqKopWTD7XVTdoChVLP26JJm0SrHxu6QNet1rKpESKjW5eIzbn6TrKDVa9BFsxUEffF 8qMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685950218; x=1688542218; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=U5PR2PKcYQ++BZD+dvGiP9wh5Iu6rewOVVQXq37+kLU=; b=lOHMVZUNhkWI8sqZ4bAhZhmed6PhmTFrMmivi7G13QhHaMRqOSJjpqTiUrRW4fbnRz PIpFv3I99Xpf1TuLpxOxNJ1QdNr/x1PHdX3VCgvlhl0Z4v7wUe+p2Hc+qCPFrPf6smO1 iSXrEtbSkDW841JIZMT1h4Sc08iqAckojbwqkHaq9ZBGub371Phmx/RwQ98xzP0Adk20 Nikmmvuplw74W3rFv9n31cHyfk1aIj2+EJNWGms6Wj7prtryi4MJZlzzAMZzTCzVnG+8 IfnOer7nex6xuCvixEZR+A1HGvnSU01Bhp+s28SXuSdpTv7XjLVftytvSNUy7TUuz994 8tZw== X-Gm-Message-State: AC+VfDzrthiC6v8f06cAcQH1ycAC5PR21EhqA1pkzqCFNmdbYU4K0tsF 53mzQ/rGVDODYsgmFzXFXRWAwnpkd6/fNEBz1fBfhRFQ4j1A2Hhg X-Google-Smtp-Source: ACHHUZ4wsakunzdkcw8s6/EiGbWk39+T81OZ4rOJ7bSy7d/fuIEJ/h2M49bEU6FLuWtZJxHd17diM2aYY+/QZ8xqtWE= X-Received: by 2002:a0d:cbd4:0:b0:565:232a:36a3 with SMTP id n203-20020a0dcbd4000000b00565232a36a3mr6932003ywd.17.1685950218248; Mon, 05 Jun 2023 00:30:18 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Roman Arzumanyan Date: Mon, 5 Jun 2023 10:30:07 +0300 Message-ID: To: ffmpeg-devel@ffmpeg.org Content-Type: multipart/mixed; boundary="000000000000de4dfa05fd5cdff4" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: [FFmpeg-devel] [PATCH] avcodec/cuviddec: update amount of decoder surfaces from within sequence decode callback 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: --000000000000de4dfa05fd5cdff4 Content-Type: text/plain; charset="UTF-8" Hello, This patch reduces vRAM usage by cuvid decoder implementation. The number of surfaces used for decoding is updated within the parser sequence decode callback. Also the "surfaces" AVDictionary option specific to cuvid was removed in favor of "extra_hw_surfaces". vRAM consumption was tested on various videos and savings are between 1% for 360p resolution up to 21% for some 1080p H.264 videos. Decoding performance was tested on various H.264 and H.265 videos in different resolutions from 360p and higher, no performance penalty was found. --000000000000de4dfa05fd5cdff4 Content-Type: application/x-patch; name="0001-libavcodec-cuviddec-determine-DPB-size-from-within-c.patch" Content-Disposition: attachment; filename="0001-libavcodec-cuviddec-determine-DPB-size-from-within-c.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_liiivk9q0 RnJvbSAzMmExYjAxNmU4OGZhNDBiOTgzMzE4ZDQ1ODM3NTBlZjI1MGE3OGQ5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSb21hbiBBcnp1bWFueWFuIDxyLmFyenVtYW55YW5AdmlzaW9u bGFicy5haT4KRGF0ZTogVGh1LCAxIEp1biAyMDIzIDExOjE3OjM5ICswMzAwClN1YmplY3Q6IFtQ QVRDSF0gbGliYXZjb2RlYy9jdXZpZGRlYzogZGV0ZXJtaW5lIERQQiBzaXplIGZyb20gd2l0aGlu IGN1dmlkCiBwYXJzZXIKCi0tLQogbGliYXZjb2RlYy9jdXZpZGRlYy5jIHwgMjkgKysrKysrKysr KysrKysrKysrKysrKysrKysrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyNyBpbnNlcnRpb25zKCspLCAy IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvY3V2aWRkZWMuYyBiL2xpYmF2 Y29kZWMvY3V2aWRkZWMuYwppbmRleCAzZDQzYmJkNDY2Li43NTllZDQ5ODcwIDEwMDY0NAotLS0g YS9saWJhdmNvZGVjL2N1dmlkZGVjLmMKKysrIGIvbGliYXZjb2RlYy9jdXZpZGRlYy5jCkBAIC0x MTUsNiArMTE1LDEyIEBAIHR5cGVkZWYgc3RydWN0IEN1dmlkUGFyc2VkRnJhbWUKIAogI2RlZmlu ZSBDSEVDS19DVSh4KSBGRl9DVURBX0NIRUNLX0RMKGF2Y3R4LCBjdHgtPmN1ZGwsIHgpCiAKKy8v IE5WIHJlY29tbWVuZHMgWzI7NF0gcmFuZ2UKKyNkZWZpbmUgQ1VWSURfTUFYX0RJU1BMQVlfREVM QVkgKDQpCisKKy8vIEFjdHVhbCBEUEIgc2l6ZSB3aWxsIGJlIGRldGVybWluZWQgYnkgcGFyc2Vy LgorI2RlZmluZSBDVVZJRF9ERUZBVUxUX05VTV9TVVJGQUNFUyAoQ1VWSURfTUFYX0RJU1BMQVlf REVMQVkgKyAxKQorCiBzdGF0aWMgaW50IENVREFBUEkgY3V2aWRfaGFuZGxlX3ZpZGVvX3NlcXVl bmNlKHZvaWQgKm9wYXF1ZSwgQ1VWSURFT0ZPUk1BVCogZm9ybWF0KQogewogICAgIEFWQ29kZWND b250ZXh0ICphdmN0eCA9IG9wYXF1ZTsKQEAgLTMwOSw2ICszMTUsMjUgQEAgc3RhdGljIGludCBD VURBQVBJIGN1dmlkX2hhbmRsZV92aWRlb19zZXF1ZW5jZSh2b2lkICpvcGFxdWUsIENVVklERU9G T1JNQVQqIGZvcm0KICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogCisgICAgaWYgKGN0eC0+bmJf c3VyZmFjZXMgPCBmb3JtYXQtPm1pbl9udW1fZGVjb2RlX3N1cmZhY2VzICsgMykKKyAgICAgICAg Y3R4LT5uYl9zdXJmYWNlcyA9IGZvcm1hdC0+bWluX251bV9kZWNvZGVfc3VyZmFjZXMgKyAzOwor CisgICAgaWYgKGF2Y3R4LT5leHRyYV9od19mcmFtZXMgPiAwKQorICAgICAgICBjdHgtPm5iX3N1 cmZhY2VzICs9IGF2Y3R4LT5leHRyYV9od19mcmFtZXM7CisKKyAgICBpZiAoMCA+IGF2X2ZpZm9f cmVhbGxvYzIoY3R4LT5mcmFtZV9xdWV1ZSwgY3R4LT5uYl9zdXJmYWNlcyAqIHNpemVvZihDdXZp ZFBhcnNlZEZyYW1lKSkpIHsKKyAgICAgICAgYXZfbG9nKGF2Y3R4LCBBVl9MT0dfRVJST1IsICJG YWlsZWQgdG8gcmVjcmVhdGUgZnJhbWUgcXVldWUgb24gdmlkZW8gc2VxdWVuY2UgY2FsbGJhY2tc biIpOworICAgICAgICBjdHgtPmludGVybmFsX2Vycm9yID0gQVZFUlJPUihFSU5WQUwpOworICAg ICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICBjdHgtPmtleV9mcmFtZSA9IGF2X3JlYWxsb2Nf YXJyYXkoY3R4LT5rZXlfZnJhbWUsIGN0eC0+bmJfc3VyZmFjZXMsIHNpemVvZihpbnQpKTsKKyAg ICBpZiAoIWN0eC0+a2V5X2ZyYW1lKSB7CisgICAgICAgIGF2X2xvZyhhdmN0eCwgQVZfTE9HX0VS Uk9SLCAiRmFpbGVkIHRvIHJlY3JlYXRlIGtleSBmcmFtZSBxdWV1ZSBvbiB2aWRlbyBzZXF1ZW5j ZSBjYWxsYmFja1xuIik7CisgICAgICAgIGN0eC0+aW50ZXJuYWxfZXJyb3IgPSBBVkVSUk9SKEVJ TlZBTCk7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKwogICAgIGN1aW5mby51bE51bURlY29k ZVN1cmZhY2VzID0gY3R4LT5uYl9zdXJmYWNlczsKICAgICBjdWluZm8udWxOdW1PdXRwdXRTdXJm YWNlcyA9IDE7CiAgICAgY3VpbmZvLnVsQ3JlYXRpb25GbGFncyA9IGN1ZGFWaWRlb0NyZWF0ZV9Q cmVmZXJDVVZJRDsKQEAgLTg0Niw2ICs4NzEsNyBAQCBzdGF0aWMgYXZfY29sZCBpbnQgY3V2aWRf ZGVjb2RlX2luaXQoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQogICAgICAgICBnb3RvIGVycm9yOwog ICAgIH0KIAorICAgIGN0eC0+bmJfc3VyZmFjZXMgPSBDVVZJRF9ERUZBVUxUX05VTV9TVVJGQUNF UzsKICAgICBjdHgtPmZyYW1lX3F1ZXVlID0gYXZfZmlmb19hbGxvYzIoY3R4LT5uYl9zdXJmYWNl cywgc2l6ZW9mKEN1dmlkUGFyc2VkRnJhbWUpLCAwKTsKICAgICBpZiAoIWN0eC0+ZnJhbWVfcXVl dWUpIHsKICAgICAgICAgcmV0ID0gQVZFUlJPUihFTk9NRU0pOwpAQCAtOTkzLDcgKzEwMTksNyBA QCBzdGF0aWMgYXZfY29sZCBpbnQgY3V2aWRfZGVjb2RlX2luaXQoQVZDb2RlY0NvbnRleHQgKmF2 Y3R4KQogICAgIH0KIAogICAgIGN0eC0+Y3VwYXJzZWluZm8udWxNYXhOdW1EZWNvZGVTdXJmYWNl cyA9IGN0eC0+bmJfc3VyZmFjZXM7Ci0gICAgY3R4LT5jdXBhcnNlaW5mby51bE1heERpc3BsYXlE ZWxheSA9IChhdmN0eC0+ZmxhZ3MgJiBBVl9DT0RFQ19GTEFHX0xPV19ERUxBWSkgPyAwIDogNDsK KyAgICBjdHgtPmN1cGFyc2VpbmZvLnVsTWF4RGlzcGxheURlbGF5ID0gKGF2Y3R4LT5mbGFncyAm IEFWX0NPREVDX0ZMQUdfTE9XX0RFTEFZKSA/IDAgOiBDVVZJRF9NQVhfRElTUExBWV9ERUxBWTsK ICAgICBjdHgtPmN1cGFyc2VpbmZvLnBVc2VyRGF0YSA9IGF2Y3R4OwogICAgIGN0eC0+Y3VwYXJz ZWluZm8ucGZuU2VxdWVuY2VDYWxsYmFjayA9IGN1dmlkX2hhbmRsZV92aWRlb19zZXF1ZW5jZTsK ICAgICBjdHgtPmN1cGFyc2VpbmZvLnBmbkRlY29kZVBpY3R1cmUgPSBjdXZpZF9oYW5kbGVfcGlj dHVyZV9kZWNvZGU7CkBAIC0xMDk3LDcgKzExMjMsNiBAQCBzdGF0aWMgY29uc3QgQVZPcHRpb24g b3B0aW9uc1tdID0gewogICAgIHsgImJvYiIsICAgICAgIkJvYiBkZWludGVybGFjaW5nIiwgICAg ICAgICAgICAgICAgICAgICAgIDAsIEFWX09QVF9UWVBFX0NPTlNULCB7IC5pNjQgPSBjdWRhVmlk ZW9EZWludGVybGFjZU1vZGVfQm9iICAgICAgfSwgMCwgMCwgVkQsICJkZWludCIgfSwKICAgICB7 ICJhZGFwdGl2ZSIsICJBZGFwdGl2ZSBkZWludGVybGFjaW5nIiwgICAgICAgICAgICAgICAgICAw LCBBVl9PUFRfVFlQRV9DT05TVCwgeyAuaTY0ID0gY3VkYVZpZGVvRGVpbnRlcmxhY2VNb2RlX0Fk YXB0aXZlIH0sIDAsIDAsIFZELCAiZGVpbnQiIH0sCiAgICAgeyAiZ3B1IiwgICAgICAiR1BVIHRv IGJlIHVzZWQgZm9yIGRlY29kaW5nIiwgT0ZGU0VUKGN1X2dwdSksIEFWX09QVF9UWVBFX1NUUklO RywgeyAuc3RyID0gTlVMTCB9LCAwLCAwLCBWRCB9LAotICAgIHsgInN1cmZhY2VzIiwgIk1heGlt dW0gc3VyZmFjZXMgdG8gYmUgdXNlZCBmb3IgZGVjb2RpbmciLCBPRkZTRVQobmJfc3VyZmFjZXMp LCBBVl9PUFRfVFlQRV9JTlQsIHsgLmk2NCA9IDI1IH0sIDAsIElOVF9NQVgsIFZEIH0sCiAgICAg eyAiZHJvcF9zZWNvbmRfZmllbGQiLCAiRHJvcCBzZWNvbmQgZmllbGQgd2hlbiBkZWludGVybGFj aW5nIiwgT0ZGU0VUKGRyb3Bfc2Vjb25kX2ZpZWxkKSwgQVZfT1BUX1RZUEVfQk9PTCwgeyAuaTY0 ID0gMCB9LCAwLCAxLCBWRCB9LAogICAgIHsgImNyb3AiLCAgICAgIkNyb3AgKHRvcCl4KGJvdHRv bSl4KGxlZnQpeChyaWdodCkiLCBPRkZTRVQoY3JvcF9leHByKSwgQVZfT1BUX1RZUEVfU1RSSU5H LCB7IC5zdHIgPSBOVUxMIH0sIDAsIDAsIFZEIH0sCiAgICAgeyAicmVzaXplIiwgICAiUmVzaXpl ICh3aWR0aCl4KGhlaWdodCkiLCBPRkZTRVQocmVzaXplX2V4cHIpLCBBVl9PUFRfVFlQRV9TVFJJ TkcsIHsgLnN0ciA9IE5VTEwgfSwgMCwgMCwgVkQgfSwKLS0gCjIuMzQuMQoK --000000000000de4dfa05fd5cdff4 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ 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". --000000000000de4dfa05fd5cdff4--