From patchwork Mon May 30 14:55:44 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: TADANO Tokumei X-Patchwork-Id: 34738 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:6914:b0:82:6b11:2509 with SMTP id q20csp2320097pzj; Mon, 30 May 2022 07:56:58 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzMuVzgHPCUxL5aivAKYwF4hvemZmlzfKjVkCOci9M6Mf5LE4h5f8k3nVCWHWRV1q3TXEga X-Received: by 2002:a17:907:8a05:b0:6ff:1060:3ed1 with SMTP id sc5-20020a1709078a0500b006ff10603ed1mr23204711ejc.341.1653922618200; Mon, 30 May 2022 07:56:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1653922618; cv=none; d=google.com; s=arc-20160816; b=DUDHgoMatEAhicUMoqC05I9ze1Yl+wFBfa9P7RgwV2n46EILRAfweTmeo+tzmIplBJ 4IRmSCY1Y8xeGi9Iz707EBHsbFfleSbc0yZ9qhasZ+IaVsKnYRXggkEGj70M57YNIkbS CppQu9dTRx8fy+wSjUubNCIko+Ol1L4aZBJmF2zG6q+cPEVxI8X4g2zBF3T1x52yFlFz tVugyoVUQSScQW9W9+k6UXtkYNkTrY+ukrIMmK5GQqWhxSUYlL4i+Jeg7yhY0LtGOvO+ jNJW5zxXw6ZmWPQGMyvodiaK2xO9py5PFr1Zh3hDIq4K3nf0T3Jcekk1u/39MTNIDJTh bbxA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:message-id:date:to:from :dkim-signature:dkim-filter:delivered-to; bh=r66NjgTaqrRGPumLc4eIWVuh74WNy+O27EKe1g7lss0=; b=YKo0LawEqPHhdJvudV/j4tGPtNtmz9VPfxVdDO4V6ymXToHBOQmQ4t4PHZPhmTS/Kl 11Pn9XpIThzZNEKoAPjm4Y2bYpI4S5MKu2Od3IP3W97US19j3tXUsmzjD8P2Wxxshtxr UQWVlkMnRtQtHLr+FLhs+mP4U2Ha5hophvas9vFSWt4Lfjo4OYHIZ+AT1EhxsZrT6evL 2usY1GrYVKtqDbTeu0HGzDmP2Grrbj1em6nYg/VN9W6NdnKrKLLy4dwFPA3yTUbYxdva WQPqQaElLNlJYeN2Xt6bj7IAKK7R2r6XejeGY1MRi7pTFGVumt2HBmzoPCQGbOq1J5gl gwfg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@nifty.com header.s=dec2015msa header.b=cWpwFBYn; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id y15-20020a056402270f00b0042b073a0a58si12722717edd.296.2022.05.30.07.56.57; Mon, 30 May 2022 07:56:58 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@nifty.com header.s=dec2015msa header.b=cWpwFBYn; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4A4C868B5F5; Mon, 30 May 2022 17:56:52 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from conssluserg-05.nifty.com (conssluserg-05.nifty.com [210.131.2.90]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0DE0168B518 for ; Mon, 30 May 2022 17:56:45 +0300 (EEST) Received: from osamu-pc.kimura.local (M106073025034.v4.enabler.ne.jp [106.73.25.34]) (authenticated) by conssluserg-05.nifty.com with ESMTP id 24UEuMF9014185; Mon, 30 May 2022 23:56:22 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conssluserg-05.nifty.com 24UEuMF9014185 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1653922582; bh=G60fg2sNg4xzIcxxAEQZn9lY4hGOjfzxRkdjXlOiVR0=; h=From:To:Cc:Subject:Date:From; b=cWpwFBYnk2UfHSFE68TnIIzSQvEZUOmUZKsE8qSmr8PiCE/0Ev5hoa26WBrMbTSnY YfvWOQ2Rn3NBVBxNsYGBCKLkJSn2nNmV41vFUZN5jRRx/O6FJ5qWGoLK1dz8QfgSRr PXEvLtWaB8iqbpImIQc144yKMGnyMQx/jXfNJ+eGta0bC5tMsnlZ2iREy7iBFI3soA W4s9MZxILzI+NhvmZ7J9yvzprD1rwEXN75wVAkcc/VSmZ4c3AVxoUPIaHlY27tgwox N6XXO7KH6rOGlCNdS8ILVLK/0+3WUuI1YEpSm0JvGmzdTE1WEtYi69mU5F60nrKhR0 89GCHwgNRpAhw== X-Nifty-SrcIP: [106.73.25.34] From: TADANO Tokumei To: ffmpeg-devel@ffmpeg.org Date: Mon, 30 May 2022 23:55:44 +0900 Message-Id: <20220530145548.211886-1-aimingoff@pc.nifty.jp> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v4 0/4] add ARIB caption decoder using libaribcaption 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 Cc: TADANO Tokumei Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: Ffx7dwEOEVy1 This patch set add another ARIB caption decoder using libaribcaption external library: https://github.com/xqq/libaribcaption The library decodes subtitles of ISDB-based TV broadcasting. It is not only for Japanese ARIB STD-B24 caption, but also for Brazilian ABNT NBR 15606-1 and Philippines version of ISDB-T. Unlike libaribb24, it supports 3 types of subtitle outputs: * text: plain text * ass: ASS formatted text * bitmap: bitmap image Default subtitle type is ASS as same as libaribb24, but it can be changed by `-sub_type` option. You can see ARIB caption with ffplay tool: ffplay -sub_type bitmap MPEG.TS Sample files exist under: https://streams.videolan.org/streams/ts/ARIB/ Some of them are encrypted and some don't contain ARIB caption data. Good samples for ARIB caption are: brazil/07-25_20-33-35_UCV - HD_.ts japan/channel2[137]_clear.ts --- v4: reflect review results from outside of this ML. - resize bitmap subtitle image to display fonts with correct aspect ratio - multiple font families can be specified by '-font' option - remove 'rendering_backend' option - add document - minor bug fixes v3: combine former 1/4 and 2/4 due to the patchwork shows build error. v2: combine former 1/5 and 2/5 due to the patchwork shows build error. - fix help option content which incorrectly separated to 2 lines in 2/4. - amend commit message of 4/4. TADANO Tokumei (4): lavc/libaribcaption.c: add ARIB caption decoder using libaribcaption lavc/codec_desc.c: remove AV_CODEC_PROP_TEXT_SUB property lavf/mpegts.c: set some properties for ARIB caption doc/decoders.texi: add document of aribcaption decoder configure | 4 + doc/decoders.texi | 99 +++ libavcodec/Makefile | 1 + libavcodec/allcodecs.c | 1 + libavcodec/codec_desc.c | 1 - libavcodec/libaribb24.c | 1 + libavcodec/libaribcaption.c | 1137 +++++++++++++++++++++++++++++++++++ libavformat/mpegts.c | 19 +- 8 files changed, 1261 insertions(+), 2 deletions(-) create mode 100644 libavcodec/libaribcaption.c