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 746A2443DA for ; Mon, 10 Oct 2022 12:45:12 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7A5CD68BCEE; Mon, 10 Oct 2022 15:45:10 +0300 (EEST) Received: from mail-lj1-f177.google.com (mail-lj1-f177.google.com [209.85.208.177]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5711968BC82 for ; Mon, 10 Oct 2022 15:45:04 +0300 (EEST) Received: by mail-lj1-f177.google.com with SMTP id h8so1106822lja.11 for ; Mon, 10 Oct 2022 05:45:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=J73wwsUeNn41xwgMtd00inIX6ks7V+ANDHGVMLmxQXI=; b=oYa2irhl3+a0miwgPLanMuDqCmS5gt17jNBokzkn5vaIViB9ZOuPBtZ5N3jMsW53Fz 48L6lJCXeOfNntTs7J1EAWrAB5Jr+YY2F2gQW6woXq4xOq4a47lDoZ1Qux7vu0L7pfxL 3VLEsC6LXT3eWKTKvdYFaT5o9JJeKP1+YlcVOM1DtM0vJXmRs4wAZVsm1rLfbEGr7UoM R1TTCLFSoxd40kZeW8DNk7CQP/9QxH/TxIpJWeD1YHiP4jqfTsUuAZmvsTA0ae5MtAUo /o2bff5ehoFOL01X3GYGeJbWMlSj7yFrvD/aFkNAQuVRxwNrdmpi7VSPFMGT/BWTUy/p QHbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=J73wwsUeNn41xwgMtd00inIX6ks7V+ANDHGVMLmxQXI=; b=OHkMe51G5A+kbMNItLKjAuVh+icz5LIK6J/r1dazPjmQHS0UFusLzBae6/39X2zfh2 Fawrsbcy626AzWunndz9ki0qR8TsWtLOtiUXg1APx14KmkfYbmud2YZWk64SyAl7mp9L 5mhOLixqX0Ae8cgM8ki0fN8ycpuH5bXOpDNydHrB+gmQ2jgWqz7PXW31jgghv4KbQYD5 m+3qaxmvmUk+S+LpyRni16/tJIyKtHv7L/3+veTBFefx+akpqs2q9xa4QUrvIIU1rI7k lg537ophUB4qyB700qPLZJXTFsJIxF4lWm4fGQ2RH6xIlG9GCdfOagnAEnm4aorRqzcQ Y65Q== X-Gm-Message-State: ACrzQf28hyZnkzbIrRSLNoFGIHwsSp4iXlbZCxOHRspUBS19XMoDZTi+ rD82I+3M7cTZ0Ry3tQspnxioyNSHpqQ= X-Google-Smtp-Source: AMsMyM5etA6vqh/H7IQXdbOKoco7HxQyzrn8+4iTWpPkMwcrVq7wfKO5juN9Ee24mUcrhcA5pGnQAg== X-Received: by 2002:a05:651c:107a:b0:26e:8998:3f63 with SMTP id y26-20020a05651c107a00b0026e89983f63mr4836036ljm.23.1665405903370; Mon, 10 Oct 2022 05:45:03 -0700 (PDT) Received: from localhost.localdomain (91-153-198-187.elisa-laajakaista.fi. [91.153.198.187]) by smtp.gmail.com with ESMTPSA id 14-20020a2e154e000000b0026dd1968533sm1657722ljv.86.2022.10.10.05.45.02 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Oct 2022 05:45:02 -0700 (PDT) From: =?UTF-8?q?Jan=20Ekstr=C3=B6m?= To: ffmpeg-devel@ffmpeg.org Date: Mon, 10 Oct 2022 15:44:55 +0300 Message-Id: <20221010124457.9213-1-jeebjp@gmail.com> X-Mailer: git-send-email 2.37.3 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v5 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+Ci0tLQogZmZ0b29scy9mZm1wZWcuYyB8IDUxICsr KysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNo YW5nZWQsIDI5IGluc2VydGlvbnMoKyksIDIyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Zm dG9vbHMvZmZtcGVnLmMgYi9mZnRvb2xzL2ZmbXBlZy5jCmluZGV4IDc1NDE3MmU1NjguLmZlMzUw ZmUyYmIgMTAwNjQ0Ci0tLSBhL2ZmdG9vbHMvZmZtcGVnLmMKKysrIGIvZmZ0b29scy9mZm1wZWcu YwpAQCAtMjMwNCwyNyArMjMwNCwxNSBAQCBmYWlsOgogICAgIHJldHVybiBlcnIgPCAwID8gZXJy IDogcmV0OwogfQogCi1zdGF0aWMgaW50IHRyYW5zY29kZV9zdWJ0aXRsZXMoSW5wdXRTdHJlYW0g KmlzdCwgQVZQYWNrZXQgKnBrdCwgaW50ICpnb3Rfb3V0cHV0LAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGludCAqZGVjb2RlX2ZhaWxlZCkKK3N0YXRpYyBpbnQgcHJvY2Vzc19zdWJ0 aXRsZShJbnB1dFN0cmVhbSAqaXN0LCBBVlN1YnRpdGxlICpzdWJ0aXRsZSwgaW50ICpnb3Rfb3V0 cHV0KQogewotICAgIEFWU3VidGl0bGUgc3VidGl0bGU7CisgICAgaW50IHJldCA9IDA7CiAgICAg aW50IGZyZWVfc3ViID0gMTsKLSAgICBpbnQgaSwgcmV0ID0gYXZjb2RlY19kZWNvZGVfc3VidGl0 bGUyKGlzdC0+ZGVjX2N0eCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICZzdWJ0aXRsZSwgZ290X291dHB1dCwgcGt0KTsKLQotICAgIGNoZWNrX2RlY29kZV9yZXN1 bHQoTlVMTCwgZ290X291dHB1dCwgcmV0KTsKLQotICAgIGlmIChyZXQgPCAwIHx8ICEqZ290X291 dHB1dCkgewotICAgICAgICAqZGVjb2RlX2ZhaWxlZCA9IDE7Ci0gICAgICAgIGlmICghcGt0LT5z aXplKQotICAgICAgICAgICAgc3ViMnZpZGVvX2ZsdXNoKGlzdCk7Ci0gICAgICAgIHJldHVybiBy ZXQ7Ci0gICAgfQogCiAgICAgaWYgKGlzdC0+Zml4X3N1Yl9kdXJhdGlvbikgewogICAgICAgICBp bnQgZW5kID0gMTsKICAgICAgICAgaWYgKGlzdC0+cHJldl9zdWIuZ290X291dHB1dCkgewotICAg ICAgICAgICAgZW5kID0gYXZfcmVzY2FsZShzdWJ0aXRsZS5wdHMgLSBpc3QtPnByZXZfc3ViLnN1 YnRpdGxlLnB0cywKKyAgICAgICAgICAgIGVuZCA9IGF2X3Jlc2NhbGUoc3VidGl0bGUtPnB0cyAt IGlzdC0+cHJldl9zdWIuc3VidGl0bGUucHRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAxMDAwLCBBVl9USU1FX0JBU0UpOwogICAgICAgICAgICAgaWYgKGVuZCA8IGlzdC0+cHJldl9z dWIuc3VidGl0bGUuZW5kX2Rpc3BsYXlfdGltZSkgewogICAgICAgICAgICAgICAgIGF2X2xvZyhO VUxMLCBBVl9MT0dfREVCVUcsCkBAIC0yMzM2LDcgKzIzMjQsNyBAQCBzdGF0aWMgaW50IHRyYW5z Y29kZV9zdWJ0aXRsZXMoSW5wdXRTdHJlYW0gKmlzdCwgQVZQYWNrZXQgKnBrdCwgaW50ICpnb3Rf b3V0cHV0LAogICAgICAgICB9CiAgICAgICAgIEZGU1dBUChpbnQsICAgICAgICAqZ290X291dHB1 dCwgaXN0LT5wcmV2X3N1Yi5nb3Rfb3V0cHV0KTsKICAgICAgICAgRkZTV0FQKGludCwgICAgICAg IHJldCwgICAgICAgICBpc3QtPnByZXZfc3ViLnJldCk7Ci0gICAgICAgIEZGU1dBUChBVlN1YnRp dGxlLCBzdWJ0aXRsZSwgICAgaXN0LT5wcmV2X3N1Yi5zdWJ0aXRsZSk7CisgICAgICAgIEZGU1dB UChBVlN1YnRpdGxlLCAqc3VidGl0bGUsICAgaXN0LT5wcmV2X3N1Yi5zdWJ0aXRsZSk7CiAgICAg ICAgIGlmIChlbmQgPD0gMCkKICAgICAgICAgICAgIGdvdG8gb3V0OwogICAgIH0KQEAgLTIzNDUs NDAgKzIzMzMsNTkgQEAgc3RhdGljIGludCB0cmFuc2NvZGVfc3VidGl0bGVzKElucHV0U3RyZWFt ICppc3QsIEFWUGFja2V0ICpwa3QsIGludCAqZ290X291dHB1dCwKICAgICAgICAgcmV0dXJuIHJl dDsKIAogICAgIGlmIChpc3QtPnN1YjJ2aWRlby5mcmFtZSkgewotICAgICAgICBzdWIydmlkZW9f dXBkYXRlKGlzdCwgSU5UNjRfTUlOLCAmc3VidGl0bGUpOworICAgICAgICBzdWIydmlkZW9fdXBk YXRlKGlzdCwgSU5UNjRfTUlOLCBzdWJ0aXRsZSk7CiAgICAgfSBlbHNlIGlmIChpc3QtPm5iX2Zp bHRlcnMpIHsKICAgICAgICAgaWYgKCFpc3QtPnN1YjJ2aWRlby5zdWJfcXVldWUpCiAgICAgICAg ICAgICBpc3QtPnN1YjJ2aWRlby5zdWJfcXVldWUgPSBhdl9maWZvX2FsbG9jMig4LCBzaXplb2Yo QVZTdWJ0aXRsZSksIEFWX0ZJRk9fRkxBR19BVVRPX0dST1cpOwogICAgICAgICBpZiAoIWlzdC0+ c3ViMnZpZGVvLnN1Yl9xdWV1ZSkKICAgICAgICAgICAgIHJlcG9ydF9hbmRfZXhpdChBVkVSUk9S KEVOT01FTSkpOwogCi0gICAgICAgIHJldCA9IGF2X2ZpZm9fd3JpdGUoaXN0LT5zdWIydmlkZW8u c3ViX3F1ZXVlLCAmc3VidGl0bGUsIDEpOworICAgICAgICByZXQgPSBhdl9maWZvX3dyaXRlKGlz dC0+c3ViMnZpZGVvLnN1Yl9xdWV1ZSwgc3VidGl0bGUsIDEpOwogICAgICAgICBpZiAocmV0IDwg MCkKICAgICAgICAgICAgIGV4aXRfcHJvZ3JhbSgxKTsKICAgICAgICAgZnJlZV9zdWIgPSAwOwog ICAgIH0KIAotICAgIGlmICghc3VidGl0bGUubnVtX3JlY3RzKQorICAgIGlmICghc3VidGl0bGUt Pm51bV9yZWN0cykKICAgICAgICAgZ290byBvdXQ7CiAKICAgICBpc3QtPmZyYW1lc19kZWNvZGVk Kys7CiAKLSAgICBmb3IgKGkgPSAwOyBpIDwgbmJfb3V0cHV0X3N0cmVhbXM7IGkrKykgeworICAg IGZvciAoaW50IGkgPSAwOyBpIDwgbmJfb3V0cHV0X3N0cmVhbXM7IGkrKykgewogICAgICAgICBP dXRwdXRTdHJlYW0gKm9zdCA9IG91dHB1dF9zdHJlYW1zW2ldOwogCiAgICAgICAgIGlmICghY2hl Y2tfb3V0cHV0X2NvbnN0cmFpbnRzKGlzdCwgb3N0KSB8fCAhb3N0LT5lbmNfY3R4CiAgICAgICAg ICAgICB8fCBvc3QtPmVuY19jdHgtPmNvZGVjX3R5cGUgIT0gQVZNRURJQV9UWVBFX1NVQlRJVExF KQogICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgZG9fc3VidGl0bGVfb3V0KG91dHB1 dF9maWxlc1tvc3QtPmZpbGVfaW5kZXhdLCBvc3QsICZzdWJ0aXRsZSk7CisgICAgICAgIGRvX3N1 YnRpdGxlX291dChvdXRwdXRfZmlsZXNbb3N0LT5maWxlX2luZGV4XSwgb3N0LCBzdWJ0aXRsZSk7 CiAgICAgfQogCiBvdXQ6CiAgICAgaWYgKGZyZWVfc3ViKQotICAgICAgICBhdnN1YnRpdGxlX2Zy ZWUoJnN1YnRpdGxlKTsKKyAgICAgICAgYXZzdWJ0aXRsZV9mcmVlKHN1YnRpdGxlKTsKICAgICBy ZXR1cm4gcmV0OwogfQogCitzdGF0aWMgaW50IHRyYW5zY29kZV9zdWJ0aXRsZXMoSW5wdXRTdHJl YW0gKmlzdCwgQVZQYWNrZXQgKnBrdCwgaW50ICpnb3Rfb3V0cHV0LAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGludCAqZGVjb2RlX2ZhaWxlZCkKK3sKKyAgICBBVlN1YnRpdGxlIHN1 YnRpdGxlOworICAgIGludCByZXQgPSBhdmNvZGVjX2RlY29kZV9zdWJ0aXRsZTIoaXN0LT5kZWNf Y3R4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnN1YnRpdGxlLCBn b3Rfb3V0cHV0LCBwa3QpOworCisgICAgY2hlY2tfZGVjb2RlX3Jlc3VsdChOVUxMLCBnb3Rfb3V0 cHV0LCByZXQpOworCisgICAgaWYgKHJldCA8IDAgfHwgISpnb3Rfb3V0cHV0KSB7CisgICAgICAg ICpkZWNvZGVfZmFpbGVkID0gMTsKKyAgICAgICAgaWYgKCFwa3QtPnNpemUpCisgICAgICAgICAg ICBzdWIydmlkZW9fZmx1c2goaXN0KTsKKyAgICAgICAgcmV0dXJuIHJldDsKKyAgICB9CisKKyAg ICByZXR1cm4gcHJvY2Vzc19zdWJ0aXRsZShpc3QsICZzdWJ0aXRsZSwgZ290X291dHB1dCk7Cit9 CisKIHN0YXRpYyBpbnQgc2VuZF9maWx0ZXJfZW9mKElucHV0U3RyZWFtICppc3QpCiB7CiAgICAg aW50IGksIHJldDsKLS0gCjIuMzcuMwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZt cGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwK ClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwt cmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=