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 812A344D30 for ; Mon, 19 Dec 2022 07:34:32 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0F8A468B2F6; Mon, 19 Dec 2022 09:34:25 +0200 (EET) Received: from mail-lf1-f52.google.com (mail-lf1-f52.google.com [209.85.167.52]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D46A768A49E for ; Mon, 19 Dec 2022 09:34:17 +0200 (EET) Received: by mail-lf1-f52.google.com with SMTP id o6so7505327lfi.5 for ; Sun, 18 Dec 2022 23:34:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=3PYtyLQ9HIgj1Yzp/rYxBGUyaX95lPSWVHTdR5/AuiA=; b=Q0JGRbMfyshSKvTzHZ843ZSr1DccfFD3H2KJ5zUT3UDjXhXMS7yVQjPig1ER1/7ZNQ 8n5fcXP1txHtXqqBk02NY+pkupcWSENbsFUVWjAKzFx4k464zwYW/yTW2nXyGKA0UP7A hLBGEILGXxZUax/8Is4jf0vGQwvtLFC1iJ67LuFDl7DeprwiSM6trIV7V88//P4ANLGx TvwrwvifAxuZ48YPk1Bvf29qKhjsvL4dSgHO3H235tXAORus9HeylXR0UMxxbkgVyzjj qo5NWGn39AYpuh34z5ed7xp3Xklb1Cg7llxCcp3GCKtO8PuDRKPY7kvtz2t7LbBZNVRY L3YQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=3PYtyLQ9HIgj1Yzp/rYxBGUyaX95lPSWVHTdR5/AuiA=; b=KxpPp7ecqKA6Gbg+MV9ZwqVihrERdyQ0C9PvqiEHakPvcAQE0d+7pSEIvjpiQ2wJeO UuFNzIrQ5FJ0OdQFmDH+npcq+fS8IW5KQyl4XWeuI7FbzjAOEW/GBFZzCDcQgGDYTpUJ H2F8XXfYtk7JptOrBCv+PT4WeFpy/jtcfBDhe/qxUjcbvEVRoVPTVWCkbtJ63Fbjc3FC stpdP3TNJf85p0Pc46l/B4XTpEpArbBH1FPCAaB0iQzzy9cq3a2JbDKCvTNHyKmljy0f gzHDIk0kgHRZ+poF3uFHoys0g7JQ0400WB7D4Pe+jKLW5yng8SxV4KDKL2wJy+9z3rIO dBmQ== X-Gm-Message-State: ANoB5plw7NAAcfweRH9UCRBFfohFy670k8U8/QYg7fIQ7mKo1X7TJL4k i3gazVG6JmPvlw4uP5Bp5l66hpe2Nuk= X-Google-Smtp-Source: AA0mqf7qllTUQcH9o+Ym0DTimryZrnpK+n+Vs+QAHyafov684SzE3rMc3oFMuBksJ99fFOgF/wX44g== X-Received: by 2002:ac2:4c51:0:b0:4a4:8a04:4b37 with SMTP id o17-20020ac24c51000000b004a48a044b37mr15644598lfk.32.1671435257186; Sun, 18 Dec 2022 23:34:17 -0800 (PST) Received: from localhost.localdomain (91-153-198-187.elisa-laajakaista.fi. [91.153.198.187]) by smtp.gmail.com with ESMTPSA id r7-20020a19ac47000000b004b58ebf0399sm1029165lfc.132.2022.12.18.23.34.16 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 18 Dec 2022 23:34:16 -0800 (PST) From: =?UTF-8?q?Jan=20Ekstr=C3=B6m?= To: ffmpeg-devel@ffmpeg.org Date: Mon, 19 Dec 2022 09:34:06 +0200 Message-Id: <20221219073408.11501-2-jeebjp@gmail.com> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221219073408.11501-1-jeebjp@gmail.com> References: <20221219073408.11501-1-jeebjp@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v6 1/3] ffmpeg: refactor post-decoding steps for subtitles into a function 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: RnJvbTogSmFuIEVrc3Ryw7ZtIDxqYW4uZWtzdHJvbUAyNGkuY29tPgoKVGhpcyBlbmFibGVzIHVz IHRvIGxhdGVyIGNhbGwgdGhpcyB3aGVuIGdlbmVyYXRpbmcgYWRkaXRpb25hbApzdWJ0aXRsZXMg Zm9yIHNwbGl0dGluZyBwdXJwb3Nlcy4KCkNvLWF1dGhvcmVkLWJ5OiBBbmRyemVqIE5hZGFjaG93 c2tpIDxhbmRyemVqLm5hZGFjaG93c2tpQDI0aS5jb20+CgpTaWduZWQtb2ZmLWJ5OiBKYW4gRWtz dHLDtm0gPGphbi5la3N0cm9tQDI0aS5jb20+Ci0tLQogZmZ0b29scy9mZm1wZWcuYyB8IDQ5ICsr KysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNo YW5nZWQsIDI4IGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Zm dG9vbHMvZmZtcGVnLmMgYi9mZnRvb2xzL2ZmbXBlZy5jCmluZGV4IDg4MWQ2ZjBhZjIuLmVhZjBh NDAzMjggMTAwNjQ0Ci0tLSBhL2ZmdG9vbHMvZmZtcGVnLmMKKysrIGIvZmZ0b29scy9mZm1wZWcu YwpAQCAtMjE4NywyNyArMjE4NywxNSBAQCBmYWlsOgogICAgIHJldHVybiBlcnIgPCAwID8gZXJy IDogcmV0OwogfQogCi1zdGF0aWMgaW50IHRyYW5zY29kZV9zdWJ0aXRsZXMoSW5wdXRTdHJlYW0g KmlzdCwgQVZQYWNrZXQgKnBrdCwgaW50ICpnb3Rfb3V0cHV0LAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGludCAqZGVjb2RlX2ZhaWxlZCkKK3N0YXRpYyBpbnQgcHJvY2Vzc19zdWJ0 aXRsZShJbnB1dFN0cmVhbSAqaXN0LCBBVlN1YnRpdGxlICpzdWJ0aXRsZSwgaW50ICpnb3Rfb3V0 cHV0KQogewotICAgIEFWU3VidGl0bGUgc3VidGl0bGU7CisgICAgaW50IHJldCA9IDA7CiAgICAg aW50IGZyZWVfc3ViID0gMTsKLSAgICBpbnQgcmV0ID0gYXZjb2RlY19kZWNvZGVfc3VidGl0bGUy KGlzdC0+ZGVjX2N0eCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZz dWJ0aXRsZSwgZ290X291dHB1dCwgcGt0KTsKLQotICAgIGNoZWNrX2RlY29kZV9yZXN1bHQoTlVM TCwgZ290X291dHB1dCwgcmV0KTsKLQotICAgIGlmIChyZXQgPCAwIHx8ICEqZ290X291dHB1dCkg ewotICAgICAgICAqZGVjb2RlX2ZhaWxlZCA9IDE7Ci0gICAgICAgIGlmICghcGt0LT5zaXplKQot ICAgICAgICAgICAgc3ViMnZpZGVvX2ZsdXNoKGlzdCk7Ci0gICAgICAgIHJldHVybiByZXQ7Ci0g ICAgfQogCiAgICAgaWYgKGlzdC0+Zml4X3N1Yl9kdXJhdGlvbikgewogICAgICAgICBpbnQgZW5k ID0gMTsKICAgICAgICAgaWYgKGlzdC0+cHJldl9zdWIuZ290X291dHB1dCkgewotICAgICAgICAg ICAgZW5kID0gYXZfcmVzY2FsZShzdWJ0aXRsZS5wdHMgLSBpc3QtPnByZXZfc3ViLnN1YnRpdGxl LnB0cywKKyAgICAgICAgICAgIGVuZCA9IGF2X3Jlc2NhbGUoc3VidGl0bGUtPnB0cyAtIGlzdC0+ cHJldl9zdWIuc3VidGl0bGUucHRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMDAw LCBBVl9USU1FX0JBU0UpOwogICAgICAgICAgICAgaWYgKGVuZCA8IGlzdC0+cHJldl9zdWIuc3Vi dGl0bGUuZW5kX2Rpc3BsYXlfdGltZSkgewogICAgICAgICAgICAgICAgIGF2X2xvZyhOVUxMLCBB Vl9MT0dfREVCVUcsCkBAIC0yMjE5LDcgKzIyMDcsNyBAQCBzdGF0aWMgaW50IHRyYW5zY29kZV9z dWJ0aXRsZXMoSW5wdXRTdHJlYW0gKmlzdCwgQVZQYWNrZXQgKnBrdCwgaW50ICpnb3Rfb3V0cHV0 LAogICAgICAgICB9CiAgICAgICAgIEZGU1dBUChpbnQsICAgICAgICAqZ290X291dHB1dCwgaXN0 LT5wcmV2X3N1Yi5nb3Rfb3V0cHV0KTsKICAgICAgICAgRkZTV0FQKGludCwgICAgICAgIHJldCwg ICAgICAgICBpc3QtPnByZXZfc3ViLnJldCk7Ci0gICAgICAgIEZGU1dBUChBVlN1YnRpdGxlLCBz dWJ0aXRsZSwgICAgaXN0LT5wcmV2X3N1Yi5zdWJ0aXRsZSk7CisgICAgICAgIEZGU1dBUChBVlN1 YnRpdGxlLCAqc3VidGl0bGUsICAgaXN0LT5wcmV2X3N1Yi5zdWJ0aXRsZSk7CiAgICAgICAgIGlm IChlbmQgPD0gMCkKICAgICAgICAgICAgIGdvdG8gb3V0OwogICAgIH0KQEAgLTIyMjgsMjAgKzIy MTYsMjAgQEAgc3RhdGljIGludCB0cmFuc2NvZGVfc3VidGl0bGVzKElucHV0U3RyZWFtICppc3Qs IEFWUGFja2V0ICpwa3QsIGludCAqZ290X291dHB1dCwKICAgICAgICAgcmV0dXJuIHJldDsKIAog ICAgIGlmIChpc3QtPnN1YjJ2aWRlby5mcmFtZSkgewotICAgICAgICBzdWIydmlkZW9fdXBkYXRl KGlzdCwgSU5UNjRfTUlOLCAmc3VidGl0bGUpOworICAgICAgICBzdWIydmlkZW9fdXBkYXRlKGlz dCwgSU5UNjRfTUlOLCBzdWJ0aXRsZSk7CiAgICAgfSBlbHNlIGlmIChpc3QtPm5iX2ZpbHRlcnMp IHsKICAgICAgICAgaWYgKCFpc3QtPnN1YjJ2aWRlby5zdWJfcXVldWUpCiAgICAgICAgICAgICBp c3QtPnN1YjJ2aWRlby5zdWJfcXVldWUgPSBhdl9maWZvX2FsbG9jMig4LCBzaXplb2YoQVZTdWJ0 aXRsZSksIEFWX0ZJRk9fRkxBR19BVVRPX0dST1cpOwogICAgICAgICBpZiAoIWlzdC0+c3ViMnZp ZGVvLnN1Yl9xdWV1ZSkKICAgICAgICAgICAgIHJlcG9ydF9hbmRfZXhpdChBVkVSUk9SKEVOT01F TSkpOwogCi0gICAgICAgIHJldCA9IGF2X2ZpZm9fd3JpdGUoaXN0LT5zdWIydmlkZW8uc3ViX3F1 ZXVlLCAmc3VidGl0bGUsIDEpOworICAgICAgICByZXQgPSBhdl9maWZvX3dyaXRlKGlzdC0+c3Vi MnZpZGVvLnN1Yl9xdWV1ZSwgc3VidGl0bGUsIDEpOwogICAgICAgICBpZiAocmV0IDwgMCkKICAg ICAgICAgICAgIGV4aXRfcHJvZ3JhbSgxKTsKICAgICAgICAgZnJlZV9zdWIgPSAwOwogICAgIH0K IAotICAgIGlmICghc3VidGl0bGUubnVtX3JlY3RzKQorICAgIGlmICghc3VidGl0bGUtPm51bV9y ZWN0cykKICAgICAgICAgZ290byBvdXQ7CiAKICAgICBpc3QtPmZyYW1lc19kZWNvZGVkKys7CkBA IC0yMjUxLDE1ICsyMjM5LDM0IEBAIHN0YXRpYyBpbnQgdHJhbnNjb2RlX3N1YnRpdGxlcyhJbnB1 dFN0cmVhbSAqaXN0LCBBVlBhY2tldCAqcGt0LCBpbnQgKmdvdF9vdXRwdXQsCiAgICAgICAgICAg ICB8fCBvc3QtPmVuY19jdHgtPmNvZGVjX3R5cGUgIT0gQVZNRURJQV9UWVBFX1NVQlRJVExFKQog ICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgZG9fc3VidGl0bGVfb3V0KG91dHB1dF9m aWxlc1tvc3QtPmZpbGVfaW5kZXhdLCBvc3QsICZzdWJ0aXRsZSk7CisgICAgICAgIGRvX3N1YnRp dGxlX291dChvdXRwdXRfZmlsZXNbb3N0LT5maWxlX2luZGV4XSwgb3N0LCBzdWJ0aXRsZSk7CiAg ICAgfQogCiBvdXQ6CiAgICAgaWYgKGZyZWVfc3ViKQotICAgICAgICBhdnN1YnRpdGxlX2ZyZWUo JnN1YnRpdGxlKTsKKyAgICAgICAgYXZzdWJ0aXRsZV9mcmVlKHN1YnRpdGxlKTsKICAgICByZXR1 cm4gcmV0OwogfQogCitzdGF0aWMgaW50IHRyYW5zY29kZV9zdWJ0aXRsZXMoSW5wdXRTdHJlYW0g KmlzdCwgQVZQYWNrZXQgKnBrdCwgaW50ICpnb3Rfb3V0cHV0LAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGludCAqZGVjb2RlX2ZhaWxlZCkKK3sKKyAgICBBVlN1YnRpdGxlIHN1YnRp dGxlOworICAgIGludCByZXQgPSBhdmNvZGVjX2RlY29kZV9zdWJ0aXRsZTIoaXN0LT5kZWNfY3R4 LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnN1YnRpdGxlLCBnb3Rf b3V0cHV0LCBwa3QpOworCisgICAgY2hlY2tfZGVjb2RlX3Jlc3VsdChOVUxMLCBnb3Rfb3V0cHV0 LCByZXQpOworCisgICAgaWYgKHJldCA8IDAgfHwgISpnb3Rfb3V0cHV0KSB7CisgICAgICAgICpk ZWNvZGVfZmFpbGVkID0gMTsKKyAgICAgICAgaWYgKCFwa3QtPnNpemUpCisgICAgICAgICAgICBz dWIydmlkZW9fZmx1c2goaXN0KTsKKyAgICAgICAgcmV0dXJuIHJldDsKKyAgICB9CisKKyAgICBy ZXR1cm4gcHJvY2Vzc19zdWJ0aXRsZShpc3QsICZzdWJ0aXRsZSwgZ290X291dHB1dCk7Cit9CisK IHN0YXRpYyBpbnQgc2VuZF9maWx0ZXJfZW9mKElucHV0U3RyZWFtICppc3QpCiB7CiAgICAgaW50 IGksIHJldDsKLS0gCjIuMzguMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVn Lm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRv IHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVx dWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=