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 3BBAD49A5C for ; Wed, 27 Mar 2024 22:39:26 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7A60C68D64C; Thu, 28 Mar 2024 00:39:23 +0200 (EET) Received: from mail-lj1-f169.google.com (mail-lj1-f169.google.com [209.85.208.169]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 86F9968D3EB for ; Thu, 28 Mar 2024 00:39:17 +0200 (EET) Received: by mail-lj1-f169.google.com with SMTP id 38308e7fff4ca-2d23114b19dso3908721fa.3 for ; Wed, 27 Mar 2024 15:39:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1711579156; x=1712183956; darn=ffmpeg.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=/zXpDrgSQXLpf0rK7F/Enfak4nhwu80rlFzukjM5TVw=; b=CErewwipUA3sd9NLstGUAYgB8sUw3w8FqAbSn69YHjbU14JMmYtUgajN57kDqtYJve Gnhx9wnKzPcm01mHNXfYlD8i/C3TzLlDuaHvHNBrvzxBw0g9QlnF4PXCGDXSdtEKOg0S uVCLn3qrZ7EWdOdzmzNnDkT2sSQNdWtHOe9X1ZNRf0T+XI/BwsgOAA6eUerziAvcZjdR Vh5cycLFK/GEsOLafOOM0awPI7u1ux2824ROlf2IKOuPTUFc+X0JB4UO9bWsj261zGIl fEGGO7fe/rVTWzlS+kI36wwUkNTf9qxV9/5AnzMLR43fJUrdGjCJh5iK9jxiMH5PQt1u +1Xw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711579156; x=1712183956; h=cc: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=/zXpDrgSQXLpf0rK7F/Enfak4nhwu80rlFzukjM5TVw=; b=NRq0ogM2G8Oe9dD0ZGuK2CXoLlasU2O/hiJ6GZK5/28DNmBUAVphuL1H4mBInodqww Ry+bllXozt5G276/kDnjDThEOttw/jSHjOCrDZVnzm1C8WOQ816FOyEZi+CeJUtmx0of mBTwhFbWNdvqtWP+IKBdwoHVjsacFBL+Tj/aNZPxTH64AkaQmduWIktc2f53flFpDclz CmxLrTkcoPMv4xKZ8k9mzR0OGQ4D1VRYoLF40/x0kWWN+RNaS+WEDX8luWDCFB6kynna U/rwkH3Y9SS3as8iBBZYXbvqmJ5jFcm8huressqV0d0/zWV/UNu0baUcU2fs6XDzgRSA eh6g== X-Gm-Message-State: AOJu0Yw6XEgTmpR4lH7cka7BeQk1AVGoGzCWzC3vfeygjPiTcBQDDb+1 TSfWHcIvL5FBkg0rwvnldmhI8hkTYUVhfUGOPWZsCaa4yZlHqd7sbFInjURiRxMLeGipEkp4fjx taEXKaUYW63ii1XNjc1Mu0SjNJvcoaRk= X-Google-Smtp-Source: AGHT+IHtSt+VGZz58jO7q0F60U/c21F83iW6HvjtcMpzvE4BHp1NdXxml+DLmKW+oK1sRVKyCh5pbDnmnEWXxyHxE5o= X-Received: by 2002:a2e:b052:0:b0:2d6:e3b1:ea35 with SMTP id d18-20020a2eb052000000b002d6e3b1ea35mr498673ljl.40.1711579156135; Wed, 27 Mar 2024 15:39:16 -0700 (PDT) MIME-Version: 1.0 References: <4401208C-BB2A-4DA4-A2FD-1CB92DAF2FE9@gmail.com> <9D07803F-F9FC-4B97-934B-521E6680F0D4@gmail.com> <2860DBAC-6B04-468C-AD2E-24C31C64E2AC@gmail.com> In-Reply-To: <2860DBAC-6B04-468C-AD2E-24C31C64E2AC@gmail.com> From: =?UTF-8?B?WWnEn2l0aGFuIFlpxJ9pdA==?= Date: Thu, 28 Mar 2024 01:39:04 +0300 Message-ID: To: FFmpeg development discussions and patches Content-Type: multipart/mixed; boundary="0000000000009b8bf30614ac13ab" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH] avfilter/af_volumedetect.c: Add 32bit float audio support 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: Thilo Borgmann Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: --0000000000009b8bf30614ac13ab Content-Type: text/plain; charset="UTF-8" According to Paul's private remarks I made this last patch. I would greatly appreciate it if anyone could take the time to review these changes. --0000000000009b8bf30614ac13ab Content-Type: application/x-patch; name="v7-0001-avfilter-af_volumedetect.c-Add-32bit-float-audio-sup.patch" Content-Disposition: attachment; filename="v7-0001-avfilter-af_volumedetect.c-Add-32bit-float-audio-sup.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_luadtl5m0 RnJvbSA5ZDllYmNkZTc2MWNlODNjODJjNDBmNzUzN2U3NjQ0ZjBjOGQ3NTNiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiB5aWdpdGhhbnlpZ2l0IDx5aWdpdGhhbnlpZ2l0QGdtYWlsLmNv bT4KRGF0ZTogVHVlLCAxMiBNYXIgMjAyNCAwMToyNzo1OSArMDMwMApTdWJqZWN0OiBbUEFUQ0hd IGF2ZmlsdGVyL2FmX3ZvbHVtZWRldGVjdC5jOiBBZGQgMzJiaXQgZmxvYXQgYXVkaW8gc3VwcG9y dAoKRml4ZXMgIzk2MTMKLS0tCiBsaWJhdmZpbHRlci9hZl92b2x1bWVkZXRlY3QuYyB8IDIyOCAr KysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTY2IGlu c2VydGlvbnMoKyksIDYyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL2Fm X3ZvbHVtZWRldGVjdC5jIGIvbGliYXZmaWx0ZXIvYWZfdm9sdW1lZGV0ZWN0LmMKaW5kZXggOGIw MDFkMWNmMi4uMjcyYmEyODdlYyAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvYWZfdm9sdW1lZGV0 ZWN0LmMKKysrIGIvbGliYXZmaWx0ZXIvYWZfdm9sdW1lZGV0ZWN0LmMKQEAgLTI0LDk0ICsyNCwx ODcgQEAKICNpbmNsdWRlICJhdmZpbHRlci5oIgogI2luY2x1ZGUgImludGVybmFsLmgiCiAKKyNk ZWZpbmUgTk9JU0VfRkxPT1JfREJfRkxUIC03NTgKKyNkZWZpbmUgTUFYX0RCX0ZMVCA3NzAKKyNk ZWZpbmUgTUFYX0RCIDkxCisjZGVmaW5lIEhJU1RPR1JBTV9TSVpFIDB4MTAwMDAKKwogdHlwZWRl ZiBzdHJ1Y3QgVm9sRGV0ZWN0Q29udGV4dCB7Ci0gICAgLyoqCi0gICAgICogTnVtYmVyIG9mIHNh bXBsZXMgYXQgZWFjaCBQQ00gdmFsdWUuCi0gICAgICogaGlzdG9ncmFtWzB4ODAwMCArIGldIGlz IHRoZSBudW1iZXIgb2Ygc2FtcGxlcyBhdCB2YWx1ZSBpLgotICAgICAqIFRoZSBleHRyYSBlbGVt ZW50IGlzIHRoZXJlIGZvciBzeW1tZXRyeS4KLSAgICAgKi8KLSAgICB1aW50NjRfdCBoaXN0b2dy YW1bMHgxMDAwMV07CisgICAgdWludDY0X3QqIGhpc3RvZ3JhbTsgLy8vPCBmb3IgaW50ZWdlciBu dW1iZXIgb2Ygc2FtcGxlcyBhdCBlYWNoIFBDTSB2YWx1ZSwgZm9yIGZsb2F0IG51bWJlciBvZiBz YW1wbGVzIGF0IGVhY2ggZEIKKyAgICB1aW50NjRfdCBuYl9zYW1wbGVzOyAvLy88IG51bWJlciBv ZiBzYW1wbGVzCisgICAgZG91YmxlIHN1bTI7ICAgICAgICAgLy8vPCBzdW0gb2YgdGhlIHNxdWFy ZXMgb2YgdGhlIHNhbXBsZXMKKyAgICBkb3VibGUgbWF4OyAgICAgICAgICAvLy88IG1heGltdW0g c2FtcGxlIHZhbHVlCisgICAgaW50IGlzX2Zsb2F0OyAgICAgICAgLy8vPCB0cnVlIGlmIHRoZSBp bnB1dCBpcyBpbiBmbG9hdGluZyBwb2ludAogfSBWb2xEZXRlY3RDb250ZXh0OwogCitzdGF0aWMg aW5saW5lIGRvdWJsZSBsb2dkYihkb3VibGUgdiwgZW51bSBBVlNhbXBsZUZvcm1hdCBzYW1wbGVf Zm10KQoreworICAgIGlmIChzYW1wbGVfZm10ID09IEFWX1NBTVBMRV9GTVRfRkxUKSB7CisgICAg ICAgIGlmICghdikKKyAgICAgICAgICAgIHJldHVybiBNQVhfREJfRkxUOworICAgICAgICByZXR1 cm4gMTAuMCAqIGxvZzEwKHYgKiB2KTsKKyAgICB9IGVsc2UgeworICAgICAgICBkb3VibGUgZCA9 IHYgLyAoZG91YmxlKSgweDgwMDAgKiAweDgwMDApOworICAgICAgICBpZiAoIXYpCisgICAgICAg ICAgICByZXR1cm4gTUFYX0RCOworICAgICAgICByZXR1cm4gLWxvZzEwKGQpICogMTA7CisgICAg fQorfQorCitzdGF0aWMgdm9pZCB1cGRhdGVfZmxvYXRfc3RhdHMoVm9sRGV0ZWN0Q29udGV4dCAq dmQsIGZsb2F0ICphdWRpb19kYXRhKQoreworICAgIGRvdWJsZSBtYXhfc2FtcGxlOworICAgIGlm KCFpc25vcm1hbCgqYXVkaW9fZGF0YSkpCisgICAgICAgIHJldHVybjsKKyAgICBtYXhfc2FtcGxl ID0gZmFic2YoKmF1ZGlvX2RhdGEpOworICAgIGlmIChtYXhfc2FtcGxlID4gdmQtPm1heCkKKyAg ICAgICAgdmQtPm1heCA9IG1heF9zYW1wbGU7CisgICAgdmQtPnN1bTIgKz0gKmF1ZGlvX2RhdGEg KiAqYXVkaW9fZGF0YTsKKyAgICB2ZC0+aGlzdG9ncmFtWyhpbnQpbG9nZGIoKmF1ZGlvX2RhdGEs IEFWX1NBTVBMRV9GTVRfRkxUKSArIE1BWF9EQl9GTFRdKys7CisgICAgdmQtPm5iX3NhbXBsZXMr KzsKK30KKwogc3RhdGljIGludCBmaWx0ZXJfZnJhbWUoQVZGaWx0ZXJMaW5rICppbmxpbmssIEFW RnJhbWUgKnNhbXBsZXMpCiB7CiAgICAgQVZGaWx0ZXJDb250ZXh0ICpjdHggPSBpbmxpbmstPmRz dDsKICAgICBWb2xEZXRlY3RDb250ZXh0ICp2ZCA9IGN0eC0+cHJpdjsKLSAgICBpbnQgbmJfc2Ft cGxlcyAgPSBzYW1wbGVzLT5uYl9zYW1wbGVzOwogICAgIGludCBuYl9jaGFubmVscyA9IHNhbXBs ZXMtPmNoX2xheW91dC5uYl9jaGFubmVsczsKICAgICBpbnQgbmJfcGxhbmVzICAgPSBuYl9jaGFu bmVsczsKKyAgICBpbnQgbmJfc2FtcGxlcyAgPSBzYW1wbGVzLT5uYl9zYW1wbGVzOwogICAgIGlu dCBwbGFuZSwgaTsKLSAgICBpbnQxNl90ICpwY207CisgICAgaW50IHBsYW5hciA9IDA7CiAKLSAg ICBpZiAoIWF2X3NhbXBsZV9mbXRfaXNfcGxhbmFyKHNhbXBsZXMtPmZvcm1hdCkpIHsKLSAgICAg ICAgbmJfc2FtcGxlcyAqPSBuYl9jaGFubmVsczsKKyAgICBwbGFuYXIgPSBhdl9zYW1wbGVfZm10 X2lzX3BsYW5hcihzYW1wbGVzLT5mb3JtYXQpOworICAgIGlmICghcGxhbmFyKQogICAgICAgICBu Yl9wbGFuZXMgPSAxOworICAgIGlmICh2ZC0+aXNfZmxvYXQpIHsKKyAgICAgICAgZmxvYXQgKmF1 ZGlvX2RhdGE7CisgICAgICAgIGZvciAocGxhbmUgPSAwOyBwbGFuZSA8IG5iX3BsYW5lczsgcGxh bmUrKykgeworICAgICAgICAgICAgYXVkaW9fZGF0YSA9IChmbG9hdCAqKXNhbXBsZXMtPmV4dGVu ZGVkX2RhdGFbcGxhbmVdOworICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IG5iX3NhbXBsZXM7 IGkrKykgeworICAgICAgICAgICAgICAgIGlmIChwbGFuYXIpCisgICAgICAgICAgICAgICAgICAg IHVwZGF0ZV9mbG9hdF9zdGF0cyh2ZCwgJmF1ZGlvX2RhdGFbaV0pOworICAgICAgICAgICAgICAg IGVsc2UKKyAgICAgICAgICAgICAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBuYl9jaGFubmVs czsgaisrKQorICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlX2Zsb2F0X3N0YXRzKHZkLCAm YXVkaW9fZGF0YVtpICogbmJfY2hhbm5lbHMgKyBqXSk7CisgICAgICAgICAgICB9CisgICAgICAg IH0KKyAgICB9IGVsc2UgeworICAgICAgICBpbnQxNl90ICpwY207CisgICAgICAgIGZvciAocGxh bmUgPSAwOyBwbGFuZSA8IG5iX3BsYW5lczsgcGxhbmUrKykgeworICAgICAgICAgICAgcGNtID0g KGludDE2X3QgKilzYW1wbGVzLT5leHRlbmRlZF9kYXRhW3BsYW5lXTsKKyAgICAgICAgICAgIGZv ciAoaSA9IDA7IGkgPCBuYl9zYW1wbGVzOyBpKyspIHsKKyAgICAgICAgICAgICAgICBpZiAocGxh bmFyKSB7CisgICAgICAgICAgICAgICAgICAgIHZkLT5oaXN0b2dyYW1bcGNtW2ldICsgMHg4MDAw XSsrOworICAgICAgICAgICAgICAgICAgICB2ZC0+bmJfc2FtcGxlcysrOworICAgICAgICAgICAg ICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgbmJf Y2hhbm5lbHM7IGorKykgeworICAgICAgICAgICAgICAgICAgICAgICAgdmQtPmhpc3RvZ3JhbVtw Y21baSAqIG5iX2NoYW5uZWxzICsgal0gKyAweDgwMDBdKys7CisgICAgICAgICAgICAgICAgICAg ICAgICB2ZC0+bmJfc2FtcGxlcysrOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAg ICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CiAgICAgfQotICAgIGZvciAocGxhbmUg PSAwOyBwbGFuZSA8IG5iX3BsYW5lczsgcGxhbmUrKykgewotICAgICAgICBwY20gPSAoaW50MTZf dCAqKXNhbXBsZXMtPmV4dGVuZGVkX2RhdGFbcGxhbmVdOwotICAgICAgICBmb3IgKGkgPSAwOyBp IDwgbmJfc2FtcGxlczsgaSsrKQotICAgICAgICAgICAgdmQtPmhpc3RvZ3JhbVtwY21baV0gKyAw eDgwMDBdKys7Ci0gICAgfQotCiAgICAgcmV0dXJuIGZmX2ZpbHRlcl9mcmFtZShpbmxpbmstPmRz dC0+b3V0cHV0c1swXSwgc2FtcGxlcyk7CiB9CiAKLSNkZWZpbmUgTUFYX0RCIDkxCi0KLXN0YXRp YyBpbmxpbmUgZG91YmxlIGxvZ2RiKHVpbnQ2NF90IHYpCitzdGF0aWMgdm9pZCBwcmludF9zdGF0 cyhBVkZpbHRlckNvbnRleHQgKmN0eCkKIHsKLSAgICBkb3VibGUgZCA9IHYgLyAoZG91YmxlKSgw eDgwMDAgKiAweDgwMDApOwotICAgIGlmICghdikKLSAgICAgICAgcmV0dXJuIE1BWF9EQjsKLSAg ICByZXR1cm4gLWxvZzEwKGQpICogMTA7CisgICAgVm9sRGV0ZWN0Q29udGV4dCAqdmQgPSBjdHgt PnByaXY7CisKKyAgICBpZiAoIXZkLT5uYl9zYW1wbGVzKQorICAgICAgICByZXR1cm47CisgICAg aWYgKHZkLT5pc19mbG9hdCkgeworICAgICAgICBpbnQgaSwgc3VtID0gMDsKKyAgICAgICAgZG91 YmxlIHJtczsKKyAgICAgICAgYXZfbG9nKGN0eCwgQVZfTE9HX0lORk8sICJuX3NhbXBsZXM6ICUi IFBSSWQ2NCAiXG4iLCB2ZC0+bmJfc2FtcGxlcyk7CisgICAgICAgIHJtcyA9IHNxcnQodmQtPnN1 bTIgLyB2ZC0+bmJfc2FtcGxlcyk7CisgICAgICAgIGF2X2xvZyhjdHgsIEFWX0xPR19JTkZPLCAi bWVhbl92b2x1bWU6ICUuMWYgZEJcbiIsIGxvZ2RiKHJtcywgQVZfU0FNUExFX0ZNVF9GTFQpKTsK KyAgICAgICAgYXZfbG9nKGN0eCwgQVZfTE9HX0lORk8sICJtYXhfdm9sdW1lOiAlLjFmIGRCXG4i LCBsb2dkYih2ZC0+bWF4LCBBVl9TQU1QTEVfRk1UX0ZMVCkpOworICAgICAgICBmb3IgKGkgPSBN QVhfREJfRkxUIC0gTk9JU0VfRkxPT1JfREJfRkxUOyBpID49IDAgJiYgIXZkLT5oaXN0b2dyYW1b aV07IGktLSk7CisgICAgICAgIGZvciAoOyBpID49IDAgJiYgc3VtIDwgdmQtPm5iX3NhbXBsZXMg LyAxMDAwOyBpLS0pIHsKKyAgICAgICAgICAgIGlmICghdmQtPmhpc3RvZ3JhbVtpXSkKKyAgICAg ICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIGF2X2xvZyhjdHgsIEFWX0xPR19JTkZP LCAiaGlzdG9ncmFtXyVkZGI6ICUiIFBSSWQ2NCAiXG4iLCAtKE1BWF9EQl9GTFQgLSBpKSwgdmQt Pmhpc3RvZ3JhbVtpXSk7CisgICAgICAgICAgICBzdW0gKz0gdmQtPmhpc3RvZ3JhbVtpXTsKKyAg ICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICAgIGludCBpLCBtYXhfdm9sdW1lLCBzaGlmdDsK KyAgICAgICAgdWludDY0X3QgbmJfc2FtcGxlcyA9IDAsIHBvd2VyID0gMCwgbmJfc2FtcGxlc19z aGlmdCA9IDAsIHN1bSA9IDA7CisgICAgICAgIHVpbnQ2NF90IGhpc3RkYltNQVhfREIgKyAxXSA9 IHswfTsKKyAgICAgICAgZm9yIChpID0gMDsgaSA8IDB4MTAwMDA7IGkrKykKKyAgICAgICAgICAg IG5iX3NhbXBsZXMgKz0gdmQtPmhpc3RvZ3JhbVtpXTsKKyAgICAgICAgYXZfbG9nKGN0eCwgQVZf TE9HX0lORk8sICJuX3NhbXBsZXM6ICUiIFBSSWQ2NCAiXG4iLCBuYl9zYW1wbGVzKTsKKyAgICAg ICAgLyoKKyAgICAgICAgICAgICogSWYgbmJfc2FtcGxlcyA+IDE8PDM0LCB0aGVyZSBpcyBhIHJp c2sgb2Ygb3ZlcmZsb3cgaW4gdGhlCisgICAgICAgICAgICAqIG11bHRpcGxpY2F0aW9uIG9yIHRo ZSBzdW06IHNoaWZ0IGFsbCBoaXN0b2dyYW0gdmFsdWVzIHRvIGF2b2lkIHRoYXQuCisgICAgICAg ICAgICAqIFRoZSB0b3RhbCBudW1iZXIgb2Ygc2FtcGxlcyBtdXN0IGJlIHJlY29tcHV0ZWQgdG8g YXZvaWQgcm91bmRpbmcKKyAgICAgICAgICAgICogZXJyb3JzLgorICAgICAgICAqLworICAgICAg ICBzaGlmdCA9IGF2X2xvZzIobmJfc2FtcGxlcyA+PiAzMyk7CisgICAgICAgIGZvciAoaSA9IDA7 IGkgPCAweDEwMDAwOyBpKyspIHsKKyAgICAgICAgICAgIG5iX3NhbXBsZXNfc2hpZnQgKz0gdmQt Pmhpc3RvZ3JhbVtpXSA+PiBzaGlmdDsKKyAgICAgICAgICAgIHBvd2VyICs9IChpIC0gMHg4MDAw KSAqIChpIC0gMHg4MDAwKSAqICh2ZC0+aGlzdG9ncmFtW2ldID4+IHNoaWZ0KTsKKyAgICAgICAg fQorICAgICAgICBpZiAoIW5iX3NhbXBsZXNfc2hpZnQpCisgICAgICAgICAgICByZXR1cm47Cisg ICAgICAgIHBvd2VyID0gKHBvd2VyICsgbmJfc2FtcGxlc19zaGlmdCAvIDIpIC8gbmJfc2FtcGxl c19zaGlmdDsKKyAgICAgICAgYXZfYXNzZXJ0MChwb3dlciA8PSAweDgwMDAgKiAweDgwMDApOwor ICAgICAgICBhdl9sb2coY3R4LCBBVl9MT0dfSU5GTywgIm1lYW5fdm9sdW1lOiAlLjFmIGRCXG4i LCAtbG9nZGIoKGRvdWJsZSlwb3dlciwgQVZfU0FNUExFX0ZNVF9TMTYpKTsKKyAgICAgICAgbWF4 X3ZvbHVtZSA9IDB4ODAwMDsKKyAgICAgICAgd2hpbGUgKG1heF92b2x1bWUgPiAwICYmICF2ZC0+ aGlzdG9ncmFtWzB4ODAwMCArIG1heF92b2x1bWVdICYmCisgICAgICAgICAgICAgICAgIXZkLT5o aXN0b2dyYW1bMHg4MDAwIC0gbWF4X3ZvbHVtZV0pCisgICAgICAgICAgICBtYXhfdm9sdW1lLS07 CisgICAgICAgIGF2X2xvZyhjdHgsIEFWX0xPR19JTkZPLCAibWF4X3ZvbHVtZTogJS4xZiBkQlxu IiwgLWxvZ2RiKChkb3VibGUpKG1heF92b2x1bWUgKiBtYXhfdm9sdW1lKSwgQVZfU0FNUExFX0ZN VF9TMTYpKTsKKyAgICAgICAgZm9yIChpID0gMDsgaSA8IDB4MTAwMDA7IGkrKykKKyAgICAgICAg ICAgIGhpc3RkYlsoaW50KWxvZ2RiKChkb3VibGUpKGkgLSAweDgwMDApICogKGkgLSAweDgwMDAp LCBBVl9TQU1QTEVfRk1UX1MxNildICs9IHZkLT5oaXN0b2dyYW1baV07CisgICAgICAgIGZvciAo aSA9IDA7IGkgPD0gTUFYX0RCICYmICFoaXN0ZGJbaV07IGkrKyk7CisgICAgICAgIGZvciAoOyBp IDw9IE1BWF9EQiAmJiBzdW0gPCBuYl9zYW1wbGVzIC8gMTAwMDsgaSsrKSB7CisgICAgICAgICAg ICBhdl9sb2coY3R4LCBBVl9MT0dfSU5GTywgImhpc3RvZ3JhbV8lZGRiOiAlIiBQUklkNjQgIlxu IiwgLWksIGhpc3RkYltpXSk7CisgICAgICAgICAgICBzdW0gKz0gaGlzdGRiW2ldOworICAgICAg ICB9CisgICAgfQogfQogCi1zdGF0aWMgdm9pZCBwcmludF9zdGF0cyhBVkZpbHRlckNvbnRleHQg KmN0eCkKK3N0YXRpYyBpbnQgY29uZmlnX291dHB1dChBVkZpbHRlckxpbmsgKm91dGxpbmspCiB7 CisgICAgQVZGaWx0ZXJDb250ZXh0ICpjdHggPSBvdXRsaW5rLT5zcmM7CiAgICAgVm9sRGV0ZWN0 Q29udGV4dCAqdmQgPSBjdHgtPnByaXY7Ci0gICAgaW50IGksIG1heF92b2x1bWUsIHNoaWZ0Owot ICAgIHVpbnQ2NF90IG5iX3NhbXBsZXMgPSAwLCBwb3dlciA9IDAsIG5iX3NhbXBsZXNfc2hpZnQg PSAwLCBzdW0gPSAwOwotICAgIHVpbnQ2NF90IGhpc3RkYltNQVhfREIgKyAxXSA9IHsgMCB9Owot Ci0gICAgZm9yIChpID0gMDsgaSA8IDB4MTAwMDA7IGkrKykKLSAgICAgICAgbmJfc2FtcGxlcyAr PSB2ZC0+aGlzdG9ncmFtW2ldOwotICAgIGF2X2xvZyhjdHgsIEFWX0xPR19JTkZPLCAibl9zYW1w bGVzOiAlIlBSSWQ2NCJcbiIsIG5iX3NhbXBsZXMpOwotICAgIGlmICghbmJfc2FtcGxlcykKLSAg ICAgICAgcmV0dXJuOwogCi0gICAgLyogSWYgbmJfc2FtcGxlcyA+IDE8PDM0LCB0aGVyZSBpcyBh IHJpc2sgb2Ygb3ZlcmZsb3cgaW4gdGhlCi0gICAgICAgbXVsdGlwbGljYXRpb24gb3IgdGhlIHN1 bTogc2hpZnQgYWxsIGhpc3RvZ3JhbSB2YWx1ZXMgdG8gYXZvaWQgdGhhdC4KLSAgICAgICBUaGUg dG90YWwgbnVtYmVyIG9mIHNhbXBsZXMgbXVzdCBiZSByZWNvbXB1dGVkIHRvIGF2b2lkIHJvdW5k aW5nCi0gICAgICAgZXJyb3JzLiAqLwotICAgIHNoaWZ0ID0gYXZfbG9nMihuYl9zYW1wbGVzID4+ IDMzKTsKLSAgICBmb3IgKGkgPSAwOyBpIDwgMHgxMDAwMDsgaSsrKSB7Ci0gICAgICAgIG5iX3Nh bXBsZXNfc2hpZnQgKz0gdmQtPmhpc3RvZ3JhbVtpXSA+PiBzaGlmdDsKLSAgICAgICAgcG93ZXIg Kz0gKGkgLSAweDgwMDApICogKGkgLSAweDgwMDApICogKHZkLT5oaXN0b2dyYW1baV0gPj4gc2hp ZnQpOwotICAgIH0KLSAgICBpZiAoIW5iX3NhbXBsZXNfc2hpZnQpCi0gICAgICAgIHJldHVybjsK LSAgICBwb3dlciA9IChwb3dlciArIG5iX3NhbXBsZXNfc2hpZnQgLyAyKSAvIG5iX3NhbXBsZXNf c2hpZnQ7Ci0gICAgYXZfYXNzZXJ0MChwb3dlciA8PSAweDgwMDAgKiAweDgwMDApOwotICAgIGF2 X2xvZyhjdHgsIEFWX0xPR19JTkZPLCAibWVhbl92b2x1bWU6ICUuMWYgZEJcbiIsIC1sb2dkYihw b3dlcikpOwotCi0gICAgbWF4X3ZvbHVtZSA9IDB4ODAwMDsKLSAgICB3aGlsZSAobWF4X3ZvbHVt ZSA+IDAgJiYgIXZkLT5oaXN0b2dyYW1bMHg4MDAwICsgbWF4X3ZvbHVtZV0gJiYKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIXZkLT5oaXN0b2dyYW1bMHg4MDAwIC0gbWF4X3ZvbHVtZV0p Ci0gICAgICAgIG1heF92b2x1bWUtLTsKLSAgICBhdl9sb2coY3R4LCBBVl9MT0dfSU5GTywgIm1h eF92b2x1bWU6ICUuMWYgZEJcbiIsIC1sb2dkYihtYXhfdm9sdW1lICogbWF4X3ZvbHVtZSkpOwot Ci0gICAgZm9yIChpID0gMDsgaSA8IDB4MTAwMDA7IGkrKykKLSAgICAgICAgaGlzdGRiWyhpbnQp bG9nZGIoKGkgLSAweDgwMDApICogKGkgLSAweDgwMDApKV0gKz0gdmQtPmhpc3RvZ3JhbVtpXTsK LSAgICBmb3IgKGkgPSAwOyBpIDw9IE1BWF9EQiAmJiAhaGlzdGRiW2ldOyBpKyspOwotICAgIGZv ciAoOyBpIDw9IE1BWF9EQiAmJiBzdW0gPCBuYl9zYW1wbGVzIC8gMTAwMDsgaSsrKSB7Ci0gICAg ICAgIGF2X2xvZyhjdHgsIEFWX0xPR19JTkZPLCAiaGlzdG9ncmFtXyVkZGI6ICUiUFJJZDY0Ilxu IiwgaSwgaGlzdGRiW2ldKTsKLSAgICAgICAgc3VtICs9IGhpc3RkYltpXTsKKyAgICB2ZC0+aXNf ZmxvYXQgPSBvdXRsaW5rLT5mb3JtYXQgPT0gQVZfU0FNUExFX0ZNVF9GTFQgfHwKKyAgICAgICAg ICAgICAgICAgICBvdXRsaW5rLT5mb3JtYXQgPT0gQVZfU0FNUExFX0ZNVF9GTFRQOworCisgICAg aWYgKCF2ZC0+aXNfZmxvYXQpIHsKKyAgICAgICAgLyoKKyAgICAgICAgKiBOdW1iZXIgb2Ygc2Ft cGxlcyBhdCBlYWNoIFBDTSB2YWx1ZS4KKyAgICAgICAgKiBPbmx5IHVzZWQgZm9yIGludGVnZXIg Zm9ybWF0cy4KKyAgICAgICAgKiBGb3IgMTYgYml0IHNpZ25lZCBQQ00gdGhlcmUgYXJlIDY1NTM2 LgorICAgICAgICAqIGhpc3RvZ3JhbVsweDgwMDAgKyBpXSBpcyB0aGUgbnVtYmVyIG9mIHNhbXBs ZXMgYXQgdmFsdWUgaS4KKyAgICAgICAgKiBUaGUgZXh0cmEgZWxlbWVudCBpcyB0aGVyZSBmb3Ig c3ltbWV0cnkuCisgICAgICAgICovCisgICAgICAgIHZkLT5oaXN0b2dyYW0gPSBhdl9jYWxsb2Mo SElTVE9HUkFNX1NJWkUgKyAxLCBzaXplb2YodWludDY0X3QpKTsKKyAgICAgICAgaWYgKCF2ZC0+ aGlzdG9ncmFtKQorICAgICAgICAgICAgcmV0dXJuIEFWRVJST1IoRU5PTUVNKTsKKyAgICB9IGVs c2UgeworICAgICAgICAvKgorICAgICAgICAqIFRoZSBoaXN0b2dyYW0gaXMgdXNlZCB0byBzdG9y ZSB0aGUgbnVtYmVyIG9mIHNhbXBsZXMgYXQgZWFjaCBkQgorICAgICAgICAqIGluc3RlYWQgb2Yg dGhlIG51bWJlciBvZiBzYW1wbGVzIGF0IGVhY2ggUENNIHZhbHVlLgorICAgICAgICAqIFRoZSBy YW5nZSBvZiBkQiBpcyBmcm9tIC03NTggdG8gNzcwLgorICAgICAgICAqLworICAgICAgICB2ZC0+ aGlzdG9ncmFtID0gYXZfY2FsbG9jKE1BWF9EQl9GTFQgLSBOT0lTRV9GTE9PUl9EQl9GTFQgKyAx LCBzaXplb2YodWludDY0X3QpKTsKKyAgICAgICAgaWYgKCF2ZC0+aGlzdG9ncmFtKQorICAgICAg ICAgICAgcmV0dXJuIEFWRVJST1IoRU5PTUVNKTsKICAgICB9CisgICAgcmV0dXJuIDA7CiB9CiAK IHN0YXRpYyBhdl9jb2xkIHZvaWQgdW5pbml0KEFWRmlsdGVyQ29udGV4dCAqY3R4KQogeworICAg IFZvbERldGVjdENvbnRleHQgKnZkID0gY3R4LT5wcml2OwogICAgIHByaW50X3N0YXRzKGN0eCk7 CisgICAgaWYgKHZkLT5oaXN0b2dyYW0pCisgICAgICAgIGF2X2ZyZWVwKCZ2ZC0+aGlzdG9ncmFt KTsKIH0KIAogc3RhdGljIGNvbnN0IEFWRmlsdGVyUGFkIHZvbHVtZWRldGVjdF9pbnB1dHNbXSA9 IHsKQEAgLTEyMiw2ICsyMTUsMTQgQEAgc3RhdGljIGNvbnN0IEFWRmlsdGVyUGFkIHZvbHVtZWRl dGVjdF9pbnB1dHNbXSA9IHsKICAgICB9LAogfTsKIAorc3RhdGljIGNvbnN0IEFWRmlsdGVyUGFk IHZvbHVtZWRldGVjdF9vdXRwdXRzW10gPSB7CisgICAgeworICAgICAgICAubmFtZSAgICAgICAg ID0gImRlZmF1bHQiLAorICAgICAgICAudHlwZSAgICAgICAgID0gQVZNRURJQV9UWVBFX0FVRElP LAorICAgICAgICAuY29uZmlnX3Byb3BzID0gY29uZmlnX291dHB1dCwKKyAgICB9LAorfTsKKwog Y29uc3QgQVZGaWx0ZXIgZmZfYWZfdm9sdW1lZGV0ZWN0ID0gewogICAgIC5uYW1lICAgICAgICAg ID0gInZvbHVtZWRldGVjdCIsCiAgICAgLmRlc2NyaXB0aW9uICAgPSBOVUxMX0lGX0NPTkZJR19T TUFMTCgiRGV0ZWN0IGF1ZGlvIHZvbHVtZS4iKSwKQEAgLTEyOSw2ICsyMzAsOSBAQCBjb25zdCBB VkZpbHRlciBmZl9hZl92b2x1bWVkZXRlY3QgPSB7CiAgICAgLnVuaW5pdCAgICAgICAgPSB1bmlu aXQsCiAgICAgLmZsYWdzICAgICAgICAgPSBBVkZJTFRFUl9GTEFHX01FVEFEQVRBX09OTFksCiAg ICAgRklMVEVSX0lOUFVUUyh2b2x1bWVkZXRlY3RfaW5wdXRzKSwKLSAgICBGSUxURVJfT1VUUFVU UyhmZl9hdWRpb19kZWZhdWx0X2ZpbHRlcnBhZCksCi0gICAgRklMVEVSX1NBTVBMRUZNVFMoQVZf U0FNUExFX0ZNVF9TMTYsIEFWX1NBTVBMRV9GTVRfUzE2UCksCisgICAgRklMVEVSX09VVFBVVFMo dm9sdW1lZGV0ZWN0X291dHB1dHMpLAorICAgIEZJTFRFUl9TQU1QTEVGTVRTKEFWX1NBTVBMRV9G TVRfUzE2LAorICAgICAgICAgICAgICAgICAgICAgIEFWX1NBTVBMRV9GTVRfUzE2UCwKKyAgICAg ICAgICAgICAgICAgICAgICBBVl9TQU1QTEVfRk1UX0ZMVCwKKyAgICAgICAgICAgICAgICAgICAg ICBBVl9TQU1QTEVfRk1UX0ZMVFApLAogfTsKLS0gCjIuNDQuMAoK --0000000000009b8bf30614ac13ab 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". --0000000000009b8bf30614ac13ab--