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 B4A8843805 for ; Fri, 29 Jul 2022 13:35:53 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 391BF68B9F2; Fri, 29 Jul 2022 16:35:50 +0300 (EEST) Received: from mail-lf1-f43.google.com (mail-lf1-f43.google.com [209.85.167.43]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id F0E9968B8A3 for ; Fri, 29 Jul 2022 16:35:43 +0300 (EEST) Received: by mail-lf1-f43.google.com with SMTP id u3so4587370lfl.3 for ; Fri, 29 Jul 2022 06:35:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=uegzU56TyZnyqZfD7NKFgTr3fiPeQkYG4NHmHPyGDkg=; b=D9l4HAJJ8DV57gSTd1Imeinfd3N89HPNQruYqch/3RNbcRpEA8+Gine7cgA8apfZx5 Bhoyyr6WkRGIOfaZyDrxaOp3tKn2tbMOwsnwz4BqTHeoMQK6AHPSlmbCkH6fyFgSdNtX 8Tm+yJXVoBw6EdEbA2wJuQzg1ygFjS7SoftibQhzauP7J1IIUrIcR2/jLxKuIiRV7bqt jlkfSE7bHTBe3KQ7qCSvOibuk0yrKTqTBuxAJtarZbx4Flv26Gv+nBID7VWqpQmOC+V0 adc2LMZ4SfllJ8mUSGkYmo+WZAWOf3GeMISewd/CR6bgUAsrPsMPkwmu5bBBJ0cHsosv fSgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=uegzU56TyZnyqZfD7NKFgTr3fiPeQkYG4NHmHPyGDkg=; b=fzNtvSmH7hfxwoBr6x/wVlrvHhB7G2y7Topzjo7eca7qWy3h/zAMb5OD0PN8OZg5d6 96T3XFP57sU654a1smJWyTn50g+z1TtCc/Y5/vjJO9hfvlTg8TA4J5NokydY9rgJGXbw z1sl0zAqCpou4vJxlWp5x+/1Tq5zFMW4x7RXG+pWixFizoDQLK0JCHfEsPa7sHwB+h/S 3EzEv6TuAid/PFj06uhjXql6W3p+cyh9JjDa3bxgJ1YxFYHlr2AElWgBbldqUWKe4ozc j4/NNnIb7quy6EB7TyX4DyCOoMtB/GOV2WPnjCYBX9t/c1nA3xkCChibpjvB1lLzExp4 9MIg== X-Gm-Message-State: AJIora/nH220WABMstbutKr4Xkm0uMLq25skKv3kByUYIan60V5TjTiG UTsl+ipO96DrFrVggSoE99IIKXsU/Us= X-Google-Smtp-Source: AGRyM1tynvwUjwT7qzcAVNF8f25UHc9QY20+oAG73BtGfWabF2K6Nxn5h5hMl7PrgtECMkuiWUhsQw== X-Received: by 2002:a05:6512:2290:b0:48a:9b0c:e12a with SMTP id f16-20020a056512229000b0048a9b0ce12amr1432490lfu.616.1659101742998; Fri, 29 Jul 2022 06:35:42 -0700 (PDT) Received: from localhost.localdomain (91-153-198-187.elisa-laajakaista.fi. [91.153.198.187]) by smtp.gmail.com with ESMTPSA id a3-20020a19e303000000b0048a68fe3745sm667589lfh.34.2022.07.29.06.35.41 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Jul 2022 06:35:42 -0700 (PDT) From: =?UTF-8?q?Jan=20Ekstr=C3=B6m?= To: ffmpeg-devel@ffmpeg.org Date: Fri, 29 Jul 2022 16:35:36 +0300 Message-Id: <20220729133537.53269-1-jeebjp@gmail.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20220722134808.16692-1-jeebjp@gmail.com> References: <20220722134808.16692-1-jeebjp@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v3 1/2] 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+Ci0tLQogZmZ0b29scy9mZm1wZWcuYyB8IDUwICsr KysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNo YW5nZWQsIDI5IGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Zm dG9vbHMvZmZtcGVnLmMgYi9mZnRvb2xzL2ZmbXBlZy5jCmluZGV4IDQ3NDY3NDJjMDIuLmFkY2Fi NDNhMzAgMTAwNjQ0Ci0tLSBhL2ZmdG9vbHMvZmZtcGVnLmMKKysrIGIvZmZ0b29scy9mZm1wZWcu YwpAQCAtMjMwMSwyNyArMjMwMSwxNiBAQCBmYWlsOgogICAgIHJldHVybiBlcnIgPCAwID8gZXJy IDogcmV0OwogfQogCi1zdGF0aWMgaW50IHRyYW5zY29kZV9zdWJ0aXRsZXMoSW5wdXRTdHJlYW0g KmlzdCwgQVZQYWNrZXQgKnBrdCwgaW50ICpnb3Rfb3V0cHV0LAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGludCAqZGVjb2RlX2ZhaWxlZCkKK3N0YXRpYyBpbnQgZW5jb2RlX211eF9z dWJ0aXRsZXMoSW5wdXRTdHJlYW0gKmlzdCwgQVZTdWJ0aXRsZSAqc3VidGl0bGUsIGludCAqZ290 X291dHB1dCkKIHsKLSAgICBBVlN1YnRpdGxlIHN1YnRpdGxlOworICAgIGludCByZXQgPSAwOwog ICAgIGludCBmcmVlX3N1YiA9IDE7Ci0gICAgaW50IGksIHJldCA9IGF2Y29kZWNfZGVjb2RlX3N1 YnRpdGxlMihpc3QtPmRlY19jdHgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAmc3VidGl0bGUsIGdvdF9vdXRwdXQsIHBrdCk7CiAKLSAgICBjaGVja19kZWNvZGVf cmVzdWx0KE5VTEwsIGdvdF9vdXRwdXQsIHJldCk7Ci0KLSAgICBpZiAocmV0IDwgMCB8fCAhKmdv dF9vdXRwdXQpIHsKLSAgICAgICAgKmRlY29kZV9mYWlsZWQgPSAxOwotICAgICAgICBpZiAoIXBr dC0+c2l6ZSkKLSAgICAgICAgICAgIHN1YjJ2aWRlb19mbHVzaChpc3QpOwotICAgICAgICByZXR1 cm4gcmV0OwotICAgIH0KIAogICAgIGlmIChpc3QtPmZpeF9zdWJfZHVyYXRpb24pIHsKICAgICAg ICAgaW50IGVuZCA9IDE7CiAgICAgICAgIGlmIChpc3QtPnByZXZfc3ViLmdvdF9vdXRwdXQpIHsK LSAgICAgICAgICAgIGVuZCA9IGF2X3Jlc2NhbGUoc3VidGl0bGUucHRzIC0gaXN0LT5wcmV2X3N1 Yi5zdWJ0aXRsZS5wdHMsCisgICAgICAgICAgICBlbmQgPSBhdl9yZXNjYWxlKHN1YnRpdGxlLT5w dHMgLSBpc3QtPnByZXZfc3ViLnN1YnRpdGxlLnB0cywKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgMTAwMCwgQVZfVElNRV9CQVNFKTsKICAgICAgICAgICAgIGlmIChlbmQgPCBpc3QtPnBy ZXZfc3ViLnN1YnRpdGxlLmVuZF9kaXNwbGF5X3RpbWUpIHsKICAgICAgICAgICAgICAgICBhdl9s b2coTlVMTCwgQVZfTE9HX0RFQlVHLApAQCAtMjMzMyw3ICsyMzIyLDcgQEAgc3RhdGljIGludCB0 cmFuc2NvZGVfc3VidGl0bGVzKElucHV0U3RyZWFtICppc3QsIEFWUGFja2V0ICpwa3QsIGludCAq Z290X291dHB1dCwKICAgICAgICAgfQogICAgICAgICBGRlNXQVAoaW50LCAgICAgICAgKmdvdF9v dXRwdXQsIGlzdC0+cHJldl9zdWIuZ290X291dHB1dCk7CiAgICAgICAgIEZGU1dBUChpbnQsICAg ICAgICByZXQsICAgICAgICAgaXN0LT5wcmV2X3N1Yi5yZXQpOwotICAgICAgICBGRlNXQVAoQVZT dWJ0aXRsZSwgc3VidGl0bGUsICAgIGlzdC0+cHJldl9zdWIuc3VidGl0bGUpOworICAgICAgICBG RlNXQVAoQVZTdWJ0aXRsZSwgKnN1YnRpdGxlLCAgIGlzdC0+cHJldl9zdWIuc3VidGl0bGUpOwog ICAgICAgICBpZiAoZW5kIDw9IDApCiAgICAgICAgICAgICBnb3RvIG91dDsKICAgICB9CkBAIC0y MzQyLDQwICsyMzMxLDU5IEBAIHN0YXRpYyBpbnQgdHJhbnNjb2RlX3N1YnRpdGxlcyhJbnB1dFN0 cmVhbSAqaXN0LCBBVlBhY2tldCAqcGt0LCBpbnQgKmdvdF9vdXRwdXQsCiAgICAgICAgIHJldHVy biByZXQ7CiAKICAgICBpZiAoaXN0LT5zdWIydmlkZW8uZnJhbWUpIHsKLSAgICAgICAgc3ViMnZp ZGVvX3VwZGF0ZShpc3QsIElOVDY0X01JTiwgJnN1YnRpdGxlKTsKKyAgICAgICAgc3ViMnZpZGVv X3VwZGF0ZShpc3QsIElOVDY0X01JTiwgc3VidGl0bGUpOwogICAgIH0gZWxzZSBpZiAoaXN0LT5u Yl9maWx0ZXJzKSB7CiAgICAgICAgIGlmICghaXN0LT5zdWIydmlkZW8uc3ViX3F1ZXVlKQogICAg ICAgICAgICAgaXN0LT5zdWIydmlkZW8uc3ViX3F1ZXVlID0gYXZfZmlmb19hbGxvYzIoOCwgc2l6 ZW9mKEFWU3VidGl0bGUpLCBBVl9GSUZPX0ZMQUdfQVVUT19HUk9XKTsKICAgICAgICAgaWYgKCFp c3QtPnN1YjJ2aWRlby5zdWJfcXVldWUpCiAgICAgICAgICAgICBleGl0X3Byb2dyYW0oMSk7CiAK LSAgICAgICAgcmV0ID0gYXZfZmlmb193cml0ZShpc3QtPnN1YjJ2aWRlby5zdWJfcXVldWUsICZz dWJ0aXRsZSwgMSk7CisgICAgICAgIHJldCA9IGF2X2ZpZm9fd3JpdGUoaXN0LT5zdWIydmlkZW8u c3ViX3F1ZXVlLCBzdWJ0aXRsZSwgMSk7CiAgICAgICAgIGlmIChyZXQgPCAwKQogICAgICAgICAg ICAgZXhpdF9wcm9ncmFtKDEpOwogICAgICAgICBmcmVlX3N1YiA9IDA7CiAgICAgfQogCi0gICAg aWYgKCFzdWJ0aXRsZS5udW1fcmVjdHMpCisgICAgaWYgKCFzdWJ0aXRsZS0+bnVtX3JlY3RzKQog ICAgICAgICBnb3RvIG91dDsKIAogICAgIGlzdC0+ZnJhbWVzX2RlY29kZWQrKzsKIAotICAgIGZv ciAoaSA9IDA7IGkgPCBuYl9vdXRwdXRfc3RyZWFtczsgaSsrKSB7CisgICAgZm9yIChpbnQgaSA9 IDA7IGkgPCBuYl9vdXRwdXRfc3RyZWFtczsgaSsrKSB7CiAgICAgICAgIE91dHB1dFN0cmVhbSAq b3N0ID0gb3V0cHV0X3N0cmVhbXNbaV07CiAKICAgICAgICAgaWYgKCFjaGVja19vdXRwdXRfY29u c3RyYWludHMoaXN0LCBvc3QpIHx8ICFvc3QtPmVuY29kaW5nX25lZWRlZAogICAgICAgICAgICAg fHwgb3N0LT5lbmMtPnR5cGUgIT0gQVZNRURJQV9UWVBFX1NVQlRJVExFKQogICAgICAgICAgICAg Y29udGludWU7CiAKLSAgICAgICAgZG9fc3VidGl0bGVfb3V0KG91dHB1dF9maWxlc1tvc3QtPmZp bGVfaW5kZXhdLCBvc3QsICZzdWJ0aXRsZSk7CisgICAgICAgIGRvX3N1YnRpdGxlX291dChvdXRw dXRfZmlsZXNbb3N0LT5maWxlX2luZGV4XSwgb3N0LCBzdWJ0aXRsZSk7CiAgICAgfQogCiBvdXQ6 CiAgICAgaWYgKGZyZWVfc3ViKQotICAgICAgICBhdnN1YnRpdGxlX2ZyZWUoJnN1YnRpdGxlKTsK KyAgICAgICAgYXZzdWJ0aXRsZV9mcmVlKHN1YnRpdGxlKTsKICAgICByZXR1cm4gcmV0OwogfQog CitzdGF0aWMgaW50IHRyYW5zY29kZV9zdWJ0aXRsZXMoSW5wdXRTdHJlYW0gKmlzdCwgQVZQYWNr ZXQgKnBrdCwgaW50ICpnb3Rfb3V0cHV0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGludCAqZGVjb2RlX2ZhaWxlZCkKK3sKKyAgICBBVlN1YnRpdGxlIHN1YnRpdGxlOworICAgIGlu dCByZXQgPSBhdmNvZGVjX2RlY29kZV9zdWJ0aXRsZTIoaXN0LT5kZWNfY3R4LAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnN1YnRpdGxlLCBnb3Rfb3V0cHV0LCBwa3Qp OworCisgICAgY2hlY2tfZGVjb2RlX3Jlc3VsdChOVUxMLCBnb3Rfb3V0cHV0LCByZXQpOworCisg ICAgaWYgKHJldCA8IDAgfHwgISpnb3Rfb3V0cHV0KSB7CisgICAgICAgICpkZWNvZGVfZmFpbGVk ID0gMTsKKyAgICAgICAgaWYgKCFwa3QtPnNpemUpCisgICAgICAgICAgICBzdWIydmlkZW9fZmx1 c2goaXN0KTsKKyAgICAgICAgcmV0dXJuIHJldDsKKyAgICB9CisKKyAgICByZXR1cm4gZW5jb2Rl X211eF9zdWJ0aXRsZXMoaXN0LCAmc3VidGl0bGUsIGdvdF9vdXRwdXQpOworfQorCiBzdGF0aWMg aW50IHNlbmRfZmlsdGVyX2VvZihJbnB1dFN0cmVhbSAqaXN0KQogewogICAgIGludCBpLCByZXQ7 Ci0tIAoyLjM3LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKaHR0 cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCgpUbyB1bnN1YnNj cmliZSwgdmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwKZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZt cGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4K