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 581F348F04 for ; Thu, 29 Feb 2024 16:43:25 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D159468D1BB; Thu, 29 Feb 2024 18:43:23 +0200 (EET) Received: from mail-lf1-f41.google.com (mail-lf1-f41.google.com [209.85.167.41]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5A79268D131 for ; Thu, 29 Feb 2024 18:43:17 +0200 (EET) Received: by mail-lf1-f41.google.com with SMTP id 2adb3069b0e04-512d19e2cb8so1354289e87.0 for ; Thu, 29 Feb 2024 08:43:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1709224996; x=1709829796; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=QKRlitY4IvqqXufsemQ1jxRb0h/i/gi7sDa5IMCKeaI=; b=ThTaxFS6LEPOB66gFiPhYO9WcvCjK8htFxZWQV6moKh27JKBzmuBZbQMswIaTT7P9N iJkL1xlhCdACtWDTVWj9S6K8djJBi1G9Ti6UxNAfWSNujyvahBcX+xiPnK8Yvo8Dt2UK YJu9k2TkRx3C5lvGJ1KSibHFrwKk8OLMjHADoNZjCtsDn9IJOF2VeTn82b+WuQV/HNTk aPF2Ypzf2YPR+8ZTs/xmnW7u4WmkVRP+vcATnXud9P5+6DzF5MAmlJB4oFB4TLEeOhhJ lcGTUcvziv29/1kC4x2YtbwEuaVlgElv10iRErgOoGIM1gZAT8oZ2dDHy1ZhVcPu5vMu pH1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709224996; x=1709829796; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=QKRlitY4IvqqXufsemQ1jxRb0h/i/gi7sDa5IMCKeaI=; b=HcfOTWmxgEpZkSd4FBc0h6+QLVLRAWt+NfXn6zZyIsnSULexNHp3l2bw9o3ftPeRSz aWHEhGmXFu35ZkJkkTXe4jfIDZ2FWAtiLUeH2klGtZpkeJu2Qn1z/R9UdkD0UHSL8xK2 lwpjnJd+OcuNd+IMmPXP++QH4JJrynK5fkKrW5XMl4dfQo1qHR+9HL137hsY2ZKeWmEx J3rtj1ooy7NoPUDkvyUDlMAAifhD17EWFkzsfxgQr9NJUYv6nwkuUsU7doi1TVqF6gYK /gxs+d2p2uS3t9O1UMrC0o02hAGQnHDgznQLb8lYlhXVQSi/zrSEGD41muZGMSicWsv7 aUHw== X-Gm-Message-State: AOJu0YwjOFDs0vhD7vEe1LpBKrhZMScC7Qzw8YXtZmipD2FMN41J3LjX +zOLHQ+4JB+ozNUgeHnfgQVMgpvgcUfVNtRCLcU0Yq92h3jtDUddDDSGIHLT X-Google-Smtp-Source: AGHT+IGC6I5EXLuhVnAVg2H3C0Ye7OaZOzKasJ4m9G47KlSCpC/HdGl0DRKgI5Ccqm94lXzhDHmIrw== X-Received: by 2002:ac2:4829:0:b0:513:1829:9483 with SMTP id 9-20020ac24829000000b0051318299483mr1786254lft.69.1709224996076; Thu, 29 Feb 2024 08:43:16 -0800 (PST) Received: from localhost.localdomain (91-153-198-187.elisa-laajakaista.fi. [91.153.198.187]) by smtp.gmail.com with ESMTPSA id k6-20020ac24566000000b00513290734cbsm206248lfm.292.2024.02.29.08.43.15 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 29 Feb 2024 08:43:15 -0800 (PST) From: =?UTF-8?q?Jan=20Ekstr=C3=B6m?= To: ffmpeg-devel@ffmpeg.org Date: Thu, 29 Feb 2024 18:42:47 +0200 Message-ID: <20240229164307.3535613-1-jeebjp@gmail.com> X-Mailer: git-send-email 2.44.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v7 00/14] encoder AVCodecContext configuration side data 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 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: RGlmZmVyZW5jZXMgdG8gdjU6CjEuIHJlYmFzZWQgb24gdG9wIG9mIGN1cnJlbnQgbWFzdGVyCjIu IGFzIHJlcXVlc3RlZCBieSBKYW1lcywgdGhlcmUgaXMgbm93IGEgZnVuY3Rpb24gdG8gYWRkIG5l dyBmcmFtZSBzaWRlIGRhdGEKICAgYnkgbWVhbnMgb2YgcHJvdmlkaW5nIGEgQVZCdWZmZXJSZWYu CgpDb21wYXJpc29uIFVSTCAobW9zdGx5IGNvbmZpZ3VyZSBhbmQgd3JhcHBlcnMsIGF2dXRpbC9m cmFtZS5jKToKaHR0cHM6Ly9naXRodWIuY29tL2plZWIvZmZtcGVnL2NvbXBhcmUvYXZjb2RlY19j bGxfbWRjdl9zaWRlX2RhdGFfdjYuLmF2Y29kZWNfY2xsX21kY3Zfc2lkZV9kYXRhX3Y3CgpUaGlz IHBhdGNoIHNldCBJJ3ZlIG5vdyBiZWVuIHdvcmtpbmcgZm9yIGEgd2hpbGUgc2luY2UgSSBmZWx0 IGxpa2UgaXQgd2FzIHdlaXJkCndlIGNvdWxkbid0IHBhc3MgdGhyb3VnaCBpbmZvcm1hdGlvbiBz dWNoIGFzIHN0YXRpYyBIRFIgbWV0YWRhdGEgdG8gZW5jb2RlcnMKZnJvbSBkZWNvZGVkIGlucHV0 LiBUaGlzIGluaXRpYWwgdmVyc2lvbiBhZGRzIHRoZSBuZWNlc3NhcnkgZnJhbWV3b3JrLCBhcyB3 ZWxsCmFzIGFkZHMgc3RhdGljIEhEUiBtZXRhZGF0YSBzdXBwb3J0IGZvciBsaWJzdnRhdjEsIGxp YngyNjQgYXMgd2VsbCBhcyBsaWJ4MjY1CndyYXBwZXJzLgoKQW4gYWx0ZXJuYXRpdmUgdG8gdGhp cyB3b3VsZCBiZSB0byBtYWtlIGVuY29kZXJzIG9ubHkgcHJvcGVybHkgaW5pdGlhbGl6ZSB3aGVu CnRoZXkgcmVjZWl2ZSB0aGUgZmlyc3QgQVZGcmFtZSwgYnV0IHRoYXQgc2VlbXMgdG8gYmUgYSBi aWdnZXIsIG5hc3RpZXIgY2hhbmdlCnRoYW4gaW50cm9kdWNpbmcgYW4gQVZGcmFtZVNpZGVEYXRh U2V0IGluIGF2Y3R4IGFzIGV2ZXJ5dGhpbmcgc2VlbXMgdG8KcHJlc3VtZSB0aGF0IGV4dHJhZGF0 YSBldGMgYXJlIGF2YWlsYWJsZSBhZnRlciBvcGVuaW5nIHRoZSBlbmNvZGVyLgoKTm90ZTogQW55 IG9waW5pb25zIG9uIHdoZXRoZXIgRkZDb2RlYyBvciBBVkNvZGVjIHNob3VsZCBoYXZlCiAgICAg IGhhbmRsZWRfc2lkZV9kYXRhIGxpc3QsIHNvIHRoYXQgaWYgZm9ybWF0IHNwZWNpZmljIGdlbmVy aWMgbG9naWMgaXMKICAgICAgYWRkZWQsIGl0IGNvdWxkIGJlIGNoZWNrZWQgd2hldGhlciB0aGUg Y29kZWMgaXRzZWxmIGhhbmRsZXMgdGhpcyBzaWRlCiAgICAgIGRhdGE/IFRoaXMgY291bGQgYWxz byBiZSB1dGlsaXplZCB0byBsaXN0IGhhbmRsZWQgc2lkZSBkYXRhIGZyb20gZi5leC4KICAgICAg YGZmbXBlZyAtaCBlbmNvZGVyPWxpYnN2dGF2MWAuCgpKYW4KCkphbiBFa3N0csO2bSAoMTQpOgog IGF2dXRpbC9mcmFtZTogc3BsaXQgc2lkZSBkYXRhIGxpc3Qgd2lwaW5nIG91dCB0byBub24tQVZG cmFtZSBmdW5jdGlvbgogIGF2dXRpbC9mcmFtZTogYWRkIGhlbHBlciBmb3IgZnJlZWluZyBhcnJh eXMgb2Ygc2lkZSBkYXRhCiAgYXZ1dGlsL2ZyYW1lOiBzcGxpdCBzaWRlX2RhdGFfZnJvbV9idWYg dG8gYmFzZSBhbmQgQVZGcmFtZSBmdW5jCiAgYXZ1dGlsL2ZyYW1lOiBzcGxpdCBzaWRlIGRhdGEg cmVtb3ZhbCBvdXQgdG8gbm9uLUFWRnJhbWUgZnVuY3Rpb24KICBhdnV0aWwvZnJhbWU6IGFkZCBo ZWxwZXIgZm9yIGFkZGluZyBzaWRlIGRhdGEgdG8gYXJyYXkKICBhdnV0aWwvZnJhbWU6IGFkZCBo ZWxwZXIgZm9yIGFkZGluZyBleGlzdGluZyBzaWRlIGRhdGEgdG8gYXJyYXkKICBhdnV0aWwvZnJh bWU6IGFkZCBoZWxwZXIgZm9yIGFkZGluZyBzaWRlIGRhdGEgdy8gQVZCdWZmZXJSZWYgdG8gYXJy YXkKICBhdnV0aWwvZnJhbWU6IGFkZCBoZWxwZXIgZm9yIGdldHRpbmcgc2lkZSBkYXRhIGZyb20g YXJyYXkKICBhdmNvZGVjOiBhZGQgZnJhbWUgc2lkZSBkYXRhIGFycmF5IHRvIEFWQ29kZWNDb250 ZXh0CiAgYXZjb2RlYzogYWRkIGhlbHBlciBmb3IgY29uZmlndXJpbmcgQVZDb2RlY0NvbnRleHQn cyBmcmFtZSBzaWRlIGRhdGEKICBmZm1wZWc6IHBhc3MgZmlyc3QgdmlkZW8gQVZGcmFtZSdzIHNp ZGUgZGF0YSB0byBlbmNvZGVyCiAgYXZjb2RlYy9saWJzdnRhdjE6IGFkZCBzdXBwb3J0IGZvciB3 cml0aW5nIG91dCBDTEwgYW5kIE1EQ1YKICBhdmNvZGVjL2xpYngyNjQ6IGFkZCBzdXBwb3J0IGZv ciB3cml0aW5nIG91dCBDTEwgYW5kIE1EQ1YKICBhdmNvZGVjL2xpYngyNjU6IGFkZCBzdXBwb3J0 IGZvciB3cml0aW5nIG91dCBDTEwgYW5kIE1EQ1YKCiBjb25maWd1cmUgICAgICAgICAgICAgICAg ICAgICAgIHwgICAyICsKIGZmdG9vbHMvZmZtcGVnX2VuYy5jICAgICAgICAgICAgfCAgMTAgKysK IGxpYmF2Y29kZWMvYXZjb2RlYy5jICAgICAgICAgICAgfCAgMzAgKysrKysrCiBsaWJhdmNvZGVj L2F2Y29kZWMuaCAgICAgICAgICAgIHwgIDI4ICsrKysrCiBsaWJhdmNvZGVjL2xpYnN2dGF2MS5j ICAgICAgICAgIHwgIDY4ICsrKysrKysrKysrKwogbGliYXZjb2RlYy9saWJ4MjY0LmMgICAgICAg ICAgICB8ICA3OSArKysrKysrKysrKysrKwogbGliYXZjb2RlYy9saWJ4MjY1LmMgICAgICAgICAg ICB8ICA4OCArKysrKysrKysrKysrKysKIGxpYmF2Y29kZWMvb3B0aW9ucy5jICAgICAgICAgICAg fCAgIDIgKwogbGliYXZ1dGlsL01ha2VmaWxlICAgICAgICAgICAgICB8ICAgMSArCiBsaWJhdnV0 aWwvZnJhbWUuYyAgICAgICAgICAgICAgIHwgMTgyICsrKysrKysrKysrKysrKysrKysrKysrKysr LS0tLS0tCiBsaWJhdnV0aWwvZnJhbWUuaCAgICAgICAgICAgICAgIHwgIDg1ICsrKysrKysrKysr KysrKwogbGliYXZ1dGlsL3Rlc3RzL3NpZGVfZGF0YV9zZXQuYyB8IDEwMyArKysrKysrKysrKysr KysrKysKIHRlc3RzL2ZhdGUvZW5jX2V4dGVybmFsLm1hayAgICAgfCAgMTUgKysrCiB0ZXN0cy9m YXRlL2xpYmF2dXRpbC5tYWsgICAgICAgIHwgICA0ICsKIHRlc3RzL3JlZi9mYXRlL2xpYnN2dGF2 MS1oZHIxMCAgfCAgMTQgKysrCiB0ZXN0cy9yZWYvZmF0ZS9saWJ4MjY0LWhkcjEwICAgIHwgIDE1 ICsrKwogdGVzdHMvcmVmL2ZhdGUvbGlieDI2NS1oZHIxMCAgICB8ICAxNiArKysKIHRlc3RzL3Jl Zi9mYXRlL3NpZGVfZGF0YV9zZXQgICAgfCAgMTQgKysrCiAxOCBmaWxlcyBjaGFuZ2VkLCA3MjYg aW5zZXJ0aW9ucygrKSwgMzAgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGliYXZ1 dGlsL3Rlc3RzL3NpZGVfZGF0YV9zZXQuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3RzL3JlZi9m YXRlL2xpYnN2dGF2MS1oZHIxMAogY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3RzL3JlZi9mYXRlL2xp YngyNjQtaGRyMTAKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy9yZWYvZmF0ZS9saWJ4MjY1LWhk cjEwCiBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdHMvcmVmL2ZhdGUvc2lkZV9kYXRhX3NldAoKCkZ1 bGwgZGlmZiBiYXNlZCBvbiB0aGUgc2FtZSBiYXNlIGhhc2ggZm9yIHY2LT52NzoKCmRpZmYgLS1n aXQgYS9saWJhdnV0aWwvZnJhbWUuYyBiL2xpYmF2dXRpbC9mcmFtZS5jCmluZGV4IGU3Njc5YmYz NGQuLmZkNGI1M2Y5ZmYgMTAwNjQ0Ci0tLSBhL2xpYmF2dXRpbC9mcmFtZS5jCisrKyBiL2xpYmF2 dXRpbC9mcmFtZS5jCkBAIC04ODksMzYgKzg4OSw1NSBAQCBBVkZyYW1lU2lkZURhdGEgKmF2X2Zy YW1lX3NpZGVfZGF0YV9uZXcoQVZGcmFtZVNpZGVEYXRhICoqKnNkLCBpbnQgKm5iX3NkLAogICAg IHJldHVybiByZXQ7CiB9CiAKLWludCBhdl9mcmFtZV9zaWRlX2RhdGFfZnJvbV9zZChBVkZyYW1l U2lkZURhdGEgKioqc2QsIGludCAqbmJfc2QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY29uc3QgQVZGcmFtZVNpZGVEYXRhICpzcmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdW5zaWduZWQgaW50IGZsYWdzKQorQVZGcmFtZVNpZGVEYXRhICphdl9mcmFtZV9zaWRl X2RhdGFfZnJvbV9idWYoQVZGcmFtZVNpZGVEYXRhICoqKnNkLCBpbnQgKm5iX3NkLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW51bSBBVkZyYW1lU2lkZURh dGFUeXBlIHR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjb25zdCBBVkJ1ZmZlclJlZiAqYnVmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGZsYWdzKQogewotICAgIGlmICghc2QgfHwgIXNy YyB8fCAhbmJfc2QgfHwgKCpuYl9zZCAmJiAhKnNkKSkKLSAgICAgICAgcmV0dXJuIEFWRVJST1Io RUlOVkFMKTsKKyAgICBpZiAoIXNkIHx8ICFidWYgfHwgIW5iX3NkIHx8ICgqbmJfc2QgJiYgISpz ZCkpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgaWYgKGZsYWdzICYgQVZfRlJBTUVfU0lE RV9EQVRBX1NFVF9GTEFHX05PX0RVUExJQ0FURVMpCisgICAgICAgIHJlbW92ZV9zaWRlX2RhdGEo c2QsIG5iX3NkLCB0eXBlKTsKIAogICAgIHsKLSAgICAgICAgQVZCdWZmZXJSZWYgICAgICAgICAg ICpidWYgICAgPSBhdl9idWZmZXJfcmVmKHNyYy0+YnVmKTsKLSAgICAgICAgQVZGcmFtZVNpZGVE YXRhICAgICAgICpzZF9kc3QgPSBOVUxMOworICAgICAgICBBVkJ1ZmZlclJlZiAgICAgKm5ld19i dWYgPSBhdl9idWZmZXJfcmVmKGJ1Zik7CisgICAgICAgIEFWRnJhbWVTaWRlRGF0YSAqc2RfZHN0 ICA9IE5VTEw7CiAKICAgICAgICAgaWYgKGZsYWdzICYgQVZfRlJBTUVfU0lERV9EQVRBX1NFVF9G TEFHX05PX0RVUExJQ0FURVMpCi0gICAgICAgICAgICByZW1vdmVfc2lkZV9kYXRhKHNkLCBuYl9z ZCwgc3JjLT50eXBlKTsKKyAgICAgICAgICAgIHJlbW92ZV9zaWRlX2RhdGEoc2QsIG5iX3NkLCB0 eXBlKTsKIAotICAgICAgICBzZF9kc3QgPSBhZGRfc2lkZV9kYXRhX3RvX3NldF9mcm9tX2J1Zihz ZCwgbmJfc2QsIHNyYy0+dHlwZSwgYnVmKTsKKyAgICAgICAgc2RfZHN0ID0gYWRkX3NpZGVfZGF0 YV90b19zZXRfZnJvbV9idWYoc2QsIG5iX3NkLCB0eXBlLCBuZXdfYnVmKTsKICAgICAgICAgaWYg KCFzZF9kc3QpIHsKLSAgICAgICAgICAgIGF2X2J1ZmZlcl91bnJlZigmYnVmKTsKLSAgICAgICAg ICAgIHJldHVybiBBVkVSUk9SKEVOT01FTSk7CisgICAgICAgICAgICBhdl9idWZmZXJfdW5yZWYo Jm5ld19idWYpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KIAotICAgICAg ICB7Ci0gICAgICAgICAgICBpbnQgcmV0ID0gYXZfZGljdF9jb3B5KCZzZF9kc3QtPm1ldGFkYXRh LCBzcmMtPm1ldGFkYXRhLCAwKTsKLSAgICAgICAgICAgIGlmIChyZXQgPCAwKSB7Ci0gICAgICAg ICAgICAgICAgcmVtb3ZlX3NpZGVfZGF0YV9ieV9lbnRyeShzZCwgbmJfc2QsIHNkX2RzdCk7Ci0g ICAgICAgICAgICAgICAgcmV0dXJuIHJldDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQorICAg ICAgICByZXR1cm4gc2RfZHN0OworICAgIH0KK30KIAotICAgICAgICByZXR1cm4gMDsKK2ludCBh dl9mcmFtZV9zaWRlX2RhdGFfZnJvbV9zZChBVkZyYW1lU2lkZURhdGEgKioqc2QsIGludCAqbmJf c2QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgQVZGcmFtZVNpZGVEYXRh ICpzcmMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGZsYWdz KQoreworICAgIEFWRnJhbWVTaWRlRGF0YSAqc2RfZHN0ID0gTlVMTDsKKyAgICBpbnQgcmV0ID0g QVZFUlJPUl9CVUc7CisgICAgaWYgKCFzcmMpCisgICAgICAgIHJldHVybiBBVkVSUk9SKEVJTlZB TCk7CisKKyAgICBzZF9kc3QgPQorICAgICAgICBhdl9mcmFtZV9zaWRlX2RhdGFfZnJvbV9idWYo c2QsIG5iX3NkLCBzcmMtPnR5cGUsIHNyYy0+YnVmLCBmbGFncyk7CisgICAgaWYgKCFzZF9kc3Qp CisgICAgICAgIHJldHVybiBBVkVSUk9SKEVOT01FTSk7CisKKyAgICByZXQgPSBhdl9kaWN0X2Nv cHkoJnNkX2RzdC0+bWV0YWRhdGEsIHNyYy0+bWV0YWRhdGEsIDApOworICAgIGlmIChyZXQgPCAw KSB7CisgICAgICAgIHJlbW92ZV9zaWRlX2RhdGFfYnlfZW50cnkoc2QsIG5iX3NkLCBzZF9kc3Qp OworICAgICAgICByZXR1cm4gcmV0OwogICAgIH0KKworICAgIHJldHVybiAwOwogfQogCiBjb25z dCBBVkZyYW1lU2lkZURhdGEgKmF2X2ZyYW1lX3NpZGVfZGF0YV9nZXQoY29uc3QgQVZGcmFtZVNp ZGVEYXRhICoqc2QsCmRpZmYgLS1naXQgYS9saWJhdnV0aWwvZnJhbWUuaCBiL2xpYmF2dXRpbC9m cmFtZS5oCmluZGV4IDc1MWY3YTY3ZDYuLjAxMzExZTY4ZWIgMTAwNjQ0Ci0tLSBhL2xpYmF2dXRp bC9mcmFtZS5oCisrKyBiL2xpYmF2dXRpbC9mcmFtZS5oCkBAIC0xMDgxLDYgKzEwODEsMjYgQEAg QVZGcmFtZVNpZGVEYXRhICphdl9mcmFtZV9zaWRlX2RhdGFfbmV3KEFWRnJhbWVTaWRlRGF0YSAq KipzZCwgaW50ICpuYl9zZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBlbnVtIEFWRnJhbWVTaWRlRGF0YVR5cGUgdHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzaXplX3Qgc2l6ZSwgdW5zaWduZWQgaW50IGZsYWdzKTsKIAorLyoq CisgKiBBZGQgYSBuZXcgc2lkZSBkYXRhIGVudHJ5IHRvIGEgc2V0IGZyb20gYW4gZXhpc3Rpbmcg QVZCdWZmZXJSZWYuCisgKgorICogQHBhcmFtIHNkICAgIHBvaW50ZXIgdG8gYXJyYXkgb2Ygc2lk ZSBkYXRhIHRvIHdoaWNoIHRvIGFkZCBhbm90aGVyIGVudHJ5LgorICogQHBhcmFtIG5iX3NkIHBv aW50ZXIgdG8gYW4gaW50ZWdlciBjb250YWluaW5nIHRoZSBudW1iZXIgb2YgZW50cmllcyBpbgor ICogICAgICAgICAgICAgIHRoZSBhcnJheS4KKyAqIEBwYXJhbSB0eXBlICB0eXBlIG9mIHRoZSBh ZGRlZCBzaWRlIGRhdGEKKyAqIEBwYXJhbSBidWYgICBBVkJ1ZmZlclJlZiBmb3Igd2hpY2ggYSBu ZXcgcmVmZXJlbmNlIHdpbGwgYmUgbWFkZQorICogQHBhcmFtIGZsYWdzIFNvbWUgY29tYmluYXRp b24gb2YgQVZfRlJBTUVfU0lERV9EQVRBX1NFVF9GTEFHXyogZmxhZ3MsIG9yIDAuCisgKgorICog QHJldHVybiBuZXdseSBhZGRlZCBzaWRlIGRhdGEgb24gc3VjY2VzcywgTlVMTCBvbiBlcnJvci4g SW4gY2FzZSBvZgorICogICAgICAgICBBVl9GUkFNRV9TSURFX0RBVEFfU0VUX0ZMQUdfTk9fRFVQ TElDQVRFUyBiZWluZyBzZXQsIGVudHJpZXMKKyAqICAgICAgICAgb2YgbWF0Y2hpbmcgQVZGcmFt ZVNpZGVEYXRhVHlwZSB3aWxsIGJlIHJlbW92ZWQgYmVmb3JlIHRoZQorICogICAgICAgICBhZGRp dGlvbiBpcyBhdHRlbXB0ZWQuCisgKi8KK0FWRnJhbWVTaWRlRGF0YSAqYXZfZnJhbWVfc2lkZV9k YXRhX2Zyb21fYnVmKEFWRnJhbWVTaWRlRGF0YSAqKipzZCwgaW50ICpuYl9zZCwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudW0gQVZGcmFtZVNpZGVEYXRh VHlwZSB0eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y29uc3QgQVZCdWZmZXJSZWYgKmJ1ZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHVuc2lnbmVkIGludCBmbGFncyk7CisKIC8qKgogICogQWRkIGEgbmV3IHNp ZGUgZGF0YSBlbnRyeSB0byBhIHNldCBiYXNlZCBvbiBleGlzdGluZyBzaWRlIGRhdGEsIHRha2lu ZwogICogYSByZWZlcmVuY2UgdG93YXJkcyB0aGUgY29udGFpbmVkIEFWQnVmZmVyUmVmLgoKLS0g CjIuNDQuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K ZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczov L2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJl LCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcu b3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=