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 6BA5A4957D for ; Wed, 12 Jun 2024 14:55:12 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2F2E768D99C; Wed, 12 Jun 2024 17:55:10 +0300 (EEST) Received: from mail-pj1-f48.google.com (mail-pj1-f48.google.com [209.85.216.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B032968D993 for ; Wed, 12 Jun 2024 17:55:03 +0300 (EEST) Received: by mail-pj1-f48.google.com with SMTP id 98e67ed59e1d1-2c2c9199568so4412419a91.0 for ; Wed, 12 Jun 2024 07:55:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718204101; x=1718808901; darn=ffmpeg.org; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=WmYmuzBtD/fl5Ze+/0oISWqJjaK6PdE57JIIvgvoKR4=; b=be5XvS90oW0LWuIuDie9zCusUu6206kHA1qnPP9O6q8gx3Pz2oJk2Ws8MUOgA/LdYq yeoap6OmwMbXtY+s4u8Ri7tmPcdWojPpinc/867c8ta9TtDx4xVYyVsUHO1vRchpLndN k3SJrIZsXY+8uN+T1AdwI9Rd6nS8HSBJAXXJACZup3+YZfB0oamWqmbf1fcjPfTDuMPr yYv0PYvjGxcbBthaZAQYjL95CEzhkm1rlz7yo0U3jUYaZK4FcCwAKpyDFWczgIJQfFW1 sOKMEwJvRzKiuOt9Bb4UZc/5QlrMuC74HHny1rvR6zqc7/16AVzHXFk3fd5sCP76xxUe YzpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718204101; x=1718808901; 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=WmYmuzBtD/fl5Ze+/0oISWqJjaK6PdE57JIIvgvoKR4=; b=kQen4Ar8TR0umwRugs6gGflPh1rWOwrpyKRNYXtjyDGf7ZRl3WEZdoV5+5R6Da+tNu 3hGw9Uz0yBaeb8HepUisZ3vRRagwpqOZ6BBfUXshs3U8v74wjt4aaY4L6iyCfi7zLxY4 yCFswL4jmnHk5gm3vSih7A2PjwrF7yUN6SJdLNM9ijFB8pgXAzugpCb477hoElkl6xhZ BnM2f23gVkKVMoE2nSI8BpnXrYB1G4XzJhi2udqMA8/cNdVI1j5fbQOcuX9e+4JUTN6E YA20vsquP0WNjJzsVWUchPfRrhxbwk/20GlTnrS+1u9rGH8Pva+GNmT7zaXq5l74cPnz ho8g== X-Gm-Message-State: AOJu0YxB6n4ty+zzoqq2lYNAeA1m6matLw243QyTw03P5nUd+pEFwPiC Vzxu+hGhzrtdeJYQ56j7qSg0mMyx4uMdTfXjWXKpa3Q/6HaY8KfKSnYf+6S2Tp7HIM2A/z5zgiq TLIHoJXZ8vd6+T1MczVeSwDX6EAD63w== X-Google-Smtp-Source: AGHT+IFLq7K/s0WL2eL6R1UbNkHSNkFLL7mEbbuHqL74zN1f86xeYxzEwLX8dyQjkghHODzLFNC7fgnFZrRAQehGsc0= X-Received: by 2002:a17:90a:4ca1:b0:2c2:cd03:4758 with SMTP id 98e67ed59e1d1-2c4a760a30cmr2007291a91.1.1718204101242; Wed, 12 Jun 2024 07:55:01 -0700 (PDT) MIME-Version: 1.0 References: <20240611122858.196658-1-ramiro.polla@gmail.com> <20240611122858.196658-2-ramiro.polla@gmail.com> <20240611182651.GR2821752@pb2> <65f67c7c-bae3-44e2-87cd-be1ac6094c7a@gmail.com> In-Reply-To: <65f67c7c-bae3-44e2-87cd-be1ac6094c7a@gmail.com> From: Ramiro Polla Date: Wed, 12 Jun 2024 16:54:49 +0200 Message-ID: To: FFmpeg development discussions and patches Content-Type: multipart/mixed; boundary="0000000000001b9346061ab2910e" Subject: Re: [FFmpeg-devel] [PATCH v2 2/4] swscale/x86: add sse4 {lum, chr}ConvertRange 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: --0000000000001b9346061ab2910e Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi, On Tue, Jun 11, 2024 at 8:42=E2=80=AFPM James Almer wro= te: > > On 6/11/2024 3:26 PM, Michael Niedermayer wrote: > > On Tue, Jun 11, 2024 at 02:28:56PM +0200, Ramiro Polla wrote: > >> chrRangeFromJpeg_8_c: 28.7 > >> chrRangeFromJpeg_8_sse4: 16.2 > >> chrRangeFromJpeg_24_c: 152.7 > >> chrRangeFromJpeg_24_sse4: 29.7 > >> chrRangeFromJpeg_128_c: 366.5 > >> chrRangeFromJpeg_128_sse4: 233.0 > >> chrRangeFromJpeg_144_c: 408.0 > >> chrRangeFromJpeg_144_sse4: 182.5 > >> chrRangeFromJpeg_256_c: 698.7 > >> chrRangeFromJpeg_256_sse4: 325.5 > >> chrRangeFromJpeg_512_c: 1348.7 > >> chrRangeFromJpeg_512_sse4: 660.2 > >> chrRangeToJpeg_8_c: 37.7 > >> chrRangeToJpeg_8_sse4: 16.2 > >> chrRangeToJpeg_24_c: 115.7 > >> chrRangeToJpeg_24_sse4: 36.2 > >> chrRangeToJpeg_128_c: 631.2 > >> chrRangeToJpeg_128_sse4: 163.7 > >> chrRangeToJpeg_144_c: 710.7 > >> chrRangeToJpeg_144_sse4: 183.0 > >> chrRangeToJpeg_256_c: 1253.0 > >> chrRangeToJpeg_256_sse4: 343.5 > >> chrRangeToJpeg_512_c: 2491.2 > >> chrRangeToJpeg_512_sse4: 654.2 > >> lumRangeFromJpeg_8_c: 11.7 > >> lumRangeFromJpeg_8_sse4: 10.5 > >> lumRangeFromJpeg_24_c: 38.5 > >> lumRangeFromJpeg_24_sse4: 19.0 > >> lumRangeFromJpeg_128_c: 237.5 > >> lumRangeFromJpeg_128_sse4: 79.2 > >> lumRangeFromJpeg_144_c: 255.7 > >> lumRangeFromJpeg_144_sse4: 90.5 > >> lumRangeFromJpeg_256_c: 441.5 > >> lumRangeFromJpeg_256_sse4: 161.7 > >> lumRangeFromJpeg_512_c: 879.0 > >> lumRangeFromJpeg_512_sse4: 333.2 > >> lumRangeToJpeg_8_c: 20.0 > >> lumRangeToJpeg_8_sse4: 11.7 > >> lumRangeToJpeg_24_c: 61.5 > >> lumRangeToJpeg_24_sse4: 17.7 > >> lumRangeToJpeg_128_c: 357.5 > >> lumRangeToJpeg_128_sse4: 80.0 > >> lumRangeToJpeg_144_c: 371.5 > >> lumRangeToJpeg_144_sse4: 93.2 > >> lumRangeToJpeg_256_c: 651.5 > >> lumRangeToJpeg_256_sse4: 164.5 > >> lumRangeToJpeg_512_c: 1279.0 > >> lumRangeToJpeg_512_sse4: 333.7 > >> --- > >> libswscale/swscale_internal.h | 1 + > >> libswscale/utils.c | 2 + > >> libswscale/x86/Makefile | 1 + > >> libswscale/x86/range_convert.asm | 130 +++++++++++++++++++++++++++++= ++ > >> libswscale/x86/swscale.c | 36 +++++++++ > >> 5 files changed, 170 insertions(+) > >> create mode 100644 libswscale/x86/range_convert.asm > > > > breaks x86-32 build > > > > LD ffmpeg_g > > /usr/lib/gcc-cross/i686-linux-gnu/7/../../../../i686-linux-gnu/bin/ld: = libswscale/libswscale.a(utils.o): in function `sws_setColorspaceDetails': > > ffmpeg/linux32/src/libswscale/utils.c:1086: undefined reference to `ff_= sws_init_range_convert_x86' > > collect2: error: ld returned 1 exit status > > make: *** [Makefile:139: ffmpeg_g] Error 1 > > > > thx > > The functions are wrapped in ARCH_X86_64 checks for seemingly no reason, > so they should be removed in the next iteration. Fixed. James walked me through on IRC to optimize and improve the functions in a way that they work both with sse2 and avx2. New patch attached. --0000000000001b9346061ab2910e Content-Type: text/x-patch; charset="US-ASCII"; name="0001-swscale-x86-add-sse2-and-avx2-lum-chr-ConvertRange.patch" Content-Disposition: attachment; filename="0001-swscale-x86-add-sse2-and-avx2-lum-chr-ConvertRange.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lxby4yil0 RnJvbSA5ZTQ5ZTcyZjY3NjZlOTZjYzA2YmVjODY5ZmI3NzZmZmY0YzQ3N2JmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSYW1pcm8gUG9sbGEgPHJhbWlyby5wb2xsYUBnbWFpbC5jb20+ CkRhdGU6IFRodSwgNiBKdW4gMjAyNCAxODozMzozNCArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIHN3 c2NhbGUveDg2OiBhZGQgc3NlMiBhbmQgYXZ4MiB7bHVtLGNocn1Db252ZXJ0UmFuZ2UKCmNoclJh bmdlRnJvbUpwZWdfOF9jOiAyMi4zCmNoclJhbmdlRnJvbUpwZWdfOF9zc2UyOiAxMy4zCmNoclJh bmdlRnJvbUpwZWdfOF9hdngyOiAxMy4zCmNoclJhbmdlRnJvbUpwZWdfMjRfYzogNzIuOApjaHJS YW5nZUZyb21KcGVnXzI0X3NzZTI6IDIyLjMKY2hyUmFuZ2VGcm9tSnBlZ18yNF9hdngyOiAxNy41 CmNoclJhbmdlRnJvbUpwZWdfMTI4X2M6IDM0NS41CmNoclJhbmdlRnJvbUpwZWdfMTI4X3NzZTI6 IDEwNi4wCmNoclJhbmdlRnJvbUpwZWdfMTI4X2F2eDI6IDU3LjgKY2hyUmFuZ2VGcm9tSnBlZ18x NDRfYzogMzgwLjUKY2hyUmFuZ2VGcm9tSnBlZ18xNDRfc3NlMjogMTE4LjUKY2hyUmFuZ2VGcm9t SnBlZ18xNDRfYXZ4MjogNjIuMwpjaHJSYW5nZUZyb21KcGVnXzI1Nl9jOiA2NDYuMwpjaHJSYW5n ZUZyb21KcGVnXzI1Nl9zc2UyOiAyMTguOApjaHJSYW5nZUZyb21KcGVnXzI1Nl9hdngyOiAxMDku MApjaHJSYW5nZUZyb21KcGVnXzUxMl9jOiAxNDYxLjUKY2hyUmFuZ2VGcm9tSnBlZ181MTJfc3Nl MjogNDI2LjUKY2hyUmFuZ2VGcm9tSnBlZ181MTJfYXZ4MjogMjExLjUKY2hyUmFuZ2VUb0pwZWdf OF9jOiAzNy44CmNoclJhbmdlVG9KcGVnXzhfc3NlMjogMTAuNQpjaHJSYW5nZVRvSnBlZ184X2F2 eDI6IDE0LjAKY2hyUmFuZ2VUb0pwZWdfMjRfYzogMTE0LjMKY2hyUmFuZ2VUb0pwZWdfMjRfc3Nl MjogMjMuNQpjaHJSYW5nZVRvSnBlZ18yNF9hdngyOiAxNi4zCmNoclJhbmdlVG9KcGVnXzEyOF9j OiA2MzMuNQpjaHJSYW5nZVRvSnBlZ18xMjhfc3NlMjogMTA3LjUKY2hyUmFuZ2VUb0pwZWdfMTI4 X2F2eDI6IDU1LjAKY2hyUmFuZ2VUb0pwZWdfMTQ0X2M6IDc1OC4zCmNoclJhbmdlVG9KcGVnXzE0 NF9zc2UyOiAxMzIuMApjaHJSYW5nZVRvSnBlZ18xNDRfYXZ4MjogNjQuNQpjaHJSYW5nZVRvSnBl Z18yNTZfYzogMTM0NS4wCmNoclJhbmdlVG9KcGVnXzI1Nl9zc2UyOiAyMTguMApjaHJSYW5nZVRv SnBlZ18yNTZfYXZ4MjogMTA1LjMKY2hyUmFuZ2VUb0pwZWdfNTEyX2M6IDI1MjQuMApjaHJSYW5n ZVRvSnBlZ181MTJfc3NlMjogNDE3LjAKY2hyUmFuZ2VUb0pwZWdfNTEyX2F2eDI6IDIxOC44Cmx1 bVJhbmdlRnJvbUpwZWdfOF9jOiAxMS44Cmx1bVJhbmdlRnJvbUpwZWdfOF9zc2UyOiAxMS4wCmx1 bVJhbmdlRnJvbUpwZWdfOF9hdngyOiAxMC4zCmx1bVJhbmdlRnJvbUpwZWdfMjRfYzogMzguNQps dW1SYW5nZUZyb21KcGVnXzI0X3NzZTI6IDE1LjUKbHVtUmFuZ2VGcm9tSnBlZ18yNF9hdngyOiAx Mi41Cmx1bVJhbmdlRnJvbUpwZWdfMTI4X2M6IDIzMi4zCmx1bVJhbmdlRnJvbUpwZWdfMTI4X3Nz ZTI6IDYwLjAKbHVtUmFuZ2VGcm9tSnBlZ18xMjhfYXZ4MjogMjYuOApsdW1SYW5nZUZyb21KcGVn XzE0NF9jOiAyNTkuNQpsdW1SYW5nZUZyb21KcGVnXzE0NF9zc2UyOiA2NS4zCmx1bVJhbmdlRnJv bUpwZWdfMTQ0X2F2eDI6IDI5LjAKbHVtUmFuZ2VGcm9tSnBlZ18yNTZfYzogNDY0LjUKbHVtUmFu Z2VGcm9tSnBlZ18yNTZfc3NlMjogMTA3LjUKbHVtUmFuZ2VGcm9tSnBlZ18yNTZfYXZ4MjogNTQu MApsdW1SYW5nZUZyb21KcGVnXzUxMl9jOiA4OTcuNQpsdW1SYW5nZUZyb21KcGVnXzUxMl9zc2Uy OiAyMjQuNQpsdW1SYW5nZUZyb21KcGVnXzUxMl9hdngyOiAxMDkuOApsdW1SYW5nZVRvSnBlZ184 X2M6IDE3LjgKbHVtUmFuZ2VUb0pwZWdfOF9zc2UyOiAxMS4wCmx1bVJhbmdlVG9KcGVnXzhfYXZ4 MjogMTEuOApsdW1SYW5nZVRvSnBlZ18yNF9jOiA1Ni4zCmx1bVJhbmdlVG9KcGVnXzI0X3NzZTI6 IDExLjAKbHVtUmFuZ2VUb0pwZWdfMjRfYXZ4MjogMTIuNQpsdW1SYW5nZVRvSnBlZ18xMjhfYzog MzMzLjgKbHVtUmFuZ2VUb0pwZWdfMTI4X3NzZTI6IDUzLjMKbHVtUmFuZ2VUb0pwZWdfMTI4X2F2 eDI6IDI2LjUKbHVtUmFuZ2VUb0pwZWdfMTQ0X2M6IDM3NS41Cmx1bVJhbmdlVG9KcGVnXzE0NF9z c2UyOiA2MC44Cmx1bVJhbmdlVG9KcGVnXzE0NF9hdngyOiAyOS4wCmx1bVJhbmdlVG9KcGVnXzI1 Nl9jOiA2NTIuMApsdW1SYW5nZVRvSnBlZ18yNTZfc3NlMjogMTA5LjUKbHVtUmFuZ2VUb0pwZWdf MjU2X2F2eDI6IDUzLjUKbHVtUmFuZ2VUb0pwZWdfNTEyX2M6IDEyODQuMwpsdW1SYW5nZVRvSnBl Z181MTJfc3NlMjogMjE4LjAKbHVtUmFuZ2VUb0pwZWdfNTEyX2F2eDI6IDEwOC4zCi0tLQogbGli c3dzY2FsZS9zd3NjYWxlX2ludGVybmFsLmggICAgfCAgIDEgKwogbGlic3dzY2FsZS91dGlscy5j ICAgICAgICAgICAgICAgfCAgIDIgKwogbGlic3dzY2FsZS94ODYvTWFrZWZpbGUgICAgICAgICAg fCAgIDEgKwogbGlic3dzY2FsZS94ODYvcmFuZ2VfY29udmVydC5hc20gfCAxMzQgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKwogbGlic3dzY2FsZS94ODYvc3dzY2FsZS5jICAgICAgICAg fCAgMzUgKysrKysrKysKIDUgZmlsZXMgY2hhbmdlZCwgMTczIGluc2VydGlvbnMoKykKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBsaWJzd3NjYWxlL3g4Ni9yYW5nZV9jb252ZXJ0LmFzbQoKZGlmZiAtLWdp dCBhL2xpYnN3c2NhbGUvc3dzY2FsZV9pbnRlcm5hbC5oIGIvbGlic3dzY2FsZS9zd3NjYWxlX2lu dGVybmFsLmgKaW5kZXggNTAwN2RkNDIyZi4uZDVlN2I1ZTcxYyAxMDA2NDQKLS0tIGEvbGlic3dz Y2FsZS9zd3NjYWxlX2ludGVybmFsLmgKKysrIGIvbGlic3dzY2FsZS9zd3NjYWxlX2ludGVybmFs LmgKQEAgLTY5OCw2ICs2OTgsNyBAQCB2b2lkIGZmX3VwZGF0ZU1NWERpdGhlclRhYmxlcyhTd3ND b250ZXh0ICpjLCBpbnQgZHN0WSk7CiAKIGF2X2NvbGQgdm9pZCBmZl9zd3NfaW5pdF9yYW5nZV9j b252ZXJ0KFN3c0NvbnRleHQgKmMpOwogYXZfY29sZCB2b2lkIGZmX3N3c19pbml0X3JhbmdlX2Nv bnZlcnRfbG9vbmdhcmNoKFN3c0NvbnRleHQgKmMpOworYXZfY29sZCB2b2lkIGZmX3N3c19pbml0 X3JhbmdlX2NvbnZlcnRfeDg2KFN3c0NvbnRleHQgKmMpOwogCiBTd3NGdW5jIGZmX3l1djJyZ2Jf aW5pdF94ODYoU3dzQ29udGV4dCAqYyk7CiBTd3NGdW5jIGZmX3l1djJyZ2JfaW5pdF9wcGMoU3dz Q29udGV4dCAqYyk7CmRpZmYgLS1naXQgYS9saWJzd3NjYWxlL3V0aWxzLmMgYi9saWJzd3NjYWxl L3V0aWxzLmMKaW5kZXggNDc2YTI0ZmVhNS4uOGRmYTU3YjVmZiAxMDA2NDQKLS0tIGEvbGlic3dz Y2FsZS91dGlscy5jCisrKyBiL2xpYnN3c2NhbGUvdXRpbHMuYwpAQCAtMTA4Miw2ICsxMDgyLDgg QEAgaW50IHN3c19zZXRDb2xvcnNwYWNlRGV0YWlscyhzdHJ1Y3QgU3dzQ29udGV4dCAqYywgY29u c3QgaW50IGludl90YWJsZVs0XSwKICAgICAgICAgZmZfc3dzX2luaXRfcmFuZ2VfY29udmVydChj KTsKICNpZiBBUkNIX0xPT05HQVJDSDY0CiAgICAgICAgIGZmX3N3c19pbml0X3JhbmdlX2NvbnZl cnRfbG9vbmdhcmNoKGMpOworI2VsaWYgQVJDSF9YODYKKyAgICAgICAgZmZfc3dzX2luaXRfcmFu Z2VfY29udmVydF94ODYoYyk7CiAjZW5kaWYKICAgICB9CiAKZGlmZiAtLWdpdCBhL2xpYnN3c2Nh bGUveDg2L01ha2VmaWxlIGIvbGlic3dzY2FsZS94ODYvTWFrZWZpbGUKaW5kZXggNjgzOTE0OTRi ZS4uZjAwMTU0OTQxZCAxMDA2NDQKLS0tIGEvbGlic3dzY2FsZS94ODYvTWFrZWZpbGUKKysrIGIv bGlic3dzY2FsZS94ODYvTWFrZWZpbGUKQEAgLTEyLDYgKzEyLDcgQEAgWDg2QVNNLU9CSlMgICAg ICAgICAgICAgICAgICAgICArPSB4ODYvaW5wdXQubyAgICAgICAgICAgICAgICAgICAgICAgICAg XAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4ODYvb3V0cHV0Lm8gICAgICAg ICAgICAgICAgICAgICAgICAgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4 ODYvc2NhbGUubyAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB4ODYvc2NhbGVfYXZ4Mi5vICAgICAgICAgICAgICAgICAgICAgICAg ICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHg4Ni9yYW5nZV9jb252ZXJ0 Lm8gICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHg4Ni9yZ2JfMl9yZ2IubyAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHg4Ni95dXZfMl9yZ2IubyAgICAgICAgICAgICAgICAgICAgICBc CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHg4Ni95dXYyeXV2WC5vICAgICAg ICAgICAgICAgICAgICAgICBcCmRpZmYgLS1naXQgYS9saWJzd3NjYWxlL3g4Ni9yYW5nZV9jb252 ZXJ0LmFzbSBiL2xpYnN3c2NhbGUveDg2L3JhbmdlX2NvbnZlcnQuYXNtCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLmFlNTFlOWQ1NzMKLS0tIC9kZXYvbnVsbAorKysgYi9s aWJzd3NjYWxlL3g4Ni9yYW5nZV9jb252ZXJ0LmFzbQpAQCAtMCwwICsxLDEzNCBAQAorOyoqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKgorOyogQ29weXJpZ2h0IChjKSAyMDI0IFJhbWlybyBQb2xsYQorOyoK KzsqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEZGbXBlZy4KKzsqCis7KiBGRm1wZWcgaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCis7KiBtb2RpZnkgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCis7KiBMaWNlbnNl IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKzsq IHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl ciB2ZXJzaW9uLgorOyoKKzsqIEZGbXBlZyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0 IGl0IHdpbGwgYmUgdXNlZnVsLAorOyogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKzsqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCis7KiBMZXNzZXIgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorOyoKKzsqIFlvdSBzaG91bGQg aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKzsq IExpY2Vuc2UgYWxvbmcgd2l0aCBGRm1wZWc7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29m dHdhcmUKKzsqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxv b3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EKKzsqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKwor JWluY2x1ZGUgImxpYmF2dXRpbC94ODYveDg2dXRpbC5hc20iCisKK1NFQ1RJT05fUk9EQVRBCisK K2Nocl90b19tdWx0OiAgICAgICAgdGltZXMgNCBkdyA0NjYzLCAwCitjaHJfdG9fb2Zmc2V0OiAg ICAgIHRpbWVzIDQgZGQgLTkyODk5OTIKKyVkZWZpbmUgY2hyX3RvX3NoaWZ0IDEyCisKK2Nocl9m cm9tX211bHQ6ICAgICAgdGltZXMgNCBkdyAxNzk5LCAwCitjaHJfZnJvbV9vZmZzZXQ6ICAgIHRp bWVzIDQgZGQgNDA4MTA4NQorJWRlZmluZSBjaHJfZnJvbV9zaGlmdCAxMQorCitsdW1fdG9fbXVs dDogICAgICAgIHRpbWVzIDQgZHcgMTkwNzcsIDAKK2x1bV90b19vZmZzZXQ6ICAgICAgdGltZXMg NCBkZCAtMzkwNTczNjEKKyVkZWZpbmUgbHVtX3RvX3NoaWZ0IDE0CisKK2x1bV9mcm9tX211bHQ6 ICAgICAgdGltZXMgNCBkdyAxNDA3MSwgMAorbHVtX2Zyb21fb2Zmc2V0OiAgICB0aW1lcyA0IGRk IDMzNTYxOTQ3CislZGVmaW5lIGx1bV9mcm9tX3NoaWZ0IDE0CisKK1NFQ1RJT04gLnRleHQKKwor OyBOT1RFOiB0aGVyZSBpcyBubyBuZWVkIHRvIGNsYW1wIHRoZSBpbnB1dCB3aGVuIGNvbnZlcnRp bmcgdG8ganBlZyByYW5nZQorOyAgICAgICAobGlrZSB3ZSBkbyBpbiB0aGUgQyBjb2RlKSBiZWNh dXNlIHBhY2tzc2R3IHdpbGwgc2F0dXJhdGUgdGhlIG91dHB1dC4KKworOy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCis7IGx1bUNvbnZlcnRSYW5nZQorOworOyB2b2lkIGZmX2x1bVJhbmdlVG9KcGVnXzxv cHQ+KGludDE2X3QgKmRzdCwgaW50IHdpZHRoKTsKKzsgdm9pZCBmZl9sdW1SYW5nZUZyb21KcGVn XzxvcHQ+KGludDE2X3QgKmRzdCwgaW50IHdpZHRoKTsKKzsKKzstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorCislbWFjcm8gTFVNQ09OVkVSVFJBTkdFIDQKK2NnbG9iYWwgJTEsIDIsIDIsIDcsIGRzdCwg d2lkdGgKKyAgICBzaGwgICAgICAgICAgd2lkdGhkLCAxCisgICAgVkJST0FEQ0FTVEkxMjggICBt NCwgWyUyXQorICAgIFZCUk9BRENBU1RJMTI4ICAgbTUsIFslM10KKyAgICBweG9yICAgICAgICAg ICAgIG02LCBtNgorICAgIGFkZCAgICAgICAgICAgIGRzdHEsIHdpZHRocQorICAgIG5lZyAgICAg ICAgICB3aWR0aHEKKy5sb29wOgorICAgIG1vdnUgICAgICAgICAgICAgbTAsIFtkc3RxK3dpZHRo cV0KKyAgICBwdW5wY2tod2QgICAgICAgIG0xLCBtMCwgbTYKKyAgICBwdW5wY2tsd2QgICAgICAg IG0wLCBtNgorICAgIHBtYWRkd2QgICAgICAgICAgbTAsIG00CisgICAgcG1hZGR3ZCAgICAgICAg ICBtMSwgbTQKKyAgICBwYWRkZCAgICAgICAgICAgIG0wLCBtNQorICAgIHBhZGRkICAgICAgICAg ICAgbTEsIG01CisgICAgcHNyYWQgICAgICAgICAgICBtMCwgJTQKKyAgICBwc3JhZCAgICAgICAg ICAgIG0xLCAlNAorICAgIHBhY2tzc2R3ICAgICAgICAgbTAsIG0xCisgICAgbW92dSAgW2RzdHEr d2lkdGhxXSwgbTAKKyAgICBhZGQgICAgICAgICAgd2lkdGhxLCBtbXNpemUKKyAgICBqbCAubG9v cAorICAgIFJFVAorJWVuZG1hY3JvCisKKzstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorOyBjaHJDb252 ZXJ0UmFuZ2UKKzsKKzsgdm9pZCBmZl9jaHJSYW5nZVRvSnBlZ188b3B0PihpbnQxNl90ICpkc3RV LCBpbnQxNl90ICpkc3RWLCBpbnQgd2lkdGgpOworOyB2b2lkIGZmX2NoclJhbmdlRnJvbUpwZWdf PG9wdD4oaW50MTZfdCAqZHN0VSwgaW50MTZfdCAqZHN0ViwgaW50IHdpZHRoKTsKKzsKKzstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQorCislbWFjcm8gQ0hSQ09OVkVSVFJBTkdFIDQKK2NnbG9iYWwgJTEs IDMsIDMsIDcsIGRzdFUsIGRzdFYsIHdpZHRoCisgICAgc2hsICAgICAgICAgIHdpZHRoZCwgMQor ICAgIFZCUk9BRENBU1RJMTI4ICAgbTQsIFslMl0KKyAgICBWQlJPQURDQVNUSTEyOCAgIG01LCBb JTNdCisgICAgcHhvciAgICAgICAgICAgICBtNiwgbTYKKyAgICBhZGQgICAgICAgICAgIGRzdFVx LCB3aWR0aHEKKyAgICBhZGQgICAgICAgICAgIGRzdFZxLCB3aWR0aHEKKyAgICBuZWcgICAgICAg ICAgd2lkdGhxCisubG9vcDoKKyAgICBtb3Z1ICAgICAgICAgICAgIG0wLCBbZHN0VXErd2lkdGhx XQorICAgIG1vdnUgICAgICAgICAgICAgbTIsIFtkc3RWcSt3aWR0aHFdCisgICAgcHVucGNraHdk ICAgICAgICBtMSwgbTAsIG02CisgICAgcHVucGNraHdkICAgICAgICBtMywgbTIsIG02CisgICAg cHVucGNrbHdkICAgICAgICBtMCwgbTYKKyAgICBwdW5wY2tsd2QgICAgICAgIG0yLCBtNgorICAg IHBtYWRkd2QgICAgICAgICAgbTAsIG00CisgICAgcG1hZGR3ZCAgICAgICAgICBtMSwgbTQKKyAg ICBwbWFkZHdkICAgICAgICAgIG0yLCBtNAorICAgIHBtYWRkd2QgICAgICAgICAgbTMsIG00Cisg ICAgcGFkZGQgICAgICAgICAgICBtMCwgbTUKKyAgICBwYWRkZCAgICAgICAgICAgIG0xLCBtNQor ICAgIHBhZGRkICAgICAgICAgICAgbTIsIG01CisgICAgcGFkZGQgICAgICAgICAgICBtMywgbTUK KyAgICBwc3JhZCAgICAgICAgICAgIG0wLCAlNAorICAgIHBzcmFkICAgICAgICAgICAgbTEsICU0 CisgICAgcHNyYWQgICAgICAgICAgICBtMiwgJTQKKyAgICBwc3JhZCAgICAgICAgICAgIG0zLCAl NAorICAgIHBhY2tzc2R3ICAgICAgICAgbTAsIG0xCisgICAgcGFja3NzZHcgICAgICAgICBtMiwg bTMKKyAgICBtb3Z1IFtkc3RVcSt3aWR0aHFdLCBtMAorICAgIG1vdnUgW2RzdFZxK3dpZHRocV0s IG0yCisgICAgYWRkICAgICAgICAgIHdpZHRocSwgbW1zaXplCisgICAgamwgLmxvb3AKKyAgICBS RVQKKyVlbmRtYWNybworCitJTklUX1hNTSBzc2UyCitMVU1DT05WRVJUUkFOR0UgbHVtUmFuZ2VU b0pwZWcsICAgbHVtX3RvX211bHQsICAgbHVtX3RvX29mZnNldCwgICBsdW1fdG9fc2hpZnQKK0NI UkNPTlZFUlRSQU5HRSBjaHJSYW5nZVRvSnBlZywgICBjaHJfdG9fbXVsdCwgICBjaHJfdG9fb2Zm c2V0LCAgIGNocl90b19zaGlmdAorTFVNQ09OVkVSVFJBTkdFIGx1bVJhbmdlRnJvbUpwZWcsIGx1 bV9mcm9tX211bHQsIGx1bV9mcm9tX29mZnNldCwgbHVtX2Zyb21fc2hpZnQKK0NIUkNPTlZFUlRS QU5HRSBjaHJSYW5nZUZyb21KcGVnLCBjaHJfZnJvbV9tdWx0LCBjaHJfZnJvbV9vZmZzZXQsIGNo cl9mcm9tX3NoaWZ0CisKK0lOSVRfWU1NIGF2eDIKK0xVTUNPTlZFUlRSQU5HRSBsdW1SYW5nZVRv SnBlZywgICBsdW1fdG9fbXVsdCwgICBsdW1fdG9fb2Zmc2V0LCAgIGx1bV90b19zaGlmdAorQ0hS Q09OVkVSVFJBTkdFIGNoclJhbmdlVG9KcGVnLCAgIGNocl90b19tdWx0LCAgIGNocl90b19vZmZz ZXQsICAgY2hyX3RvX3NoaWZ0CitMVU1DT05WRVJUUkFOR0UgbHVtUmFuZ2VGcm9tSnBlZywgbHVt X2Zyb21fbXVsdCwgbHVtX2Zyb21fb2Zmc2V0LCBsdW1fZnJvbV9zaGlmdAorQ0hSQ09OVkVSVFJB TkdFIGNoclJhbmdlRnJvbUpwZWcsIGNocl9mcm9tX211bHQsIGNocl9mcm9tX29mZnNldCwgY2hy X2Zyb21fc2hpZnQKZGlmZiAtLWdpdCBhL2xpYnN3c2NhbGUveDg2L3N3c2NhbGUuYyBiL2xpYnN3 c2NhbGUveDg2L3N3c2NhbGUuYwppbmRleCA1YTlkYTIzMjY1Li5hZDdmNjdmOTBlIDEwMDY0NAot LS0gYS9saWJzd3NjYWxlL3g4Ni9zd3NjYWxlLmMKKysrIGIvbGlic3dzY2FsZS94ODYvc3dzY2Fs ZS5jCkBAIC00NTMsNiArNDUzLDM5IEBAIElOUFVUX1BMQU5BUl9SR0JfVVZfQUxMX0RFQ0woYXZ4 Mik7CiBJTlBVVF9QTEFOQVJfUkdCX0FfQUxMX0RFQ0woYXZ4Mik7CiAjZW5kaWYKIAorI2RlZmlu ZSBSQU5HRV9DT05WRVJUX0ZVTkNTKG9wdCkgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFwKKyAgICBpZiAoYy0+ZHN0QnBjIDw9IDE0KSB7ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIGlmIChjLT5zcmNS YW5nZSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XAorICAgICAgICAgICAgYy0+bHVtQ29udmVydFJhbmdlID0gZmZfbHVtUmFuZ2VGcm9tSnBlZ18g IyNvcHQ7ICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIGMtPmNockNvbnZlcnRSYW5nZSA9 IGZmX2NoclJhbmdlRnJvbUpwZWdfICMjb3B0OyAgICAgICAgICAgICAgICBcCisgICAgICAgIH0g ZWxzZSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXAorICAgICAgICAgICAgYy0+bHVtQ29udmVydFJhbmdlID0gZmZfbHVtUmFuZ2VU b0pwZWdfICMjb3B0OyAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIGMtPmNockNvbnZl cnRSYW5nZSA9IGZmX2NoclJhbmdlVG9KcGVnXyAjI29wdDsgICAgICAgICAgICAgICAgICBcCisg ICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXAorICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKK30gd2hpbGUgKDApCisK KyNkZWZpbmUgUkFOR0VfQ09OVkVSVF9GVU5DU19ERUNMKG9wdCkgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcCit2b2lkIGZmX2x1bVJhbmdlRnJvbUpwZWdfICMjb3B0KGlu dDE2X3QgKmRzdCwgaW50IHdpZHRoKTsgICAgICAgICAgICAgICAgICAgXAordm9pZCBmZl9jaHJS YW5nZUZyb21KcGVnXyAjI29wdChpbnQxNl90ICpkc3RVLCBpbnQxNl90ICpkc3RWLCBpbnQgd2lk dGgpOyAgIFwKK3ZvaWQgZmZfbHVtUmFuZ2VUb0pwZWdfICMjb3B0KGludDE2X3QgKmRzdCwgaW50 IHdpZHRoKTsgICAgICAgICAgICAgICAgICAgICBcCit2b2lkIGZmX2NoclJhbmdlVG9KcGVnXyAj I29wdChpbnQxNl90ICpkc3RVLCBpbnQxNl90ICpkc3RWLCBpbnQgd2lkdGgpOyAgICAgXAorCitS QU5HRV9DT05WRVJUX0ZVTkNTX0RFQ0woc3NlMik7CitSQU5HRV9DT05WRVJUX0ZVTkNTX0RFQ0wo YXZ4Mik7CisKK2F2X2NvbGQgdm9pZCBmZl9zd3NfaW5pdF9yYW5nZV9jb252ZXJ0X3g4NihTd3ND b250ZXh0ICpjKQoreworICAgIGlmIChjLT5zcmNSYW5nZSAhPSBjLT5kc3RSYW5nZSAmJiAhaXNB bnlSR0IoYy0+ZHN0Rm9ybWF0KSkgeworICAgICAgICBpbnQgY3B1X2ZsYWdzID0gYXZfZ2V0X2Nw dV9mbGFncygpOworICAgICAgICBpZiAoRVhURVJOQUxfQVZYMl9GQVNUKGNwdV9mbGFncykpIHsK KyAgICAgICAgICAgIFJBTkdFX0NPTlZFUlRfRlVOQ1MoYXZ4Mik7CisgICAgICAgIH0gZWxzZSBp ZiAoRVhURVJOQUxfU1NFMihjcHVfZmxhZ3MpKSB7CisgICAgICAgICAgICBSQU5HRV9DT05WRVJU X0ZVTkNTKHNzZTIpOworICAgICAgICB9CisgICAgfQorfQorCiBhdl9jb2xkIHZvaWQgZmZfc3dz X2luaXRfc3dzY2FsZV94ODYoU3dzQ29udGV4dCAqYykKIHsKICAgICBpbnQgY3B1X2ZsYWdzID0g YXZfZ2V0X2NwdV9mbGFncygpOwpAQCAtODIwLDQgKzg1Myw2IEBAIHN3aXRjaChjLT5kc3RCcGMp eyBcCiAgICAgfQogCiAjZW5kaWYKKworICAgIGZmX3N3c19pbml0X3JhbmdlX2NvbnZlcnRfeDg2 KGMpOwogfQotLSAKMi4zMC4yCgo= --0000000000001b9346061ab2910e 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". --0000000000001b9346061ab2910e--