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 ESMTPS id 1646A4CDF6 for ; Wed, 14 May 2025 13:32:10 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2828468C455; Wed, 14 May 2025 16:32:06 +0300 (EEST) Received: from mail-pg1-f175.google.com (mail-pg1-f175.google.com [209.85.215.175]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id DDD73687ABF for ; Wed, 14 May 2025 16:31:59 +0300 (EEST) Received: by mail-pg1-f175.google.com with SMTP id 41be03b00d2f7-af908bb32fdso647744a12.1 for ; Wed, 14 May 2025 06:31:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1747229518; x=1747834318; darn=ffmpeg.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=pKUsU9P5CDsuQ4PchK3L784WzZhWNoRLSmIaYGI4uFI=; b=Qh0jlRt9Uu6WiodmAkCEb5nugxf+xNXMyqZJC1GbLowt5C8vZepWhuiNzoUG71SRt1 GtBdIocUUYhtkkZsdY+KsUWX3E8qNatHFQVd8/3+IO4lE1s2qYx2wK6kJS6kGEr5w/qI MynbuHC9m6zyL/nr4rTs+Dk2BSlJrSgkZl2E033KW3JJxwtXECNouVpFGNCUaCXs4M9j 58aN9PeYyzHxKGjAd7ss/J/oGrR60Prkj3j0FAWnkVHcLbTtkpN97oDPBrzjsv/Y/txb vcsxriecDA/W1e9gmG0WWgZJg6irwWVgwI0jM4wXLyf7j0NBwE3VRZuYtofvHhLBlzsd Q8kQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747229518; x=1747834318; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=pKUsU9P5CDsuQ4PchK3L784WzZhWNoRLSmIaYGI4uFI=; b=k76BiKlIhgIMfXeSctMqBeYuYPp1dU0UsEHy6rMF23w6jw7IFkZohxgZhwN2PbmJu2 +J3tDY1JWju8Fhq64gNvO+nNnGkTaUJohl9cnCob7C801Sp44ZOk88fZWqwUOtFOBCC9 RG6ARS4NQscUr1BILYqsQ3VtD2GinvqSEf4YpPZMLdQjWJhJrAYXFbX7lCMfyo1y836S 34wBkX+OWbyV0Wyfn9Vx7PHcnRXnTWzZatwHocVt5Y8PHuKywyO3YerRIwdEff8roZCt lNMiadtneiVgppDiWhM7351Cvu6xk8U9h5XmZr2sQqQ1gNau+0wl1jxPsmi1c09oc+ed 0RpQ== X-Gm-Message-State: AOJu0YyQJTxxb2xuYGSgmW4KBq0/uv+6Gb2M0/6HefaTXDdZHknypXjt DkmezwUZ7wV+17ik1XYldwWcCypfrfHoJ7DJigq4mNrMB5h6vZypriQLWvQ7QHgWuA6ypXS4LVi S2GDahuo0sllj/JCQB/gVPe6SxS4BK2MntbQ= X-Gm-Gg: ASbGncsD5iga23/xvJB29YK2qFoeDLKSgPdRH5N/s3IDt+vXpkAbDaEr0tVhK3hV7aM xWJWzgJs3CPJ5KYJQuu7icwYcxxgn27Pn+26UCUw7PZVXNtYPfd7/NQWUr1syosauJ+FmuKrYwD UuKnL6VYerPZM9J5FDpgYz4R5ZHHvDxh6Vk5E= X-Google-Smtp-Source: AGHT+IHnNZvt1o0AsXg75efY+GLO+2WMKsmwVSoB/2lifBQG2Y53SYm8FmLpe6tPiZqAjfwPxWha9yswZbEhixMdgPg= X-Received: by 2002:a17:902:d4d0:b0:221:1356:10c5 with SMTP id d9443c01a7336-2317caf3186mr113400825ad.9.1747229517194; Wed, 14 May 2025 06:31:57 -0700 (PDT) MIME-Version: 1.0 From: Andrew Randrianasulu Date: Wed, 14 May 2025 13:31:46 +0300 X-Gm-Features: AX0GCFsqvhySFLVta_mS5wiFq-NOHhZteUE4ojFqxBwIJR3tyvmWH8xtgJ02wtw Message-ID: To: FFmpeg development discussions and patches , "Cinelerra.GG" , Phyllis Smith Content-Type: multipart/mixed; boundary="000000000000b6fabf0635189207" Subject: [FFmpeg-devel] Vulkan hevc hdr decode regression on ffmpeg master? 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: --000000000000b6fabf0635189207 Content-Type: text/plain; charset="UTF-8" So I was experimenting with Vulkan decoding in cinelerra-gg. After some fight I get build using ffmpeg git commit 038314bc6be2f35a82e9fba2228bcac2e4fee648 for ffmpeg here is bunch of errors like this: [hevc @ 0x6f7465c0] Could not find ref with POC 296 [hevc @ 0x6f7465c0] Error constructing the frame RPS. [hevc @ 0x6f7465c0] Skipping invalid undecodable NALU: 9 [hevc @ 0x6f72ad00] Could not find ref with POC 296 [hevc @ 0x6f72ad00] Error constructing the frame RPS. [hevc @ 0x6f72ad00] Skipping invalid undecodable NALU: 8 [hevc @ 0x6f77b3c0] Could not find ref with POC 298 [hevc @ 0x6f77b3c0] Error constructing the frame RPS. [hevc @ 0x6f77b3c0] Skipping invalid undecodable NALU: 8 [hevc @ 0x6f789480] Could not find ref with POC 300 [hevc @ 0x6f789480] Error constructing the frame RPS. [hevc @ 0x6f789480] Skipping invalid undecodable NALU: 1 [hevc @ 0x6f7465c0] Could not find ref with POC 300 [hevc @ 0x6f7465c0] Error constructing the frame RPS. [hevc @ 0x6f7465c0] Skipping invalid undecodable NALU: 3 [hevc @ 0x6f72ad00] Could not find ref with POC 300 [hevc @ 0x6f72ad00] Error constructing the frame RPS. [hevc @ 0x6f72ad00] Skipping invalid undecodable NALU: 2 [hevc @ 0x6f77b3c0] Could not find ref with POC 302 [hevc @ 0x6f77b3c0] Error constructing the frame RPS. [hevc @ 0x6f77b3c0] Skipping invalid undecodable NALU: 2 [hevc @ 0x6f789480] Could not find ref with POC 304 [hevc @ 0x6f789480] Error constructing the frame RPS. [hevc @ 0x6f789480] Skipping invalid undecodable NALU: 1 [hevc @ 0x6f7465c0] Could not find ref with POC 304 [hevc @ 0x6f7465c0] Error constructing the frame RPS. [hevc @ 0x6f7465c0] Skipping invalid undecodable NALU: 3 [hevc @ 0x6f72ad00] Could not find ref with POC 304 [hevc @ 0x6f72ad00] Error constructing the frame RPS. [hevc @ 0x6f72ad00] Skipping invalid undecodable NALU: 2 [hevc @ 0x6f77b3c0] Could not find ref with POC 306 [hevc @ 0x6f77b3c0] Error constructing the frame RPS. [hevc @ 0x6f77b3c0] Skipping invalid undecodable NALU: 2 [hevc @ 0x6f789480] Could not find ref with POC 308 [hevc @ 0x6f789480] Error constructing the frame RPS. [hevc @ 0x6f789480] Skipping invalid undecodable NALU: 1 [hevc @ 0x6f7465c0] Could not find ref with POC 308 [hevc @ 0x6f7465c0] Error constructing the frame RPS. [hevc @ 0x6f7465c0] Skipping invalid undecodable NALU: 3 [hevc @ 0x6f72ad00] Could not find ref with POC 308 [hevc @ 0x6f72ad00] Error constructing the frame RPS. [hevc @ 0x6f72ad00] Skipping invalid undecodable NALU: 2 [hevc @ 0x6f77b3c0] Could not find ref with POC 310 [hevc @ 0x6f77b3c0] Error constructing the frame RPS. [hevc @ 0x6f77b3c0] Skipping invalid undecodable NALU: 2 [hevc @ 0x6f789480] Could not find ref with POC 312 [hevc @ 0x6f789480] Error constructing the frame RPS. [hevc @ 0x6f789480] Skipping invalid undecodable NALU: 1 [hevc @ 0x6f7465c0] Could not find ref with POC 312 [hevc @ 0x6f7465c0] Error constructing the frame RPS. [hevc @ 0x6f7465c0] Skipping invalid undecodable NALU: 3 [hevc @ 0x6f72ad00] Could not find ref with POC 312 [hevc @ 0x6f72ad00] Error constructing the frame RPS. [hevc @ 0x6f72ad00] Skipping invalid undecodable NALU: 2 [hevc @ 0x6f77b3c0] Could not find ref with POC 314 [hevc @ 0x6f77b3c0] Error constructing the frame RPS. [hevc @ 0x6f77b3c0] Skipping invalid undecodable NALU: 2 [hevc @ 0x6f789480] Could not find ref with POC 316 [hevc @ 0x6f789480] Error constructing the frame RPS. [hevc @ 0x6f789480] Skipping invalid undecodable NALU: 1 [hevc @ 0x6f7465c0] Could not find ref with POC 316 [hevc @ 0x6f7465c0] Error constructing the frame RPS. [hevc @ 0x6f7465c0] Skipping invalid undecodable NALU: 3 [hevc @ 0x6f72ad00] Could not find ref with POC 316 [hevc @ 0x6f72ad00] Error constructing the frame RPS. [hevc @ 0x6f72ad00] Skipping invalid undecodable NALU: 2 [hevc @ 0x6f77b3c0] Could not find ref with POC 318 [hevc @ 0x6f77b3c0] Error constructing the frame RPS. [hevc @ 0x6f77b3c0] Skipping invalid undecodable NALU: 2 [hevc @ 0x6f789480] Could not find ref with POC 320 [hevc @ 0x6f789480] Error constructing the frame RPS. [hevc @ 0x6f789480] Skipping invalid undecodable NALU: 1 [hevc @ 0x6f7465c0] Could not find ref with POC 320 [hevc @ 0x6f7465c0] Error constructing the frame RPS. [hevc @ 0x6f7465c0] Skipping invalid undecodable NALU: 3 [hevc @ 0x6f72ad00] Could not find ref with POC 320 [hevc @ 0x6f72ad00] Error constructing the frame RPS. [hevc @ 0x6f72ad00] Skipping invalid undecodable NALU: 2 [hevc @ 0x6f77b3c0] Could not find ref with POC 322 [hevc @ 0x6f77b3c0] Error constructing the frame RPS. [hevc @ 0x6f77b3c0] Skipping invalid undecodable NALU: 2 [hevc @ 0x6f789480] Could not find ref with POC 324 [hevc @ 0x6f789480] Error constructing the frame RPS. [hevc @ 0x6f789480] Skipping invalid undecodable NALU: 1 [hevc @ 0x6f7465c0] Could not find ref with POC 324 [hevc @ 0x6f7465c0] Error constructing the frame RPS. [hevc @ 0x6f7465c0] Skipping invalid undecodable NALU: 3 [hevc @ 0x6f72ad00] Could not find ref with POC 324 [hevc @ 0x6f72ad00] Error constructing the frame RPS. [hevc @ 0x6f72ad00] Skipping invalid undecodable NALU: 2 [hevc @ 0x6f77b3c0] Could not find ref with POC 326 [hevc @ 0x6f77b3c0] Error constructing the frame RPS. [hevc @ 0x6f77b3c0] Skipping invalid undecodable NALU: 2 [hevc @ 0x6f789480] Could not find ref with POC 328 [hevc @ 0x6f789480] Error constructing the frame RPS. [hevc @ 0x6f789480] Skipping invalid undecodable NALU: 1 [hevc @ 0x6f7465c0] Could not find ref with POC 328 [hevc @ 0x6f7465c0] Error constructing the frame RPS. [hevc @ 0x6f7465c0] Skipping invalid undecodable NALU: 3 [hevc @ 0x6f72ad00] Could not find ref with POC 328 [hevc @ 0x6f72ad00] Error constructing the frame RPS. [hevc @ 0x6f72ad00] Skipping invalid undecodable NALU: 2 [hevc @ 0x6f77b3c0] Could not find ref with POC 330 [hevc @ 0x6f77b3c0] Error constructing the frame RPS. [hevc @ 0x6f77b3c0] Skipping invalid undecodable NALU: 2 [hevc @ 0x6f789480] Could not find ref with POC 332 [hevc @ 0x6f789480] Error constructing the frame RPS. [hevc @ 0x6f789480] Skipping invalid undecodable NALU: 1 [hevc @ 0x6f7465c0] Could not find ref with POC 332 [hevc @ 0x6f7465c0] Error constructing the frame RPS. [hevc @ 0x6f7465c0] Skipping invalid undecodable NALU: 3 file itself: https://drive.google.com/file/d/1Ic9DZXMSo07EJMqCFaQRKSSrSw6y1mYv/view But I see some kind of first frame corruption I never saw on 7.0 build https://paste.pics/860707666060d195485e07ea7b057ce8 and speed kinda down from 58 fps to just 50-51 relative to ffmpeg libs 7.0? hw: 01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Lexa PRO [Radeon 540/540X/550/550X / RX 540X/550/550X] (rev c7) mesa: OpenGL renderer string: AMD Radeon RX 550 / 550 Series (radeonsi, polaris12, ACO, DRM 3.61, 6.12.26-x64) OpenGL core profile version string: 4.6 (Core Profile) Mesa 25.2.0-devel (git-ef63e3e4d2) cingg home git: git://git.cinelerra-gg.org/goodguy/cinelerra.git I set two evn. variables specific to my system, but mostly I wanted to get libplacebo and libzimg for HDR->SDR conversion EXTRA_LIBS := -lOpenCL -lSvtAv1Enc -lvpl -ldav1d -lxvidcore -lass -lbluray -lsnappy -lzimg -lplacebo -lshaderc_shared -lnuma -lva -lva-x11 `pkg-config --libs x11` -lva-drm -ldl FFMPEG_EXTRA_CFG := --enable-libvpl --disable-doc --enable-opencl --enable-libsvtav1 --enable-frei0r --enable-libdav1d --enable-libzimg --enable-libxvid --enable-libass --enable-libbluray --enable-libsnappy --enable-libshaderc --enable-libplacebo --enable-vulkan --disable-debug --extra-cflags=-I/usr/local/include/vpl --extra-cflags=-I/usr/include/svt-av1 --extra-ldflags=" -lva `pkg-config --libs libva` -lva-x11 -lva-drm -ldl" cingg configure: ./configure --with-git-ffmpeg=https://git.ffmpeg.org/ffmpeg.git --with-single-user --enable-libsvtav1 --disable-dav1d I used bunch of patches (attached, done by Phyllis and me) and manually removed posprocess.a ref. from our configure.ac for now there is still some problem with attaching ffmpeg filters per-input-file, but main Vulkan decode problem still visible without any filters I run just-compiled cin binary like this: RADV_PERFTEST=video_decode bin/cin ~/K38_sdcard1/Documents/iPhone11_4K-recorder_59.940HDR10.mov and got corruption as visible on screenshot at the start of this email Playing image forward cleans up this corruption, but returning to timeline beginning bring it back. --000000000000b6fabf0635189207 Content-Type: text/x-patch; charset="US-ASCII"; name="0003-Do-not-filter-out-dynamic_input-filters.patch" Content-Disposition: attachment; filename="0003-Do-not-filter-out-dynamic_input-filters.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mansl6n93 RnJvbSAzMmI5OTAyNzlmZDA1ZTM5NzM4ZWQ2YjI1MmUyNzhmMmI3NTA3YjRkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZXcgUmFuZHJpYW5hc3VsdSA8cmFuZHJpYW5hc3VsdUBn bWFpbC5jb20+CkRhdGU6IFNhdCwgMTAgTWF5IDIwMjUgMTU6MDc6MzIgKzAzMDAKU3ViamVjdDog W1BBVENIIDMvNF0gRG8gbm90IGZpbHRlciBvdXQgZHluYW1pY19pbnB1dCBmaWx0ZXJzCgotLS0K IGNpbmVsZXJyYS01LjEvY2luZWxlcnJhL3BsdWdpbmZjbGllbnQuQyB8IDIgKy0KIDEgZmlsZSBj aGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2NpbmVs ZXJyYS01LjEvY2luZWxlcnJhL3BsdWdpbmZjbGllbnQuQyBiL2NpbmVsZXJyYS01LjEvY2luZWxl cnJhL3BsdWdpbmZjbGllbnQuQwppbmRleCBiODY5NGIxMi4uNzY0YmExMjEgMTAwNjQ0Ci0tLSBh L2NpbmVsZXJyYS01LjEvY2luZWxlcnJhL3BsdWdpbmZjbGllbnQuQworKysgYi9jaW5lbGVycmEt NS4xL2NpbmVsZXJyYS9wbHVnaW5mY2xpZW50LkMKQEAgLTEyNTUsNyArMTI1NSw3IEBAIGludCBQ bHVnaW5GRmlsdGVyOjppbml0KGNvbnN0IGNoYXIgKm5hbWUsIFBsdWdpbkZDbGllbnRDb25maWcg KmNvbmYpCiAJUGx1Z2luRkxvZ0xldmVsIGVycnMoQVZfTE9HX0VSUk9SKTsKIAl0aGlzLT5maWx0 ZXIgPSBhdmZpbHRlcl9nZXRfYnlfbmFtZShuYW1lKTsKIAlpZiggIXRoaXMtPmZpbHRlciApIHJl dHVybiBBVkVSUk9SKEVOT0VOVCk7Ci0JaW50IGZsYWdfbWFzayA9IEFWRklMVEVSX0ZMQUdfRFlO QU1JQ19JTlBVVFMgfCBBVkZJTFRFUl9GTEFHX0RZTkFNSUNfT1VUUFVUUzsKKwlpbnQgZmxhZ19t YXNrID0gLyogQVZGSUxURVJfRkxBR19EWU5BTUlDX0lOUFVUUyB8Ki8gQVZGSUxURVJfRkxBR19E WU5BTUlDX09VVFBVVFM7CiAJaWYoIGZpbHRlci0+ZmxhZ3MgJiBmbGFnX21hc2sgKSByZXR1cm4g QVZFUlJPUihFUEVSTSk7CiAJaWYoICF0aGlzLT5pc19hdWRpbygpICYmICF0aGlzLT5pc192aWRl bygpICkgcmV0dXJuIEFWRVJST1IoRUlPKTsKIAl0aGlzLT5ncmFwaCA9IGF2ZmlsdGVyX2dyYXBo X2FsbG9jKCk7Ci0tIAoyLjQ2LjMKCg== --000000000000b6fabf0635189207 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Add-check-for-nb_inputs-before-calling-avfilter_get_.patch" Content-Disposition: attachment; filename="0001-Add-check-for-nb_inputs-before-calling-avfilter_get_.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mansl6ly1 RnJvbSA3M2U3NGIwNjRiODBhMGM0Y2RlYjgwYTM3MzNmYWY2NjZmZDBlNGE5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZXcgUmFuZHJpYW5hc3VsdSA8cmFuZHJpYW5hc3VsdUBn bWFpbC5jb20+CkRhdGU6IFNhdCwgMTAgTWF5IDIwMjUgMTE6MDY6NDQgKzAzMDAKU3ViamVjdDog W1BBVENIIDEvNF0gQWRkIGNoZWNrIGZvciBuYl9pbnB1dHMgYmVmb3JlIGNhbGxpbmcKIGF2Zmls dGVyX2dldF9wYWRfbmFtZSwgZml4ZXMgY3Jhc2gKCi0tLQogY2luZWxlcnJhLTUuMS9jaW5lbGVy cmEvZmZtcGVnLkMgfCA0ICsrKy0KIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEg ZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9jaW5lbGVycmEtNS4xL2NpbmVsZXJyYS9mZm1wZWcu QyBiL2NpbmVsZXJyYS01LjEvY2luZWxlcnJhL2ZmbXBlZy5DCmluZGV4IDFkMDk3OWRmLi44MmFl MDg1NiAxMDA2NDQKLS0tIGEvY2luZWxlcnJhLTUuMS9jaW5lbGVycmEvZmZtcGVnLkMKKysrIGIv Y2luZWxlcnJhLTUuMS9jaW5lbGVycmEvZmZtcGVnLkMKQEAgLTM5MDMsNyArMzkwMyw5IEBAIGlu dCBGRlZpZGVvU3RyZWFtOjpjcmVhdGVfZmlsdGVyKGNvbnN0IGNoYXIgKmZpbHRlcl9zcGVjKQog CQl3aGlsZSggLS1pPj0wICYmICpzcCE9MCAmJiAhc3RyY2hyKCIgXHQ6PSwiLCpzcCkgKSAqbnAr KyA9ICpzcCsrOwogCQkqbnAgPSAwOwogCQljb25zdCBBVkZpbHRlciAqZmlsdGVyID0gIWZpbHRl cl9uYW1lWzBdID8gMCA6IGF2ZmlsdGVyX2dldF9ieV9uYW1lKGZpbHRlcl9uYW1lKTsKLQkJaWYo ICFmaWx0ZXIgfHwgYXZmaWx0ZXJfcGFkX2dldF90eXBlKGZpbHRlci0+aW5wdXRzLDApICE9IEFW TUVESUFfVFlQRV9WSURFTyApIHsKKwkJLy9BVkZpbHRlckNvbnRleHQgKmN0eCA9IGZpbHRlci0+ Y3R4OworCQlpbnQgICAgICAgbmJfcGFkcyA9IGZpbHRlci0+bmJfaW5wdXRzOworCQlpZiggIWZp bHRlciB8fCAobmJfcGFkcz4xICYmIGF2ZmlsdGVyX3BhZF9nZXRfdHlwZShmaWx0ZXItPmlucHV0 cywwKSkgIT0gQVZNRURJQV9UWVBFX1ZJREVPICkgewogCQkJZmZfZXJyKEFWRVJST1IoRUlOVkFM KSwgIkZGVmlkZW9TdHJlYW06OmNyZWF0ZV9maWx0ZXI6ICVzXG4iLCBmaWx0ZXJfc3BlYyk7CiAJ CQlyZXR1cm4gLTE7CiAJCX0KLS0gCjIuNDYuMwoK --000000000000b6fabf0635189207 Content-Type: text/x-patch; charset="US-ASCII"; name="0002-Same-possible-crash-fix-in-ffstreamaudio-for-dynamic.patch" Content-Disposition: attachment; filename="0002-Same-possible-crash-fix-in-ffstreamaudio-for-dynamic.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mansl6mp2 RnJvbSBjNjU0OGNiNjM3YmQ5ZTBkYzMxYzYzMjdmMjgwY2ZmYWRlMjExNjQxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZXcgUmFuZHJpYW5hc3VsdSA8cmFuZHJpYW5hc3VsdUBn bWFpbC5jb20+CkRhdGU6IFNhdCwgMTAgTWF5IDIwMjUgMTQ6NTc6MDAgKzAzMDAKU3ViamVjdDog W1BBVENIIDIvNF0gU2FtZSBwb3NzaWJsZSBjcmFzaCAgZml4IGluIGZmc3RyZWFtYXVkaW8gZm9y IGR5bmFtaWMKIGlucHV0cyA8MQoKLS0tCiBjaW5lbGVycmEtNS4xL2NpbmVsZXJyYS9mZm1wZWcu QyB8IDMgKystCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0p CgpkaWZmIC0tZ2l0IGEvY2luZWxlcnJhLTUuMS9jaW5lbGVycmEvZmZtcGVnLkMgYi9jaW5lbGVy cmEtNS4xL2NpbmVsZXJyYS9mZm1wZWcuQwppbmRleCA4MmFlMDg1Ni4uMDBiMDI3OTEgMTAwNjQ0 Ci0tLSBhL2NpbmVsZXJyYS01LjEvY2luZWxlcnJhL2ZmbXBlZy5DCisrKyBiL2NpbmVsZXJyYS01 LjEvY2luZWxlcnJhL2ZmbXBlZy5DCkBAIC0zOTU5LDcgKzM5NTksOCBAQCBpbnQgRkZBdWRpb1N0 cmVhbTo6Y3JlYXRlX2ZpbHRlcihjb25zdCBjaGFyICpmaWx0ZXJfc3BlYykKIAkJd2hpbGUoIC0t aT49MCAmJiAqc3AhPTAgJiYgIXN0cmNocigiIFx0Oj0sIiwqc3ApICkgKm5wKysgPSAqc3ArKzsK IAkJKm5wID0gMDsKIAkJY29uc3QgQVZGaWx0ZXIgKmZpbHRlciA9ICFmaWx0ZXJfbmFtZVswXSA/ IDAgOiBhdmZpbHRlcl9nZXRfYnlfbmFtZShmaWx0ZXJfbmFtZSk7Ci0JCWlmKCAhZmlsdGVyIHx8 IGF2ZmlsdGVyX3BhZF9nZXRfdHlwZShmaWx0ZXItPmlucHV0cywwKSAhPSBBVk1FRElBX1RZUEVf QVVESU8gKSB7CisJCWludCAgICAgICBuYl9wYWRzID0gZmlsdGVyLT5uYl9pbnB1dHM7CisJCWlm KCAhZmlsdGVyIHx8IChuYl9wYWRzID4xICYmICBhdmZpbHRlcl9wYWRfZ2V0X3R5cGUoZmlsdGVy LT5pbnB1dHMsMCkpICE9IEFWTUVESUFfVFlQRV9BVURJTyApIHsKIAkJCWZmX2VycihBVkVSUk9S KEVJTlZBTCksICJGRkF1ZGlvU3RyZWFtOjpjcmVhdGVfZmlsdGVyOiAlc1xuIiwgZmlsdGVyX3Nw ZWMpOwogCQkJcmV0dXJuIC0xOwogCQl9Ci0tIAoyLjQ2LjMKCg== --000000000000b6fabf0635189207 Content-Type: application/octet-stream; name="ffmpeg.git.patch1" Content-Disposition: attachment; filename="ffmpeg.git.patch1" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mansmtmi4 LS0tIGEvZmZ0b29scy9jbWR1dGlscy5jCTIwMjUtMDQtMTggMTI6Mzg6NDAuNTYyNzczOTg4IC0w NjAwCisrKyBiL2ZmdG9vbHMvY21kdXRpbHMuYwkyMDI1LTA0LTE4IDEyOjM3OjA2LjQ5MzU0NzE1 MyAtMDYwMApAQCAtNTcsNyArNTcsNyBAQAogQVZEaWN0aW9uYXJ5ICpzd3Jfb3B0czsKIEFWRGlj dGlvbmFyeSAqZm9ybWF0X29wdHMsICpjb2RlY19vcHRzOwogCi1pbnQgaGlkZV9iYW5uZXIgPSAw OworaW50IGhpZGVfYmFubmVyID0gMTsKIAogdm9pZCB1bmluaXRfb3B0cyh2b2lkKQogewo= --000000000000b6fabf0635189207 Content-Type: application/octet-stream; name="ffmpeg.git.patch3" Content-Disposition: attachment; filename="ffmpeg.git.patch3" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mansmtnn6 LS0tIGEvbGliYXZmb3JtYXQvYXZmb3JtYXQuaAkyMDI1LTA1LTA4IDE1OjU4OjM3LjkzMzE3MjY0 MCAtMDYwMAorKysgYi9saWJhdmZvcm1hdC9hdmZvcm1hdC5oCTIwMjUtMDUtMDggMTU6NTc6NDYu OTY0NDEwODI1IC0wNjAwCkBAIC00OTYsNiArNDk2LDkgQEAKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBUaGUgdXNlciBvciBtdXhlciBjYW4gb3ZlcnJpZGUgdGhpcyB0 aHJvdWdoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVZGb3JtYXRD b250ZXh0LmF2b2lkX25lZ2F0aXZlX3RzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKi8KKyNkZWZpbmUgQVZGTVRfU0VFS19OT1NUUkVBTVMgIDB4ODAwMDAgLyoqPCBT dHJlYW0gaW5kZXggaWdub3JlZCBieSBzZWVrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG9yIHNvbWUgc3RyZWFtcyBmYWlsIHRvIHNlZWsKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwogCiAjZGVmaW5lIEFWRk1UX1NFRUtf VE9fUFRTICAgMHg0MDAwMDAwIC8qKjwgU2Vla2luZyBpcyBiYXNlZCBvbiBQVFMgKi8KIApAQCAt NTU5LDcgKzU2Miw4IEBACiAgICAgLyoqCiAgICAgICogQ2FuIHVzZSBmbGFnczogQVZGTVRfTk9G SUxFLCBBVkZNVF9ORUVETlVNQkVSLCBBVkZNVF9TSE9XX0lEUywKICAgICAgKiBBVkZNVF9OT1RJ TUVTVEFNUFMsIEFWRk1UX0dFTkVSSUNfSU5ERVgsIEFWRk1UX1RTX0RJU0NPTlQsIEFWRk1UX05P QklOU0VBUkNILAotICAgICAqIEFWRk1UX05PR0VOU0VBUkNILCBBVkZNVF9OT19CWVRFX1NFRUss IEFWRk1UX1NFRUtfVE9fUFRTLgorICAgICAqIEFWRk1UX05PR0VOU0VBUkNILCBBVkZNVF9OT19C WVRFX1NFRUssIEFWRk1UX1NFRUtfVE9fUFRTLAorICAgICAqIEFWRk1UX1NFRUtfTk9TVFJFQU1T CiAgICAgICovCiAgICAgaW50IGZsYWdzOwogCi0tLSBhL2xpYmF2Zm9ybWF0L2R2LmMJMjAyNS0w NS0wOCAxNTo1OToyNi4xNDM4NTE3MjcgLTA2MDAKKysrIGIvbGliYXZmb3JtYXQvZHYuYwkyMDI1 LTA1LTA4IDE1OjU5OjAxLjEwMzUwOTk1NSAtMDYwMApAQCAtNzE0LDYgKzcxNCw3IEBACiBjb25z dCBGRklucHV0Rm9ybWF0IGZmX2R2X2RlbXV4ZXIgPSB7CiAgICAgLnAubmFtZSAgICAgICAgID0g ImR2IiwKICAgICAucC5sb25nX25hbWUgICAgPSBOVUxMX0lGX0NPTkZJR19TTUFMTCgiRFYgKERp Z2l0YWwgVmlkZW8pIiksCisgICAgLnAuZmxhZ3MJICAgICA9IEFWRk1UX1NFRUtfTk9TVFJFQU1T LAogICAgIC5wLmV4dGVuc2lvbnMgICA9ICJkdixkaWYiLAogICAgIC5wcml2X2RhdGFfc2l6ZSA9 IHNpemVvZihSYXdEVkNvbnRleHQpLAogICAgIC5yZWFkX3Byb2JlICAgICA9IGR2X3Byb2JlLAoK LS0tIGEvbGliYXZmb3JtYXQvbWF0cm9za2FkZWMuYwkyMDI1LTA1LTA4IDE2OjAwOjM0LjQwNjc0 MDEwNyAtMDYwMAorKysgYi9saWJhdmZvcm1hdC9tYXRyb3NrYWRlYy5jCTIwMjUtMDUtMDggMTU6 NTk6MzcuNzc3MDAzMTIzIC0wNjAwCkBAIC00ODMyLDYgKzQ4MzIsNyBAQAogY29uc3QgRkZJbnB1 dEZvcm1hdCBmZl93ZWJtX2Rhc2hfbWFuaWZlc3RfZGVtdXhlciA9IHsKICAgICAucC5uYW1lICAg ICAgICAgPSAid2VibV9kYXNoX21hbmlmZXN0IiwKICAgICAucC5sb25nX25hbWUgICAgPSBOVUxM X0lGX0NPTkZJR19TTUFMTCgiV2ViTSBEQVNIIE1hbmlmZXN0IiksCisgICAgLnAuZmxhZ3MgICAg ICAgID0gQVZGTVRfU0VFS19OT1NUUkVBTVMsCiAgICAgLnAucHJpdl9jbGFzcyAgID0gJndlYm1f ZGFzaF9jbGFzcywKICAgICAucHJpdl9kYXRhX3NpemUgPSBzaXplb2YoTWF0cm9za2FEZW11eENv bnRleHQpLAogICAgIC5mbGFnc19pbnRlcm5hbCA9IEZGX0lORk1UX0ZMQUdfSU5JVF9DTEVBTlVQ LApAQCAtNDg0NCw2ICs0ODQ1LDcgQEAKIGNvbnN0IEZGSW5wdXRGb3JtYXQgZmZfbWF0cm9za2Ff ZGVtdXhlciA9IHsKICAgICAucC5uYW1lICAgICAgICAgPSAibWF0cm9za2Esd2VibSIsCiAgICAg LnAubG9uZ19uYW1lICAgID0gTlVMTF9JRl9DT05GSUdfU01BTEwoIk1hdHJvc2thIC8gV2ViTSIp LAorICAgIC5wLmZsYWdzICAgICAgICA9IEFWRk1UX1NFRUtfTk9TVFJFQU1TLAogICAgIC5wLmV4 dGVuc2lvbnMgICA9ICJta3YsbWszZCxta2EsbWtzLHdlYm0iLAogICAgIC5wLm1pbWVfdHlwZSAg ICA9ICJhdWRpby93ZWJtLGF1ZGlvL3gtbWF0cm9za2EsdmlkZW8vd2VibSx2aWRlby94LW1hdHJv c2thIiwKICAgICAucHJpdl9kYXRhX3NpemUgPSBzaXplb2YoTWF0cm9za2FEZW11eENvbnRleHQp LAoKLS0tIGEvbGliYXZmb3JtYXQvc2Vlay5jCTIwMjUtMDUtMDggMTY6MDE6NDcuODI4NzAwMTM3 IC0wNjAwCisrKyBiL2xpYmF2Zm9ybWF0L3NlZWsuYwkyMDI1LTA1LTA4IDE2OjAwOjQ0Ljg0NTg3 NTk2NCAtMDYwMApAQCAtNjA3LDYgKzYwNywxMyBAQAogICAgICAgICByZXR1cm4gc2Vla19mcmFt ZV9ieXRlKHMsIHN0cmVhbV9pbmRleCwgdGltZXN0YW1wLCBmbGFncyk7CiAgICAgfQogCisgICAg aWYgKHN0cmVhbV9pbmRleCAhPSAtMSAmJiAocy0+aWZvcm1hdC0+ZmxhZ3MgJiBBVkZNVF9TRUVL X05PU1RSRUFNUykpIHsKKyAgICAgICAgICAgIHRpbWVzdGFtcCA9IGF2X3Jlc2NhbGVfcSh0aW1l c3RhbXAsCisgICAgICAgICAgICAgICAgICAgIHMtPnN0cmVhbXNbc3RyZWFtX2luZGV4XS0+dGlt ZV9iYXNlLAorICAgICAgICAgICAgICAgICAgICBBVl9USU1FX0JBU0VfUSk7CisgICAgICAgICAg ICBzdHJlYW1faW5kZXggPSAtMTsKKyAgICB9CisKICAgICBpZiAoc3RyZWFtX2luZGV4IDwgMCkg ewogICAgICAgICBzdHJlYW1faW5kZXggPSBhdl9maW5kX2RlZmF1bHRfc3RyZWFtX2luZGV4KHMp OwogICAgICAgICBpZiAoc3RyZWFtX2luZGV4IDwgMCkK --000000000000b6fabf0635189207 Content-Type: application/octet-stream; name="ffmpeg.git.patch2" Content-Disposition: attachment; filename="ffmpeg.git.patch2" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mansmtn25 LS0tIGEvbGliYXZmb3JtYXQvbXBlZ3RzZW5jLmMJMjAyNS0wNS0xMiAxODo0ODoxMy41NzA3NTE3 NDQgLTA2MDAKKysrIGIvbGliYXZmb3JtYXQvbXBlZ3RzZW5jLmMJMjAyNS0wNS0xMyAxMjoxMjoz OC41MzQ0NTcwMzEgLTA2MDAKQEAgLTkwLDkgKzkwLDExIEBACiAgICAgaW50NjRfdCBwYXRfcGVy aW9kOyAvKiBQQVQvUE1UIHBlcmlvZCBpbiBQQ1IgdGltZSBiYXNlICovCiAgICAgaW50NjRfdCBu aXRfcGVyaW9kOyAvKiBOSVQgcGVyaW9kIGluIFBDUiB0aW1lIGJhc2UgKi8KICAgICBpbnQgbmJf c2VydmljZXM7Ci0gICAgaW50NjRfdCBmaXJzdF9wY3I7CiAgICAgaW50IGZpcnN0X2R0c19jaGVj a2VkOwotICAgIGludDY0X3QgbmV4dF9wY3I7CisgICAgaW50NjRfdCBwY3JfcG9zLCBwY3I7Cisg ICAgaW50NjRfdCBmaXJzdF9wY3IsIG5leHRfcGNyOworICAgIGludDY0X3QgZGVsYXk7CisgICAg aW50IHBjcl9zdHJlYW1fcGlkOwogICAgIGludCBtdXhfcmF0ZTsgLy8vPCBzZXQgdG8gMSB3aGVu IFZCUgogICAgIGludCBwZXNfcGF5bG9hZF9zaXplOwogICAgIGludDY0X3QgdG90YWxfc2l6ZTsK QEAgLTI1OSw3ICsyNjEsNyBAQAogICAgIGludCBkYXRhX3N0X3dhcm5pbmc7CiAKICAgICBpbnQ2 NF90IHBjcl9wZXJpb2Q7IC8qIFBDUiBwZXJpb2QgaW4gUENSIHRpbWUgYmFzZSAqLwotICAgIGlu dDY0X3QgbGFzdF9wY3I7CisgICAgaW50NjRfdCBwY3JfdGltZXI7CiAKICAgICAvKiBGb3IgT3B1 cyAqLwogICAgIGludCBvcHVzX3F1ZXVlZF9zYW1wbGVzOwpAQCAtOTYyLDE4ICs5NjQsMTggQEAK ICAgICByZXR1cm4gMDsKIH0KIAotc3RhdGljIGludDY0X3QgZ2V0X3Bjcihjb25zdCBNcGVnVFNX cml0ZSAqdHMpCitzdGF0aWMgaW50NjRfdCBnZXRfcGNyKGNvbnN0IE1wZWdUU1dyaXRlICp0cywg QVZJT0NvbnRleHQgKnBiKQogewotICAgIHJldHVybiBhdl9yZXNjYWxlKHRzLT50b3RhbF9zaXpl ICsgMTEsIDggKiBQQ1JfVElNRV9CQVNFLCB0cy0+bXV4X3JhdGUpICsKLSAgICAgICAgICAgdHMt PmZpcnN0X3BjcjsKKyAgICBpbnQ2NF90IHBvcyA9IGF2aW9fdGVsbChwYikgKyAxMTsKKyAgICBy ZXR1cm4gdHMtPnBjciArICh0cy0+bXV4X3JhdGUgPT0gMSA/IChwb3MgLSB0cy0+cGNyX3Bvcykg KiA4IDoKKyAgICAgICAgYXZfcmVzY2FsZShwb3MgLSB0cy0+cGNyX3BvcywgOCAqIFBDUl9USU1F X0JBU0UsIHRzLT5tdXhfcmF0ZSkpOwogfQogCiBzdGF0aWMgdm9pZCB3cml0ZV9wYWNrZXQoQVZG b3JtYXRDb250ZXh0ICpzLCBjb25zdCB1aW50OF90ICpwYWNrZXQpCiB7CiAgICAgTXBlZ1RTV3Jp dGUgKnRzID0gcy0+cHJpdl9kYXRhOwogICAgIGlmICh0cy0+bTJ0c19tb2RlKSB7Ci0gICAgICAg IGludDY0X3QgcGNyID0gZ2V0X3BjcihzLT5wcml2X2RhdGEpOwotICAgICAgICB1aW50MzJfdCB0 cF9leHRyYV9oZWFkZXIgPSBwY3IgJSAweDNmZmZmZmZmOworICAgICAgICB1aW50MzJfdCB0cF9l eHRyYV9oZWFkZXIgPSBnZXRfcGNyKHRzLCBzLT5wYikgJSAweDNmZmZmZmZmOwogICAgICAgICB0 cF9leHRyYV9oZWFkZXIgPSBBVl9SQjMyKCZ0cF9leHRyYV9oZWFkZXIpOwogICAgICAgICBhdmlv X3dyaXRlKHMtPnBiLCAodW5zaWduZWQgY2hhciAqKSAmdHBfZXh0cmFfaGVhZGVyLAogICAgICAg ICAgICAgICAgICAgIHNpemVvZih0cF9leHRyYV9oZWFkZXIpKTsKQEAgLTEwNTksOSArMTA2MSw2 IEBACiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHRzX3N0LT5wY3JfcGVyaW9kID0gMTsKICAg ICB9Ci0KLSAgICAvLyBvdXRwdXQgYSBQQ1IgYXMgc29vbiBhcyBwb3NzaWJsZQotICAgIHRzX3N0 LT5sYXN0X3BjciAgID0gdHMtPmZpcnN0X3BjciAtIHRzX3N0LT5wY3JfcGVyaW9kOwogfQogCiBz dGF0aWMgdm9pZCBzZWxlY3RfcGNyX3N0cmVhbXMoQVZGb3JtYXRDb250ZXh0ICpzKQpAQCAtMTEy NCw2ICsxMTIzLDcgQEAKIAogICAgIGlmIChzLT5tYXhfZGVsYXkgPCAwKSAvKiBOb3Qgc2V0IGJ5 IHRoZSBjYWxsZXIgKi8KICAgICAgICAgcy0+bWF4X2RlbGF5ID0gMDsKKyAgICB0cy0+ZGVsYXkg PSBhdl9yZXNjYWxlKHMtPm1heF9kZWxheSwgOTAwMDAsIEFWX1RJTUVfQkFTRSk7CiAKICAgICAv LyByb3VuZCB1cCB0byBhIHdob2xlIG51bWJlciBvZiBUUyBwYWNrZXRzCiAgICAgdHMtPnBlc19w YXlsb2FkX3NpemUgPSAodHMtPnBlc19wYXlsb2FkX3NpemUgKyAxNCArIDE4MykgLyAxODQgKiAx ODQgLSAxNDsKQEAgLTExODMsNyArMTE4Myw5IEBACiAgICAgICAgIC8qIE1QRUcgcGlkIHZhbHVl cyA8IDE2IGFyZSByZXNlcnZlZC4gQXBwbGljYXRpb25zIHdoaWNoIHNldCBzdC0+aWQgaW4KICAg ICAgICAgICogdGhpcyByYW5nZSBhcmUgYXNzaWduZWQgYSBjYWxjdWxhdGVkIHBpZC4gKi8KICAg ICAgICAgaWYgKHN0LT5pZCA8IDE2KSB7Ci0gICAgICAgICAgICBpZiAodHMtPm0ydHNfbW9kZSkg eworICAgICAgICAgICAgaWYgKHRzLT5zdGFydF9waWQgPj0gMCkKKyAgICAgICAgICAgICAgICB0 c19zdC0+cGlkID0gdHMtPnN0YXJ0X3BpZCArIGk7CisgICAgICAgICAgICBlbHNlIGlmICh0cy0+ bTJ0c19tb2RlKSB7CiAgICAgICAgICAgICAgICAgc3dpdGNoIChzdC0+Y29kZWNwYXItPmNvZGVj X3R5cGUpIHsKICAgICAgICAgICAgICAgICBjYXNlIEFWTUVESUFfVFlQRV9WSURFTzoKICAgICAg ICAgICAgICAgICAgICAgdHNfc3QtPnBpZCA9IHRzLT5tMnRzX3ZpZGVvX3BpZCsrOwpAQCAtMTIx MCw5ICsxMjEyLDkgQEAKICAgICAgICAgICAgICAgICAgICAgYXZfbG9nKHMsIEFWX0xPR19FUlJP UiwgIkNhbm5vdCBhdXRvbWF0aWNhbGx5IGFzc2lnbiBQSUQgZm9yIHN0cmVhbSAlZFxuIiwgc3Qt PmluZGV4KTsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEFWRVJST1IoRUlOVkFMKTsKICAg ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIHRz X3N0LT5waWQgPSB0cy0+c3RhcnRfcGlkICsgaTsKICAgICAgICAgICAgIH0KKyAgICAgICAgICAg IGVsc2UKKyAgICAgICAgICAgICAgICB0c19zdC0+cGlkID0gU1RBUlRfUElEICsgaTsKICAgICAg ICAgfSBlbHNlIHsKICAgICAgICAgICAgIHRzX3N0LT5waWQgPSBzdC0+aWQ7CiAgICAgICAgIH0K QEAgLTEyODAsOSArMTI4MiwxNCBAQAogICAgIHRzLT5sYXN0X3BhdF90cyA9IEFWX05PUFRTX1ZB TFVFOwogICAgIHRzLT5sYXN0X3NkdF90cyA9IEFWX05PUFRTX1ZBTFVFOwogICAgIHRzLT5sYXN0 X25pdF90cyA9IEFWX05PUFRTX1ZBTFVFOwotICAgIHRzLT5wYXRfcGVyaW9kID0gYXZfcmVzY2Fs ZSh0cy0+cGF0X3BlcmlvZF91cywgUENSX1RJTUVfQkFTRSwgQVZfVElNRV9CQVNFKTsKLSAgICB0 cy0+c2R0X3BlcmlvZCA9IGF2X3Jlc2NhbGUodHMtPnNkdF9wZXJpb2RfdXMsIFBDUl9USU1FX0JB U0UsIEFWX1RJTUVfQkFTRSk7Ci0gICAgdHMtPm5pdF9wZXJpb2QgPSBhdl9yZXNjYWxlKHRzLT5u aXRfcGVyaW9kX3VzLCBQQ1JfVElNRV9CQVNFLCBBVl9USU1FX0JBU0UpOworICAgIHRzLT5wYXRf cGVyaW9kID0gdHMtPnBhdF9wZXJpb2RfdXMgPCAwID8gLTEgOgorICAgICAgICBhdl9yZXNjYWxl KHRzLT5wYXRfcGVyaW9kX3VzLCBQQ1JfVElNRV9CQVNFLCBBVl9USU1FX0JBU0UpOworICAgIHRz LT5zZHRfcGVyaW9kID0gdHMtPnNkdF9wZXJpb2RfdXMgPCAwID8gLTEgOgorICAgICAgICBhdl9y ZXNjYWxlKHRzLT5zZHRfcGVyaW9kX3VzLCBQQ1JfVElNRV9CQVNFLCBBVl9USU1FX0JBU0UpOwor ICAgIHRzLT5uaXRfcGVyaW9kID0gdHMtPm5pdF9wZXJpb2RfdXMgPCAwID8gLTEgOgorICAgICAg ICBhdl9yZXNjYWxlKHRzLT5uaXRfcGVyaW9kX3VzLCBQQ1JfVElNRV9CQVNFLCBBVl9USU1FX0JB U0UpOworICAgIHRzLT5wY3IgPSAwOworICAgIHRzLT5wY3JfcG9zID0gMDsKIAogICAgIC8qIGFz c2lnbiBwcm92aWRlciBuYW1lICovCiAgICAgcHJvdmlkZXIgPSBhdl9kaWN0X2dldChzLT5tZXRh ZGF0YSwgInNlcnZpY2VfcHJvdmlkZXIiLCBOVUxMLCAwKTsKQEAgLTEyOTgsOCArMTMwNSw4IEBA CiAgICAgICAgIGF2X2xvZyhzLCBBVl9MT0dfVkVSQk9TRSwgIm11eHJhdGUgJWQsICIsIHRzLT5t dXhfcmF0ZSk7CiAgICAgYXZfbG9nKHMsIEFWX0xPR19WRVJCT1NFLAogICAgICAgICAgICAic2R0 IGV2ZXJ5ICUiUFJJZDY0IiBtcywgcGF0L3BtdCBldmVyeSAlIlBSSWQ2NCIgbXMiLAotICAgICAg ICAgICBhdl9yZXNjYWxlKHRzLT5zZHRfcGVyaW9kLCAxMDAwLCBQQ1JfVElNRV9CQVNFKSwKLSAg ICAgICAgICAgYXZfcmVzY2FsZSh0cy0+cGF0X3BlcmlvZCwgMTAwMCwgUENSX1RJTUVfQkFTRSkp OworICAgICAgICAgICB0cy0+c2R0X3BlcmlvZCA8IDAgPyAtMSA6IGF2X3Jlc2NhbGUodHMtPnNk dF9wZXJpb2QsIDEwMDAsIFBDUl9USU1FX0JBU0UpLAorICAgICAgICAgICB0cy0+cGF0X3Blcmlv ZCA8IDAgPyAtMSA6IGF2X3Jlc2NhbGUodHMtPnBhdF9wZXJpb2QsIDEwMDAsIFBDUl9USU1FX0JB U0UpKTsKICAgICBpZiAodHMtPmZsYWdzICYgTVBFR1RTX0ZMQUdfTklUKQogICAgICAgICBhdl9s b2cocywgQVZfTE9HX1ZFUkJPU0UsICIsIG5pdCBldmVyeSAlIlBSSWQ2NCIgbXMiLCBhdl9yZXNj YWxlKHRzLT5uaXRfcGVyaW9kLCAxMDAwLCBQQ1JfVElNRV9CQVNFKSk7CiAgICAgYXZfbG9nKHMs IEFWX0xPR19WRVJCT1NFLCAiXG4iKTsKQEAgLTEzMDgsMzYgKzEzMTUsNDAgQEAKIH0KIAogLyog c2VuZCBTRFQsIE5JVCwgUEFUIGFuZCBQTVQgdGFibGVzIHJlZ3VsYXJseSAqLwotc3RhdGljIHZv aWQgcmV0cmFuc21pdF9zaV9pbmZvKEFWRm9ybWF0Q29udGV4dCAqcywgaW50IGZvcmNlX3BhdCwg aW50IGZvcmNlX3NkdCwgaW50IGZvcmNlX25pdCwgaW50NjRfdCBwY3IpCitzdGF0aWMgdm9pZCBy ZXRyYW5zbWl0X3NpX2luZm8oQVZGb3JtYXRDb250ZXh0ICpzLCBpbnQgZm9yY2VfcGF0LCBpbnQg Zm9yY2Vfc2R0LCBpbnQgZm9yY2Vfbml0KQogewogICAgIE1wZWdUU1dyaXRlICp0cyA9IHMtPnBy aXZfZGF0YTsKICAgICBpbnQgaTsKIAotICAgIGlmICgocGNyICE9IEFWX05PUFRTX1ZBTFVFICYm IHRzLT5sYXN0X3NkdF90cyA9PSBBVl9OT1BUU19WQUxVRSkgfHwKLSAgICAgICAgKHBjciAhPSBB Vl9OT1BUU19WQUxVRSAmJiBwY3IgLSB0cy0+bGFzdF9zZHRfdHMgPj0gdHMtPnNkdF9wZXJpb2Qp IHx8Ci0gICAgICAgIGZvcmNlX3NkdAotICAgICkgewotICAgICAgICBpZiAocGNyICE9IEFWX05P UFRTX1ZBTFVFKQotICAgICAgICAgICAgdHMtPmxhc3Rfc2R0X3RzID0gRkZNQVgocGNyLCB0cy0+ bGFzdF9zZHRfdHMpOwotICAgICAgICBtcGVndHNfd3JpdGVfc2R0KHMpOwotICAgIH0KLSAgICBp ZiAoKHBjciAhPSBBVl9OT1BUU19WQUxVRSAmJiB0cy0+bGFzdF9wYXRfdHMgPT0gQVZfTk9QVFNf VkFMVUUpIHx8Ci0gICAgICAgIChwY3IgIT0gQVZfTk9QVFNfVkFMVUUgJiYgcGNyIC0gdHMtPmxh c3RfcGF0X3RzID49IHRzLT5wYXRfcGVyaW9kKSB8fAotICAgICAgICBmb3JjZV9wYXQpIHsKLSAg ICAgICAgaWYgKHBjciAhPSBBVl9OT1BUU19WQUxVRSkKLSAgICAgICAgICAgIHRzLT5sYXN0X3Bh dF90cyA9IEZGTUFYKHBjciwgdHMtPmxhc3RfcGF0X3RzKTsKLSAgICAgICAgbXBlZ3RzX3dyaXRl X3BhdChzKTsKLSAgICAgICAgZm9yIChpID0gMDsgaSA8IHRzLT5uYl9zZXJ2aWNlczsgaSsrKQot ICAgICAgICAgICAgbXBlZ3RzX3dyaXRlX3BtdChzLCB0cy0+c2VydmljZXNbaV0pOwotICAgIH0K LSAgICBpZiAoKHBjciAhPSBBVl9OT1BUU19WQUxVRSAmJiB0cy0+bGFzdF9uaXRfdHMgPT0gQVZf Tk9QVFNfVkFMVUUpIHx8Ci0gICAgICAgIChwY3IgIT0gQVZfTk9QVFNfVkFMVUUgJiYgcGNyIC0g dHMtPmxhc3Rfbml0X3RzID49IHRzLT5uaXRfcGVyaW9kKSB8fAotICAgICAgICBmb3JjZV9uaXQK LSAgICApIHsKLSAgICAgICAgaWYgKHBjciAhPSBBVl9OT1BUU19WQUxVRSkKLSAgICAgICAgICAg IHRzLT5sYXN0X25pdF90cyA9IEZGTUFYKHBjciwgdHMtPmxhc3Rfbml0X3RzKTsKKyAgICBpZiAo dHMtPnNkdF9wZXJpb2QgPj0gMCkgeworICAgICAgICBpbnQ2NF90IHBjciA9IGdldF9wY3IodHMs IHMtPnBiKTsKKyAgICAgICAgaWYgKHRzLT5sYXN0X3NkdF90cyA9PSBBVl9OT1BUU19WQUxVRSB8 fCBwY3IgPj0gdHMtPmxhc3Rfc2R0X3RzICsgdHMtPnNkdF9wZXJpb2QpCisgICAgICAgICAgICBm b3JjZV9zZHQgPSAxOworICAgICAgICBpZiAoZm9yY2Vfc2R0KSB7CisgICAgICAgICAgICB0cy0+ bGFzdF9zZHRfdHMgPSBwY3I7CisgICAgICAgICAgICBtcGVndHNfd3JpdGVfc2R0KHMpOworICAg ICAgICB9CisgICAgfQorICAgIGlmICh0cy0+cGF0X3BlcmlvZCA+PSAwKSB7CisgICAgICAgIGlu dDY0X3QgcGNyID0gZ2V0X3Bjcih0cywgcy0+cGIpOworICAgICAgICBpZiAodHMtPmxhc3RfcGF0 X3RzID09IEFWX05PUFRTX1ZBTFVFIHx8IHBjciA+PSB0cy0+bGFzdF9wYXRfdHMgKyB0cy0+cGF0 X3BlcmlvZCkKKyAgICAgICAgICAgIGZvcmNlX3BhdCA9IDE7CisgICAgICAgIGlmIChmb3JjZV9w YXQpIHsKKyAgICAgICAgICAgIHRzLT5sYXN0X3BhdF90cyA9IHBjcjsKKyAgICAgICAgICAgIG1w ZWd0c193cml0ZV9wYXQocyk7CisgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgdHMtPm5iX3Nl cnZpY2VzOyBpKyspCisgICAgICAgICAgICAgICAgbXBlZ3RzX3dyaXRlX3BtdChzLCB0cy0+c2Vy dmljZXNbaV0pOworICAgICAgICB9CisgICAgfQorICAgIGlmICh0cy0+bml0X3BlcmlvZCA+PSAw KSB7CisgICAgICAgIGludDY0X3QgcGNyID0gZ2V0X3Bjcih0cywgcy0+cGIpOworICAgICAgICBp ZiAodHMtPmxhc3Rfbml0X3RzID09IEFWX05PUFRTX1ZBTFVFIHx8IHBjciA+PSB0cy0+bGFzdF9u aXRfdHMgKyB0cy0+bml0X3BlcmlvZCkKKyAgICAgICAgICAgIGZvcmNlX25pdCA9IDE7CisgICAg ICAgIGlmIChmb3JjZV9uaXQpIHsKKyAgICAgICAgICAgIHRzLT5sYXN0X25pdF90cyA9IHBjcjsK ICAgICAgICAgaWYgKHRzLT5mbGFncyAmIE1QRUdUU19GTEFHX05JVCkKICAgICAgICAgICAgIG1w ZWd0c193cml0ZV9uaXQocyk7CisgICAgICAgIH0KICAgICB9CiB9CiAKQEAgLTEzNzQsMjUgKzEz ODUsMjkgQEAKIHN0YXRpYyB2b2lkIG1wZWd0c19pbnNlcnRfcGNyX29ubHkoQVZGb3JtYXRDb250 ZXh0ICpzLCBBVlN0cmVhbSAqc3QpCiB7CiAgICAgTXBlZ1RTV3JpdGUgKnRzID0gcy0+cHJpdl9k YXRhOwotICAgIE1wZWdUU1dyaXRlU3RyZWFtICp0c19zdCA9IHN0LT5wcml2X2RhdGE7CisgICAg aW50NjRfdCBwY3IgPSBnZXRfcGNyKHRzLCBzLT5wYik7CisgICAgTXBlZ1RTV3JpdGVTdHJlYW0g KnRzX3N0ID0gc3QgPyBzdC0+cHJpdl9kYXRhIDogMDsKKyAgICB1aW50MzJfdCBwY3JfcGlkID0g dHNfc3QgPyB0c19zdC0+cGlkIDogdHMtPnBjcl9zdHJlYW1fcGlkOwogICAgIHVpbnQ4X3QgKnE7 CiAgICAgdWludDhfdCBidWZbVFNfUEFDS0VUX1NJWkVdOwogCiAgICAgcSAgICA9IGJ1ZjsKICAg ICAqcSsrID0gU1lOQ19CWVRFOwotICAgICpxKysgPSB0c19zdC0+cGlkID4+IDg7Ci0gICAgKnEr KyA9IHRzX3N0LT5waWQ7Ci0gICAgKnErKyA9IDB4MjAgfCB0c19zdC0+Y2M7ICAgLyogQWRhcHRh dGlvbiBvbmx5ICovCisgICAgKnErKyA9IHBjcl9waWQgPj4gODsKKyAgICAqcSsrID0gcGNyX3Bp ZDsKKyAgICB1aW50MzJfdCBmbGFncyA9ICAweDIwOyAgICAvKiBBZGFwdGF0aW9uIG9ubHkgKi8K ICAgICAvKiBDb250aW51aXR5IENvdW50IGZpZWxkIGRvZXMgbm90IGluY3JlbWVudCAoc2VlIDEz ODE4LTEgc2VjdGlvbiAyLjQuMy4zKSAqLworICAgIGlmKHRzX3N0KSBmbGFncyB8PSB0c19zdC0+ Y2M7CisgICAgKnErKyA9IGZsYWdzOwogICAgICpxKysgPSBUU19QQUNLRVRfU0laRSAtIDU7IC8q IEFkYXB0YXRpb24gRmllbGQgTGVuZ3RoICovCiAgICAgKnErKyA9IDB4MTA7ICAgICAgICAgICAg ICAgLyogQWRhcHRhdGlvbiBmbGFnczogUENSIHByZXNlbnQgKi8KLSAgICBpZiAodHNfc3QtPmRp c2NvbnRpbnVpdHkpIHsKKyAgICBpZiAodHNfc3QgJiYgdHNfc3QtPmRpc2NvbnRpbnVpdHkpIHsK ICAgICAgICAgcVstMV0gfD0gMHg4MDsKICAgICAgICAgdHNfc3QtPmRpc2NvbnRpbnVpdHkgPSAw OwogICAgIH0KIAogICAgIC8qIFBDUiBjb2RlZCBpbnRvIDYgYnl0ZXMgKi8KLSAgICBxICs9IHdy aXRlX3Bjcl9iaXRzKHEsIGdldF9wY3IodHMpKTsKKyAgICBxICs9IHdyaXRlX3Bjcl9iaXRzKHEs IHBjcik7CiAKICAgICAvKiBzdHVmZmluZyBieXRlcyAqLwogICAgIG1lbXNldChxLCBTVFVGRklO R19CWVRFLCBUU19QQUNLRVRfU0laRSAtIChxIC0gYnVmKSk7CkBAIC0xNDkzLDkgKzE1MDgsOSBA QAogICAgIGludCBhZmNfbGVuLCBzdHVmZmluZ19sZW47CiAgICAgaW50IGlzX2R2Yl9zdWJ0aXRs ZSA9IChzdC0+Y29kZWNwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0RWQl9TVUJUSVRMRSk7 CiAgICAgaW50IGlzX2R2Yl90ZWxldGV4dCA9IChzdC0+Y29kZWNwYXItPmNvZGVjX2lkID09IEFW X0NPREVDX0lEX0RWQl9URUxFVEVYVCk7Ci0gICAgaW50NjRfdCBkZWxheSA9IGF2X3Jlc2NhbGUo cy0+bWF4X2RlbGF5LCA5MDAwMCwgQVZfVElNRV9CQVNFKTsKICAgICBpbnQgZm9yY2VfcGF0ID0g c3QtPmNvZGVjcGFyLT5jb2RlY190eXBlID09IEFWTUVESUFfVFlQRV9WSURFTyAmJiBrZXkgJiYg IXRzX3N0LT5wcmV2X3BheWxvYWRfa2V5OwogICAgIGludCBmb3JjZV9zZHQgPSAwOworICAgIGlu dDY0X3QgcGNyOwogICAgIGludCBmb3JjZV9uaXQgPSAwOwogCiAgICAgYXZfYXNzZXJ0MCh0c19z dC0+cGF5bG9hZCAhPSBidWYgfHwgc3QtPmNvZGVjcGFyLT5jb2RlY190eXBlICE9IEFWTUVESUFf VFlQRV9WSURFTyk7CkBAIC0xNTEyLDIxICsxNTI3LDE5IEBACiAKICAgICBpc19zdGFydCA9IDE7 CiAgICAgd2hpbGUgKHBheWxvYWRfc2l6ZSA+IDApIHsKLSAgICAgICAgaW50NjRfdCBwY3IgPSBB Vl9OT1BUU19WQUxVRTsKLSAgICAgICAgaWYgKHRzLT5tdXhfcmF0ZSA+IDEpCi0gICAgICAgICAg ICBwY3IgPSBnZXRfcGNyKHRzKTsKLSAgICAgICAgZWxzZSBpZiAoZHRzICE9IEFWX05PUFRTX1ZB TFVFKQotICAgICAgICAgICAgcGNyID0gKGR0cyAtIGRlbGF5KSAqIFNZU1RFTV9DTE9DS19GUkVR VUVOQ1lfRElWSVNPUjsKLQotICAgICAgICByZXRyYW5zbWl0X3NpX2luZm8ocywgZm9yY2VfcGF0 LCBmb3JjZV9zZHQsIGZvcmNlX25pdCwgcGNyKTsKLSAgICAgICAgZm9yY2VfcGF0ID0gMDsKLSAg ICAgICAgZm9yY2Vfc2R0ID0gMDsKLSAgICAgICAgZm9yY2Vfbml0ID0gMDsKKyAgICAgICAgLy8g YWRkIDExLCBwY3IgcmVmZXJlbmNlcyB0aGUgbGFzdCBieXRlIG9mIHByb2dyYW0gY2xvY2sgcmVm ZXJlbmNlIGJhc2UKKyAgICAgICAgdHMtPnBjcl9wb3MgPSBhdmlvX3RlbGwocy0+cGIpICsgMTE7 CisgICAgICAgIHBjciA9IHRzLT5wY3IgPSB0cy0+bXV4X3JhdGUgIT0gMSA/CisgICAgICAgICAg ICBhdl9yZXNjYWxlKHRzLT5wY3JfcG9zLCA4ICogUENSX1RJTUVfQkFTRSwgdHMtPm11eF9yYXRl KSA6CisgICAgICAgICAgICAoZHRzID09IEFWX05PUFRTX1ZBTFVFID8gMCA6IChkdHMgLSB0cy0+ ZGVsYXkpICogMzAwKTsKKyAgICAgICAgaWYgKGZvcmNlX3BhdCB8fCBmb3JjZV9zZHQgfHwgZm9y Y2Vfbml0KSB7CisgICAgICAgICAgICByZXRyYW5zbWl0X3NpX2luZm8ocywgZm9yY2VfcGF0LCBm b3JjZV9zZHQsIGZvcmNlX25pdCk7CisgICAgICAgICAgICBmb3JjZV9wYXQgPSBmb3JjZV9zZHQg PSBmb3JjZV9uaXQgPSAwOworICAgICAgICB9CiAKICAgICAgICAgd3JpdGVfcGNyID0gMDsKICAg ICAgICAgaWYgKHRzLT5tdXhfcmF0ZSA+IDEpIHsKICAgICAgICAgICAgIC8qIFNlbmQgUENSIHBh Y2tldHMgZm9yIGFsbCBQQ1Igc3RyZWFtcyBpZiBuZWVkZWQgKi8KLSAgICAgICAgICAgIHBjciA9 IGdldF9wY3IodHMpOwogICAgICAgICAgICAgaWYgKHBjciA+PSB0cy0+bmV4dF9wY3IpIHsKICAg ICAgICAgICAgICAgICBpbnQ2NF90IG5leHRfcGNyID0gSU5UNjRfTUFYOwogICAgICAgICAgICAg ICAgIGZvciAoaW50IGkgPSAwOyBpIDwgcy0+bmJfc3RyZWFtczsgaSsrKSB7CkBAIC0xNTM2LDM2 ICsxNTQ5LDQzIEBACiAgICAgICAgICAgICAgICAgICAgIEFWU3RyZWFtICpzdDIgPSBzLT5zdHJl YW1zW3N0Ml9pbmRleF07CiAgICAgICAgICAgICAgICAgICAgIE1wZWdUU1dyaXRlU3RyZWFtICp0 c19zdDIgPSBzdDItPnByaXZfZGF0YTsKICAgICAgICAgICAgICAgICAgICAgaWYgKHRzX3N0Mi0+ cGNyX3BlcmlvZCkgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBjciAtIHRzX3N0Mi0+ bGFzdF9wY3IgPj0gdHNfc3QyLT5wY3JfcGVyaW9kKSB7Ci0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgdHNfc3QyLT5sYXN0X3BjciA9IEZGTUFYKHBjciAtIHRzX3N0Mi0+cGNyX3BlcmlvZCwg dHNfc3QyLT5sYXN0X3BjciArIHRzX3N0Mi0+cGNyX3BlcmlvZCk7Ci0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgaWYgKHN0MiAhPSBzdCkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYg KHBjciA+PSB0c19zdDItPnBjcl90aW1lcikgeworICAgICAgICAgICAgICAgICAgICAgICAgICAg IHRzX3N0Mi0+cGNyX3RpbWVyID0gcGNyICsgdHNfc3QyLT5wY3JfcGVyaW9kOworICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGlmIChzdDIgIT0gc3QpIHsgCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIG1wZWd0c19pbnNlcnRfcGNyX29ubHkocywgc3QyKTsKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgcGNyID0gZ2V0X3Bjcih0cyk7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd3Jp dGVfcGNyID0gMTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICBuZXh0X3BjciA9IEZGTUlOKG5l eHRfcGNyLCB0c19zdDItPmxhc3RfcGNyICsgdHNfc3QyLT5wY3JfcGVyaW9kKTsKKyAgICAgICAg ICAgICAgICAgICAgICAgIG5leHRfcGNyID0gRkZNSU4obmV4dF9wY3IsIHRzX3N0Mi0+cGNyX3Rp bWVyKTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICB0cy0+bmV4dF9wY3IgPSBuZXh0X3BjcjsKICAgICAgICAgICAgIH0KLSAgICAgICAg ICAgIGlmIChkdHMgIT0gQVZfTk9QVFNfVkFMVUUgJiYgKGR0cyAtIHBjciAvIFNZU1RFTV9DTE9D S19GUkVRVUVOQ1lfRElWSVNPUikgPiBkZWxheSkgewotICAgICAgICAgICAgICAgIC8qIHBjciBp bnNlcnQgZ2V0cyBwcmlvcml0eSBvdmVyIG51bGwgcGFja2V0IGluc2VydCAqLwotICAgICAgICAg ICAgICAgIGlmICh3cml0ZV9wY3IpCi0gICAgICAgICAgICAgICAgICAgIG1wZWd0c19pbnNlcnRf cGNyX29ubHkocywgc3QpOwotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAg ICAgbXBlZ3RzX2luc2VydF9udWxsX3BhY2tldChzKTsKLSAgICAgICAgICAgICAgICAvKiByZWNh bGN1bGF0ZSB3cml0ZV9wY3IgYW5kIHBvc3NpYmx5IHJldHJhbnNtaXQgc2lfaW5mbyAqLwotICAg ICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgfQotICAgICAgICB9IGVsc2UgaWYg KHRzX3N0LT5wY3JfcGVyaW9kICYmIHBjciAhPSBBVl9OT1BUU19WQUxVRSkgewotICAgICAgICAg ICAgaWYgKHBjciAtIHRzX3N0LT5sYXN0X3BjciA+PSB0c19zdC0+cGNyX3BlcmlvZCAmJiBpc19z dGFydCkgewotICAgICAgICAgICAgICAgIHRzX3N0LT5sYXN0X3BjciA9IEZGTUFYKHBjciAtIHRz X3N0LT5wY3JfcGVyaW9kLCB0c19zdC0+bGFzdF9wY3IgKyB0c19zdC0+cGNyX3BlcmlvZCk7Cisg ICAgICAgIH0KKyAgICAgICAgZWxzZSBpZiAodHNfc3QtPnBjcl9wZXJpb2QpIHsKKyAgICAgICAg ICAgIGlmIChwY3IgPj0gdHNfc3QtPnBjcl90aW1lcikgeworICAgICAgICAgICAgICAgIHRzX3N0 LT5wY3JfdGltZXIgPSBwY3IgKyB0c19zdC0+cGNyX3BlcmlvZDsKICAgICAgICAgICAgICAgICB3 cml0ZV9wY3IgPSAxOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAKKyAgICAgICAgaWYgKHdy aXRlX3BjciAmJiB0cy0+cGNyX3N0cmVhbV9waWQgPj0gMCkgeworICAgICAgICAgICBtcGVndHNf aW5zZXJ0X3Bjcl9vbmx5KHMsIDApOworICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQor CisgICAgICAgIGlmICh0cy0+bXV4X3JhdGUgPiAxICYmIGR0cyAhPSBBVl9OT1BUU19WQUxVRSAm JgorICAgICAgICAgICAgICAgKGR0cyAtIHBjciAvIDMwMCkgPiB0cy0+ZGVsYXkpIHsKKyAgICAg ICAgICAgLyogcGNyIGluc2VydCBnZXRzIHByaW9yaXR5IG92ZXIgbnVsbCBwYWNrZXQgaW5zZXJ0 ICovCisgICAgICAgICAgIGlmICh3cml0ZV9wY3IpCisgICAgICAgICAgICAgICBtcGVndHNfaW5z ZXJ0X3Bjcl9vbmx5KHMsIHN0KTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgIG1w ZWd0c19pbnNlcnRfbnVsbF9wYWNrZXQocyk7CisgICAgICAgICAgICAvKiByZWNhbGN1bGF0ZSB3 cml0ZV9wY3IgYW5kIHBvc3NpYmx5IHJldHJhbnNpbWl0IHNpX2luZm8gKi8KKyAgICAgICAgICAg IGNvbnRpbnVlOworICAgICAgICB9CisKICAgICAgICAgLyogcHJlcGFyZSBwYWNrZXQgaGVhZGVy ICovCiAgICAgICAgIHEgICAgPSBidWY7CiAgICAgICAgICpxKysgPSBTWU5DX0JZVEU7CkBAIC0x NTk1LDcgKzE2MTUsNiBAQAogICAgICAgICBpZiAod3JpdGVfcGNyKSB7CiAgICAgICAgICAgICBz ZXRfYWZfZmxhZyhidWYsIDB4MTApOwogICAgICAgICAgICAgcSA9IGdldF90c19wYXlsb2FkX3N0 YXJ0KGJ1Zik7Ci0gICAgICAgICAgICAvLyBhZGQgMTEsIHBjciByZWZlcmVuY2VzIHRoZSBsYXN0 IGJ5dGUgb2YgcHJvZ3JhbSBjbG9jayByZWZlcmVuY2UgYmFzZQogICAgICAgICAgICAgaWYgKGR0 cyAhPSBBVl9OT1BUU19WQUxVRSAmJiBkdHMgPCBwY3IgLyBTWVNURU1fQ0xPQ0tfRlJFUVVFTkNZ X0RJVklTT1IpCiAgICAgICAgICAgICAgICAgYXZfbG9nKHMsIEFWX0xPR19XQVJOSU5HLCAiZHRz IDwgcGNyLCBUUyBpcyBpbnZhbGlkXG4iKTsKICAgICAgICAgICAgIGV4dGVuZF9hZihidWYsIHdy aXRlX3Bjcl9iaXRzKHEsIHBjcikpOwpAQCAtMTg2Nyw4ICsxODg2LDggQEAKICAgICB1aW50OF90 ICpkYXRhID0gTlVMTDsKICAgICBNcGVnVFNXcml0ZSAqdHMgPSBzLT5wcml2X2RhdGE7CiAgICAg TXBlZ1RTV3JpdGVTdHJlYW0gKnRzX3N0ID0gc3QtPnByaXZfZGF0YTsKLSAgICBjb25zdCBpbnQ2 NF90IGRlbGF5ID0gYXZfcmVzY2FsZShzLT5tYXhfZGVsYXksIDkwMDAwLCBBVl9USU1FX0JBU0Up ICogMjsKLSAgICBjb25zdCBpbnQ2NF90IG1heF9hdWRpb19kZWxheSA9IGF2X3Jlc2NhbGUocy0+ bWF4X2RlbGF5LCA5MDAwMCwgQVZfVElNRV9CQVNFKSAvIDI7CisgICAgY29uc3QgaW50NjRfdCBk ZWxheV90aWNrczIgPSB0cy0+ZGVsYXkgKiAyOworICAgIGNvbnN0IGludDY0X3QgbWF4X2F1ZGlv X2RlbGF5ID0gdHMtPmRlbGF5IC8gMjsKICAgICBpbnQ2NF90IGR0cyA9IHBrdC0+ZHRzLCBwdHMg PSBwa3QtPnB0czsKICAgICBpbnQgb3B1c19zYW1wbGVzID0gMDsKICAgICBzaXplX3Qgc2lkZV9k YXRhX3NpemU7CkBAIC0xODg4LDkgKzE5MDcsOSBAQAogCiAgICAgaWYgKHRzLT5jb3B5dHMgPCAx KSB7CiAgICAgICAgIGlmIChwdHMgIT0gQVZfTk9QVFNfVkFMVUUpCi0gICAgICAgICAgICBwdHMg Kz0gZGVsYXk7CisgICAgICAgICAgICBwdHMgKz0gZGVsYXlfdGlja3MyOwogICAgICAgICBpZiAo ZHRzICE9IEFWX05PUFRTX1ZBTFVFKQotICAgICAgICAgICAgZHRzICs9IGRlbGF5OworICAgICAg ICAgICAgZHRzICs9IGRlbGF5X3RpY2tzMjsKICAgICB9CiAKICAgICBpZiAoIXRzX3N0LT5maXJz dF90aW1lc3RhbXBfY2hlY2tlZCAmJiAocHRzID09IEFWX05PUFRTX1ZBTFVFIHx8IGR0cyA9PSBB Vl9OT1BUU19WQUxVRSkpIHsKQEAgLTIzNTcsOCArMjM3NiwxMCBAQAogICAgICAgMCwgQVZfT1BU X1RZUEVfQ09OU1QsIHsgLmk2NCA9IE1QRUdUU19TRVJWSUNFX1RZUEVfSEVWQ19ESUdJVEFMX0hE VFYgfSwgMHgwMSwgMHhmZiwgRU5DLCAudW5pdCA9ICJtcGVndHNfc2VydmljZV90eXBlIiB9LAog ICAgIHsgIm1wZWd0c19wbXRfc3RhcnRfcGlkIiwgIlNldCB0aGUgZmlyc3QgcGlkIG9mIHRoZSBQ TVQuIiwKICAgICAgIE9GRlNFVChwbXRfc3RhcnRfcGlkKSwgQVZfT1BUX1RZUEVfSU5ULCB7IC5p NjQgPSAweDEwMDAgfSwgRklSU1RfT1RIRVJfUElELCBMQVNUX09USEVSX1BJRCwgRU5DIH0sCisg ICAgeyAibXBlZ3RzX3Bjcl9zdHJlYW1fcGlkIiwgImNyZWF0ZSBzZXBlcmF0ZSBQQ1Igc3RyZWFt IG9uIHRoaXMgcGlkLiIsCisgICAgICBPRkZTRVQocGNyX3N0cmVhbV9waWQpLCBBVl9PUFRfVFlQ RV9JTlQsIHsgLmk2NCA9IC0xIH0sIC0xLCAweDFmMDAsIEVOQyB9LAogICAgIHsgIm1wZWd0c19z dGFydF9waWQiLCAiU2V0IHRoZSBmaXJzdCBwaWQuIiwKLSAgICAgIE9GRlNFVChzdGFydF9waWQp LCBBVl9PUFRfVFlQRV9JTlQsIHsgLmk2NCA9IDB4MDEwMCB9LCBGSVJTVF9PVEhFUl9QSUQsIExB U1RfT1RIRVJfUElELCBFTkMgfSwKKyAgICAgIE9GRlNFVChzdGFydF9waWQpLCBBVl9PUFRfVFlQ RV9JTlQsIHsgLmk2NCA9IC0xIH0sIC0xLCBMQVNUX09USEVSX1BJRCwgRU5DIH0sCiAgICAgeyAi bXBlZ3RzX20ydHNfbW9kZSIsICJFbmFibGUgbTJ0cyBtb2RlLiIsIE9GRlNFVChtMnRzX21vZGUp LCBBVl9PUFRfVFlQRV9CT09MLCB7IC5pNjQgPSAtMSB9LCAtMSwgMSwgRU5DIH0sCiAgICAgeyAi bXV4cmF0ZSIsIE5VTEwsIE9GRlNFVChtdXhfcmF0ZSksIEFWX09QVF9UWVBFX0lOVCwgeyAuaTY0 ID0gMSB9LCAwLCBJTlRfTUFYLCBFTkMgfSwKICAgICB7ICJwZXNfcGF5bG9hZF9zaXplIiwgIk1p bmltdW0gUEVTIHBhY2tldCBwYXlsb2FkIGluIGJ5dGVzIiwKQEAgLTIzODQsMTAgKzI0MDUsMTAg QEAKICAgICAgIE9GRlNFVChvbWl0X3ZpZGVvX3Blc19sZW5ndGgpLCBBVl9PUFRfVFlQRV9CT09M LCB7IC5pNjQgPSAxIH0sIDAsIDEsIEVOQyB9LAogICAgIHsgInBjcl9wZXJpb2QiLCAiUENSIHJl dHJhbnNtaXNzaW9uIHRpbWUgaW4gbWlsbGlzZWNvbmRzIiwKICAgICAgIE9GRlNFVChwY3JfcGVy aW9kX21zKSwgQVZfT1BUX1RZUEVfSU5ULCB7IC5pNjQgPSAtMSB9LCAtMSwgSU5UX01BWCwgRU5D IH0sCi0gICAgeyAicGF0X3BlcmlvZCIsICJQQVQvUE1UIHJldHJhbnNtaXNzaW9uIHRpbWUgbGlt aXQgaW4gc2Vjb25kcyIsCisgICAgeyAicGF0X3BlcmlvZCIsICJQQVQvUE1UIHJldHJhbnNtaXNz aW9uIHRpbWUgbGltaXQgaW4gbXMsIC0xIG5vIHBhdCIsCiAgICAgICBPRkZTRVQocGF0X3Blcmlv ZF91cyksIEFWX09QVF9UWVBFX0RVUkFUSU9OLCB7IC5pNjQgPSBQQVRfUkVUUkFOU19USU1FICog MTAwMExMIH0sIDAsIElOVDY0X01BWCwgRU5DIH0sCi0gICAgeyAic2R0X3BlcmlvZCIsICJTRFQg cmV0cmFuc21pc3Npb24gdGltZSBsaW1pdCBpbiBzZWNvbmRzIiwKLSAgICAgIE9GRlNFVChzZHRf cGVyaW9kX3VzKSwgQVZfT1BUX1RZUEVfRFVSQVRJT04sIHsgLmk2NCA9IFNEVF9SRVRSQU5TX1RJ TUUgKiAxMDAwTEwgfSwgMCwgSU5UNjRfTUFYLCBFTkMgfSwKKyAgICB7ICJzZHRfcGVyaW9kIiwg IlNEVCByZXRyYW5zbWlzc2lvbiB0aW1lIGxpbWl0IGluIG1zLCAtMSBubyBzZHQiLAorICAgICAg T0ZGU0VUKHNkdF9wZXJpb2RfdXMpLCBBVl9PUFRfVFlQRV9JTlQ2NCwgeyAuaTY0ID0gU0RUX1JF VFJBTlNfVElNRSAqIDEwMDBMTCB9LCAtMSwgSU5UNjRfTUFYLCBFTkMgfSwKICAgICB7ICJuaXRf cGVyaW9kIiwgIk5JVCByZXRyYW5zbWlzc2lvbiB0aW1lIGxpbWl0IGluIHNlY29uZHMiLAogICAg ICAgT0ZGU0VUKG5pdF9wZXJpb2RfdXMpLCBBVl9PUFRfVFlQRV9EVVJBVElPTiwgeyAuaTY0ID0g TklUX1JFVFJBTlNfVElNRSAqIDEwMDBMTCB9LCAwLCBJTlQ2NF9NQVgsIEVOQyB9LAogICAgIHsg TlVMTCB9LAotLS0gYS9saWJhdmZvcm1hdC9tcGVndHMuaAkyMDI1LTA1LTEyIDE4OjQ4OjMyLjgw ODA0OTk5OCAtMDYwMAorKysgYi9saWJhdmZvcm1hdC9tcGVndHMuaAkyMDI1LTA1LTEzIDEyOjIz OjMxLjgyNDg3OTQ4NyAtMDYwMApAQCAtNjgsNiArNjgsNyBAQAogLyogUElEIGZyb20gMHgxRkZD IHRvIDB4MUZGRSBtYXkgYmUgYXNzaWduZWQgYXMgbmVlZGVkIHRvIFBNVCwgZWxlbWVudGFyeQog ICogc3RyZWFtcyBhbmQgb3RoZXIgZGF0YSB0YWJsZXMgKi8KICNkZWZpbmUgTlVMTF9QSUQgICAg ICAgIDB4MUZGRiAvKiBOdWxsIHBhY2tldCAodXNlZCBmb3IgZml4ZWQgYmFuZHdpZHRoIHBhZGRp bmcpICovCisjZGVmaW5lIFNUQVJUX1BJRAkweDA0MDAKIAogLyogbTJ0cyBwaWRzICovCiAjZGVm aW5lIE0yVFNfUE1UX1BJRCAgICAgICAgICAgICAgICAgICAgICAweDAxMDAKLS0tIGEvbGliYXZm b3JtYXQvYmx1cmF5LmMJMjAyNS0wNS0xMiAxODo0ODo1NC4zMjgzODM2NTEgLTA2MDAKKysrIGIv bGliYXZmb3JtYXQvYmx1cmF5LmMJMjAyNS0wNS0xMiAxODo1Mjo1MS4xMTM5OTM3NDggLTA2MDAK QEAgLTI3LDcgKzI3LDcgQEAKICNpbmNsdWRlICJsaWJhdnV0aWwvb3B0LmgiCiAKICNkZWZpbmUg QkxVUkFZX1BST1RPX1BSRUZJWCAgICAgImJsdXJheToiCi0jZGVmaW5lIE1JTl9QTEFZTElTVF9M RU5HVEggICAgIDE4MCAgICAgLyogMyBtaW4gKi8KKyNkZWZpbmUgTUlOX1BMQVlMSVNUX0xFTkdU SCAgICAgMAogCiB0eXBlZGVmIHN0cnVjdCB7CiAgICAgY29uc3QgQVZDbGFzcyAqY2xhc3M7Cgot LS0gYS9kb2MvbXV4ZXJzLnRleGkJMjAyNS0wNS0xMiAxODo0OToyMC40NTY3ODEzNzUgLTA2MDAK KysrIGIvZG9jL211eGVycy50ZXhpCTIwMjUtMDUtMTMgMTI6MTk6MTcuOTU5MDI2NDg4IC0wNjAw CkBAIC0zMTE2LDcgKzMxMTYsOCBAQAogTWF4aW11bSB0aW1lIGluIHNlY29uZHMgYmV0d2VlbiBQ QVQvUE1UIHRhYmxlcy4gRGVmYXVsdCBpcyBAY29kZXswLjF9LgogCiBAaXRlbSBzZHRfcGVyaW9k IEB2YXJ7ZHVyYXRpb259Ci1NYXhpbXVtIHRpbWUgaW4gc2Vjb25kcyBiZXR3ZWVuIFNEVCB0YWJs ZXMuIERlZmF1bHQgaXMgQGNvZGV7MC41fS4KK01heGltdW0gdGltZSBpbiBzZWNvbmRzIGJldHdl ZW4gU0RUIHRhYmxlcy4gRGVmYXVsdCBpcyBAY29kZXswLjV9LiBSZWdhcmRsZXNzCitvZiB0aGlz IHNldHRpbmcgbm8gU0RUIGlzIHdyaXR0ZW4gaW4gbTJ0cyBtb2RlLgogCiBAaXRlbSBuaXRfcGVy aW9kIEB2YXJ7ZHVyYXRpb259CiBNYXhpbXVtIHRpbWUgaW4gc2Vjb25kcyBiZXR3ZWVuIE5JVCB0 YWJsZXMuIERlZmF1bHQgaXMgQGNvZGV7MC41fS4K --000000000000b6fabf0635189207 Content-Type: application/octet-stream; name="ffmpeg.git.patch4" Content-Disposition: attachment; filename="ffmpeg.git.patch4" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mansmto87 LS0tIGEvbGliYXZmb3JtYXQvYXZpZGVjLmMJMjAyNS0wNS0wOSAxMzozNTowNy44NTExNTU3Mzcg LTA2MDAKKysrIGIvbGliYXZmb3JtYXQvYXZpZGVjLmMJMjAyNS0wNS0wOSAxMzozNDo0NS43MDI4 MjEzNTcgLTA2MDAKQEAgLTIwMjEsNiArMjAyMSw3IEBACiAgICAgLnAubmFtZSAgICAgICAgID0g ImF2aSIsCiAgICAgLnAubG9uZ19uYW1lICAgID0gTlVMTF9JRl9DT05GSUdfU01BTEwoIkFWSSAo QXVkaW8gVmlkZW8gSW50ZXJsZWF2ZWQpIiksCiAgICAgLnAuZXh0ZW5zaW9ucyAgID0gImF2aSIs CisgICAgLnAuZmxhZ3MgICAgICAgID0gQVZGTVRfU0VFS19OT1NUUkVBTVMsCiAgICAgLnAucHJp dl9jbGFzcyAgID0gJmRlbXV4ZXJfY2xhc3MsCiAgICAgLnByaXZfZGF0YV9zaXplID0gc2l6ZW9m KEFWSUNvbnRleHQpLAogICAgIC5mbGFnc19pbnRlcm5hbCA9IEZGX0lORk1UX0ZMQUdfSU5JVF9D TEVBTlVQLAo= --000000000000b6fabf0635189207 Content-Type: application/octet-stream; name="ffmpeg.git.patch7" Content-Disposition: attachment; filename="ffmpeg.git.patch7" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mansmtpf9 LS0tIGEvbGliYXZjb2RlYy92ZHBhdV9tcGVnMTIuYwkyMDI1LTA1LTA5IDE0OjU0OjQwLjU0OTQ5 NDcwMCAtMDYwMAorKysgYi9saWJhdmNvZGVjL3ZkcGF1X21wZWcxMi5jCTIwMjUtMDUtMDkgMTQ6 NTM6NTcuMjg0ODY2MTAxIC0wNjAwCkBAIC0xMTgsNiArMTE4LDcgQEAKICAgICAuZnJhbWVfcHJp dl9kYXRhX3NpemUgPSBzaXplb2Yoc3RydWN0IHZkcGF1X3BpY3R1cmVfY29udGV4dCksCiAgICAg LmluaXQgICAgICAgICAgID0gdmRwYXVfbXBlZzFfaW5pdCwKICAgICAudW5pbml0ICAgICAgICAg PSBmZl92ZHBhdV9jb21tb25fdW5pbml0LAorICAgIC5mcmFtZV9wYXJhbXMgICA9IGZmX3ZkcGF1 X2NvbW1vbl9mcmFtZV9wYXJhbXMsCiAgICAgLnByaXZfZGF0YV9zaXplID0gc2l6ZW9mKFZEUEFV Q29udGV4dCksCiAgICAgLmNhcHNfaW50ZXJuYWwgID0gSFdBQ0NFTF9DQVBfQVNZTkNfU0FGRSwK IH07Cg== --000000000000b6fabf0635189207 Content-Type: application/octet-stream; name="ffmpeg.git.patch9" Content-Disposition: attachment; filename="ffmpeg.git.patch9" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mansmtq410 LS0tIGEvbGliYXZmb3JtYXQvbXBlZ2VuYy5jCTIwMjUtMDUtMTEgMTU6MDU6MjQuNDM3NDkwMjM3 IC0wNjAwCisrKyBiL2xpYmF2Zm9ybWF0L21wZWdlbmMuYwkyMDI1LTA1LTExIDE0OjQ2OjQ2LjY2 MTkzNDA3MyAtMDYwMApAQCAtOTg5LDkgKzk4OSw5IEBACiAgICAgICAgIFBhY2tldERlc2MgKnBr dF9kZXNjOwogCiAgICAgICAgIHdoaWxlICgocGt0X2Rlc2MgPSBzdHJlYW0tPnByZWRlY29kZV9w YWNrZXQpICYmCisgICAgICAgICAgICAgICBwa3RfZGVzYyAhPSBzdHJlYW0tPnByZW11eF9wYWNr ZXQgJiYKICAgICAgICAgICAgICAgIHNjciA+IHBrdF9kZXNjLT5kdHMpIHsgLy8gRklYTUU6ID4g dnMgPj0KLSAgICAgICAgICAgIGlmIChzdHJlYW0tPmJ1ZmZlcl9pbmRleCA8IHBrdF9kZXNjLT5z aXplIHx8Ci0gICAgICAgICAgICAgICAgc3RyZWFtLT5wcmVkZWNvZGVfcGFja2V0ID09IHN0cmVh bS0+cHJlbXV4X3BhY2tldCkgeworICAgICAgICAgICAgaWYgKHN0cmVhbS0+YnVmZmVyX2luZGV4 IDwgcGt0X2Rlc2MtPnNpemUpIHsKICAgICAgICAgICAgICAgICBhdl9sb2coY3R4LCBBVl9MT0df RVJST1IsCiAgICAgICAgICAgICAgICAgICAgICAgICJidWZmZXIgdW5kZXJmbG93IHN0PSVkIGJ1 Zmk9JWQgc2l6ZT0lZFxuIiwKICAgICAgICAgICAgICAgICAgICAgICAgaSwgc3RyZWFtLT5idWZm ZXJfaW5kZXgsIHBrdF9kZXNjLT5zaXplKTsK --000000000000b6fabf0635189207 Content-Type: application/octet-stream; name="ffmpeg.git.patch5" Content-Disposition: attachment; filename="ffmpeg.git.patch5" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mansmtot8 LS0tIGEvbGliYXZmaWx0ZXIvZm9ybWF0cy5jCisrKyBiL2xpYmF2ZmlsdGVyL2Zvcm1hdHMuYwpA QCAtMTEwLDExICsxMTAsMTMgQEAKICAgICAgICBwb3NzaWJseSBjYXVzaW5nIGEgbG9zc3kgY29u dmVyc2lvbiBlbHNld2hlcmUgaW4gdGhlIGdyYXBoLgogICAgICAgIFRvIGF2b2lkIHRoYXQsIHBy ZXRlbmQgdGhhdCB0aGVyZSBhcmUgbm8gY29tbW9uIGZvcm1hdHMgdG8gZm9yY2UgdGhlCiAgICAg ICAgaW5zZXJ0aW9uIG9mIGEgY29udmVyc2lvbiBmaWx0ZXIuICovCi0gICAgaWYgKHR5cGUgPT0g QVZNRURJQV9UWVBFX1ZJREVPKQorICAgIGlmICh0eXBlID09IEFWTUVESUFfVFlQRV9WSURFTykg ewogICAgICAgICBmb3IgKGkgPSAwOyBpIDwgYS0+bmJfZm9ybWF0czsgaSsrKSB7CiAgICAgICAg ICAgICBjb25zdCBBVlBpeEZtdERlc2NyaXB0b3IgKmNvbnN0IGFkZXNjID0gYXZfcGl4X2ZtdF9k ZXNjX2dldChhLT5mb3JtYXRzW2ldKTsKKyAgICAgICAgICAgIGlmKCAhYWRlc2MgKSBjb250aW51 ZTsKICAgICAgICAgICAgIGZvciAoaiA9IDA7IGogPCBiLT5uYl9mb3JtYXRzOyBqKyspIHsKICAg ICAgICAgICAgICAgICBjb25zdCBBVlBpeEZtdERlc2NyaXB0b3IgKmJkZXNjID0gYXZfcGl4X2Zt dF9kZXNjX2dldChiLT5mb3JtYXRzW2pdKTsKKyAgICAgICAgICAgICAgICBpZiggIWJkZXNjICkg Y29udGludWU7CiAgICAgICAgICAgICAgICAgYWxwaGEyIHw9IGFkZXNjLT5mbGFncyAmIGJkZXNj LT5mbGFncyAmIEFWX1BJWF9GTVRfRkxBR19BTFBIQTsKICAgICAgICAgICAgICAgICBjaHJvbWEy fD0gYWRlc2MtPm5iX2NvbXBvbmVudHMgPiAxICYmIGJkZXNjLT5uYl9jb21wb25lbnRzID4gMTsK ICAgICAgICAgICAgICAgICBpZiAoYS0+Zm9ybWF0c1tpXSA9PSBiLT5mb3JtYXRzW2pdKSB7CkBA IC0xMjMsNiArMTI1LDcgQEAKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAg ICAgIH0KKyAgICB9CiAKICAgICAvLyBJZiBjaHJvbWEgb3IgYWxwaGEgY2FuIGJlIGxvc3QgdGhy b3VnaCBtZXJnaW5nIHRoZW4gZG8gbm90IG1lcmdlCiAgICAgaWYgKGFscGhhMiA+IGFscGhhMSB8 fCBjaHJvbWEyID4gY2hyb21hMSkK --000000000000b6fabf0635189207 Content-Type: application/octet-stream; name="ffmpeg.git.patch10" Content-Disposition: attachment; filename="ffmpeg.git.patch10" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mansmtqv11 LS0tIGEvbGliYXZ1dGlsL2h3Y29udGV4dF9jdWRhLmMJMjAyNS0wNC0xOCAxNDozNTowMS4yOTE1 ODA0MDQgLTA2MDAKKysrIGIvbGliYXZ1dGlsL2h3Y29udGV4dF9jdWRhLmMJMjAyNS0wNC0xOCAx NDozNDoyOS44NTkxMjkwOTAgLTA2MDAKQEAgLTM2NSwxMSArMzY1LDEzIEBACiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHdjdHgtPmludGVybmFs LT5jdWRhX2RldmljZSkpOwogICAgICAgICBpZiAocmV0IDwgMCkKICAgICAgICAgICAgIHJldHVy biByZXQ7CisjaWYgMAogICAgIH0gZWxzZSBpZiAoZmxhZ3MgJiBBVl9DVURBX1VTRV9DVVJSRU5U X0NPTlRFWFQpIHsKICAgICAgICAgcmV0ID0gQ0hFQ0tfQ1UoY3UtPmN1Q3R4R2V0Q3VycmVudCgm aHdjdHgtPmN1ZGFfY3R4KSk7CiAgICAgICAgIGlmIChyZXQgPCAwKQogICAgICAgICAgICAgcmV0 dXJuIHJldDsKICAgICAgICAgYXZfbG9nKGRldmljZV9jdHgsIEFWX0xPR19JTkZPLCAiVXNpbmcg Y3VycmVudCBDVURBIGNvbnRleHQuXG4iKTsKKyNlbmRpZgogICAgIH0gZWxzZSB7CiAgICAgICAg IHJldCA9IENIRUNLX0NVKGN1LT5jdUN0eENyZWF0ZSgmaHdjdHgtPmN1ZGFfY3R4LCBkZXNpcmVk X2ZsYWdzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHdjdHgtPmlu dGVybmFsLT5jdWRhX2RldmljZSkpOwo= --000000000000b6fabf0635189207 Content-Type: application/octet-stream; name="ffmpeg.git.patchB" Content-Disposition: attachment; filename="ffmpeg.git.patchB" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mansmtrm12 LS0tIGEvbGliYXZ1dGlsL2h3Y29udGV4dF92ZHBhdS5jCisrKyBiL2xpYmF2dXRpbC9od2NvbnRl eHRfdmRwYXUuYwpAQCAtNDcsNiArNDcsMTEgQEAKICAgICB7IDAsICAgICAgICAgICAgICAgICAg ICAgQVZfUElYX0ZNVF9OT05FLCAgIH0sCiB9OwogCitzdGF0aWMgY29uc3QgVkRQQVVQaXhGbXRN YXAgcGl4X2ZtdHNfNDIwaltdID0geworICAgIHsgVkRQX1lDQkNSX0ZPUk1BVF9ZVjEyLCBBVl9Q SVhfRk1UX1lVVko0MjBQIH0sCisgICAgeyAwLCAgICAgICAgICAgICAgICAgICAgIEFWX1BJWF9G TVRfTk9ORSwgICB9LAorfTsKKwogc3RhdGljIGNvbnN0IFZEUEFVUGl4Rm10TWFwIHBpeF9mbXRz XzQyMltdID0gewogICAgIHsgVkRQX1lDQkNSX0ZPUk1BVF9OVjEyLCBBVl9QSVhfRk1UX05WMTYg ICAgfSwKICAgICB7IFZEUF9ZQ0JDUl9GT1JNQVRfWVYxMiwgQVZfUElYX0ZNVF9ZVVY0MjJQIH0s CkBAIC03MSw2ICs3Niw3IEBACiAgICAgY29uc3QgVkRQQVVQaXhGbXRNYXAgKm1hcDsKIH0gdmRw YXVfcGl4X2ZtdHNbXSA9IHsKICAgICB7IFZEUF9DSFJPTUFfVFlQRV80MjAsIEFWX1BJWF9GTVRf WVVWNDIwUCwgcGl4X2ZtdHNfNDIwIH0sCisgICAgeyBWRFBfQ0hST01BX1RZUEVfNDIwLCBBVl9Q SVhfRk1UX1lVVko0MjBQLCBwaXhfZm10c180MjBqIH0sCiAgICAgeyBWRFBfQ0hST01BX1RZUEVf NDIyLCBBVl9QSVhfRk1UX1lVVjQyMlAsIHBpeF9mbXRzXzQyMiB9LAogICAgIHsgVkRQX0NIUk9N QV9UWVBFXzQ0NCwgQVZfUElYX0ZNVF9ZVVY0NDRQLCBwaXhfZm10c180NDQgfSwKICNpZmRlZiBW RFBfWUNCQ1JfRk9STUFUX1AwMTYK --000000000000b6fabf0635189207 Content-Type: application/octet-stream; name="ffmpeg.git.patchC" Content-Disposition: attachment; filename="ffmpeg.git.patchC" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mansmtsb13 LS0tIGEvbGliYXZjb2RlYy9lbmNvZGUuYwkyMDI1LTA1LTEyIDA4OjUyOjUzLjA3MDUzOTQ4OCAt MDYwMAorKysgYi9saWJhdmNvZGVjL2VuY29kZS5jCTIwMjUtMDUtMTIgMDg6NDA6MjIuODMxOTc4 NTY1IC0wNjAwCkBAIC0zMDYsNyArMzA2LDcgQEAKICAgICB9CiAKICAgICBpZiAoIWZyYW1lLT5i dWZbMF0pIHsKLSAgICAgICAgaWYgKCEoYXZjdHgtPmNvZGVjLT5jYXBhYmlsaXRpZXMgJiBBVl9D T0RFQ19DQVBfREVMQVkgfHwKKyAgICAgICAgaWYgKGF2Y2ktPmRyYWluaW5nICYmICEoYXZjdHgt PmNvZGVjLT5jYXBhYmlsaXRpZXMgJiBBVl9DT0RFQ19DQVBfREVMQVkgfHwKICAgICAgICAgICAg ICAgYXZjaS0+ZnJhbWVfdGhyZWFkX2VuY29kZXIpKQogICAgICAgICAgICAgcmV0dXJuIEFWRVJS T1JfRU9GOwogCkBAIC0zMjUsOCArMzI1LDEwIEBACiAgICAgICAgIHJldCA9IGZmX2VuY29kZV9l bmNvZGVfY2IoYXZjdHgsIGF2cGt0LCBmcmFtZSwgJmdvdF9wYWNrZXQpOwogICAgIH0KIAotICAg IGlmIChhdmNpLT5kcmFpbmluZyAmJiAhZ290X3BhY2tldCkKKyAgICBpZiAoYXZjaS0+ZHJhaW5p bmcgJiYgIWdvdF9wYWNrZXQpIHsKKyAgICAgICBmZmx1c2goc3RkZXJyKTsKICAgICAgICAgYXZj aS0+ZHJhaW5pbmdfZG9uZSA9IDE7CisgICAgfQogCiAgICAgcmV0dXJuIHJldDsKIH0KQEAgLTUw MSwxMCArNTAzLDE2IEBACiAgICAgaWYgKGF2Y2ktPmRyYWluaW5nKQogICAgICAgICByZXR1cm4g QVZFUlJPUl9FT0Y7CiAKLSAgICBpZiAoYXZjaS0+YnVmZmVyX2ZyYW1lLT5idWZbMF0pCisgICAg aWYgKGF2Y2ktPmJ1ZmZlcl9mcmFtZS0+YnVmWzBdKSB7CisgICAgICAgIGlmICghZnJhbWUpIHsK KyAgICAgICAgICAgZmZsdXNoKHN0ZGVycik7CisgICAgICAgICAgICBhdl9mcmFtZV91bnJlZihh dmNpLT5idWZmZXJfZnJhbWUpOworICAgICAgIH0KICAgICAgICAgcmV0dXJuIEFWRVJST1IoRUFH QUlOKTsKKyAgICB9CiAKICAgICBpZiAoIWZyYW1lKSB7CisgICAgICAgZmZsdXNoKHN0ZGVycik7 CiAgICAgICAgIGF2Y2ktPmRyYWluaW5nID0gMTsKICAgICB9IGVsc2UgewogICAgICAgICByZXQg PSBlbmNvZGVfc2VuZF9mcmFtZV9pbnRlcm5hbChhdmN0eCwgZnJhbWUpOwo= --000000000000b6fabf0635189207 Content-Type: application/octet-stream; name="ffmpeg.git.patchZ2" Content-Disposition: attachment; filename="ffmpeg.git.patchZ2" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mansmtup16 LS0tIGEvbGliYXZmb3JtYXQveXV2NG1wZWdlbmMuYwkyMDI1LTA1LTExIDE1OjU4OjM1Ljc4MjUw MTc1NiAtMDYwMAorKysgYi9saWJhdmZvcm1hdC95dXY0bXBlZ2VuYy5jCTIwMjUtMDUtMTEgMTU6 NTg6MDguNDgwMTIxNzk3IC0wNjAwCkBAIC0yNjUsNyArMjY1LDcgQEAKICAgICAgICAgICAgIGF2 X2xvZyhzLCBBVl9MT0dfRVJST1IsICInJXMnIGlzIG5vdCBhbiBvZmZpY2lhbCB5dXY0bXBlZ3Bp cGUgcGl4ZWwgZm9ybWF0LiAiCiAgICAgICAgICAgICAgICAgICAgIlVzZSAnLXN0cmljdCAtMScg dG8gZW5jb2RlIHRvIHRoaXMgcGl4ZWwgZm9ybWF0LlxuIiwKICAgICAgICAgICAgICAgICAgICBh dl9nZXRfcGl4X2ZtdF9uYW1lKHMtPnN0cmVhbXNbMF0tPmNvZGVjcGFyLT5mb3JtYXQpKTsKLSAg ICAgICAgICAgIHJldHVybiBBVkVSUk9SKEVJTlZBTCk7CisgICAgICAgICAgICAvL3JldHVybiBB VkVSUk9SKEVJTlZBTCk7CiAgICAgICAgIH0KICAgICAgICAgYXZfbG9nKHMsIEFWX0xPR19XQVJO SU5HLCAiV2FybmluZzogZ2VuZXJhdGluZyBub24gc3RhbmRhcmQgWVVWIHN0cmVhbS4gIgogICAg ICAgICAgICAgICAgIk1qcGVndG9vbHMgd2lsbCBub3Qgd29yay5cbiIpOwo= --000000000000b6fabf0635189207 Content-Type: application/octet-stream; name="ffmpeg.git.patchD" Content-Disposition: attachment; filename="ffmpeg.git.patchD" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mansmtt514 LS0tIGEvbGliYXZjb2RlYy9wY20tZHZkZW5jLmMJMjAyNS0wNS0xMiAxNzoyMDozOS4yNjcxMDI4 MzMgLTA2MDAKKysrIGIvbGliYXZjb2RlYy9wY20tZHZkZW5jLmMJMjAyNS0wNS0xMiAxNzoyMjox My4zNjE2MDAyMzggLTA2MDAKQEAgLTM4LDYgKzM4LDEyIEBACiAgICAgaW50IHF1YW50LCBmcmVx LCBmcmFtZV9zaXplOwogCiAgICAgc3dpdGNoIChhdmN0eC0+c2FtcGxlX3JhdGUpIHsKKyAgICBj YXNlIDMyMDAwOgorICAgICAgIGZyZXEgPSAzOworICAgICAgIGJyZWFrOworICAgIGNhc2UgNDQx MDA6CisgICAgICAgZnJlcSA9IDI7CisgICAgICAgYnJlYWs7CiAgICAgY2FzZSA0ODAwMDoKICAg ICAgICAgZnJlcSA9IDA7CiAgICAgICAgIGJyZWFrOwpAQCAtMTgxLDcgKzE4Nyw3IEBACiAgICAg LnByaXZfZGF0YV9zaXplID0gc2l6ZW9mKFBDTURWRENvbnRleHQpLAogICAgIC5pbml0ICAgICAg ICAgICA9IHBjbV9kdmRfZW5jb2RlX2luaXQsCiAgICAgRkZfQ09ERUNfRU5DT0RFX0NCKHBjbV9k dmRfZW5jb2RlX2ZyYW1lKSwKLSAgICBDT0RFQ19TQU1QTEVSQVRFUyg0ODAwMCwgOTYwMDApLAor ICAgIENPREVDX1NBTVBMRVJBVEVTKDMyMDAwLCA0NDEwMCwgNDgwMDAsIDk2MDAwKSwKICAgICBD T0RFQ19DSF9MQVlPVVRTKEFWX0NIQU5ORUxfTEFZT1VUX01PTk8sICAgIEFWX0NIQU5ORUxfTEFZ T1VUX1NURVJFTywKICAgICAgICAgICAgICAgICAgICAgIEFWX0NIQU5ORUxfTEFZT1VUXzVQT0lO VDEsIEFWX0NIQU5ORUxfTEFZT1VUXzdQT0lOVDEpLAogICAgIENPREVDX1NBTVBMRUZNVFMoQVZf U0FNUExFX0ZNVF9TMTYsIEFWX1NBTVBMRV9GTVRfUzMyKSwK --000000000000b6fabf0635189207 Content-Type: application/octet-stream; name="ffmpeg.git.patchZ1" Content-Disposition: attachment; filename="ffmpeg.git.patchZ1" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mansmtty15 LS0tIGEvbGliYXZjb2RlYy93cmFwcGVkX2F2ZnJhbWUuYwkyMDI1LTA1LTExIDE2OjM0OjQzLjc1 MzU0NjQyMiAtMDYwMAorKysgYi9saWJhdmNvZGVjL3dyYXBwZWRfYXZmcmFtZS5jCTIwMjUtMDUt MTEgMTU6MDg6MDguMTU3NzY4NDM4IC0wNjAwCkBAIC0zMiw2ICszMiwzOCBAQAogI2luY2x1ZGUg ImxpYmF2dXRpbC9idWZmZXIuaCIKICNpbmNsdWRlICJsaWJhdnV0aWwvbWVtLmgiCiAKKworCitz dGF0aWMgY29uc3QgZW51bSBBVlBpeGVsRm9ybWF0IHBpeF9mbXRzX2FsbFtdID0geworICAgIEFW X1BJWF9GTVRfWVVWNDExUCwKKyAgICBBVl9QSVhfRk1UX1lVVjQyMFAsCisgICAgQVZfUElYX0ZN VF9ZVVZKNDIwUCwKKyAgICBBVl9QSVhfRk1UX1lVVjQyMlAsCisgICAgQVZfUElYX0ZNVF9ZVVZK NDIyUCwKKyAgICBBVl9QSVhfRk1UX1lVVjQ0NFAsCisgICAgQVZfUElYX0ZNVF9ZVVZKNDQ0UCwK KyAgICBBVl9QSVhfRk1UX1lVVjQyMFAxMCwKKyAgICBBVl9QSVhfRk1UX1lVVjQyMlAxMCwKKyAg ICBBVl9QSVhfRk1UX1lVVjQ0NFAxMCwKKyAgICBBVl9QSVhfRk1UX1lVVjQyMFAxMiwKKyAgICBB Vl9QSVhfRk1UX1lVVjQyMlAxMiwKKyAgICBBVl9QSVhfRk1UX1lVVjQ0NFAxMiwKKyAgICBBVl9Q SVhfRk1UX1lVVjQyMFAxNCwKKyAgICBBVl9QSVhfRk1UX1lVVjQyMlAxNCwKKyAgICBBVl9QSVhf Rk1UX1lVVjQ0NFAxNCwKKyAgICBBVl9QSVhfRk1UX1lVVjQyMFAxNiwKKyAgICBBVl9QSVhfRk1U X1lVVjQyMlAxNiwKKyAgICBBVl9QSVhfRk1UX1lVVjQ0NFAxNiwKKyAgICBBVl9QSVhfRk1UX0dS QVk4LAorICAgIEFWX1BJWF9GTVRfR1JBWTksCisgICAgQVZfUElYX0ZNVF9HUkFZMTAsCisgICAg QVZfUElYX0ZNVF9HUkFZMTIsCisgICAgQVZfUElYX0ZNVF9HUkFZMTYsCisgICAgQVZfUElYX0ZN VF9OT05FCit9OworCisKKwogc3RhdGljIHZvaWQgd3JhcHBlZF9hdmZyYW1lX3JlbGVhc2VfYnVm ZmVyKHZvaWQgKnVudXNlZCwgdWludDhfdCAqZGF0YSkKIHsKICAgICBBVkZyYW1lICpmcmFtZSA9 IChBVkZyYW1lICopZGF0YTsKQEAgLTExMCw2ICsxNDIsNyBAQAogICAgIC5wLmlkICAgICAgICAg ICA9IEFWX0NPREVDX0lEX1dSQVBQRURfQVZGUkFNRSwKICAgICAucC5jYXBhYmlsaXRpZXMgPSBB Vl9DT0RFQ19DQVBfRU5DT0RFUl9SRU9SREVSRURfT1BBUVVFLAogICAgIEZGX0NPREVDX0VOQ09E RV9DQih3cmFwcGVkX2F2ZnJhbWVfZW5jb2RlKSwKKyAgICAucC5waXhfZm10cyAgICAgICA9IHBp eF9mbXRzX2FsbCwKIH07CiAKIGNvbnN0IEZGQ29kZWMgZmZfd3JhcHBlZF9hdmZyYW1lX2RlY29k ZXIgPSB7Cg== --000000000000b6fabf0635189207 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". --000000000000b6fabf0635189207--