From patchwork Sat May 21 10:37:06 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: TADANO Tokumei X-Patchwork-Id: 34719 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:9992:b0:82:461d:f3b with SMTP id ve18csp1003771pzb; Sat, 21 May 2022 03:38:24 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy9rMfJgZiqV57g/tVNxxYB+i8Qu7F9yrx8z+l+XJOZmWCnC5BRVU1J7yQXUiplaq1pQ8GV X-Received: by 2002:a17:906:6a29:b0:6f4:3389:9094 with SMTP id qw41-20020a1709066a2900b006f433899094mr12405690ejc.323.1653129504605; Sat, 21 May 2022 03:38:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1653129504; cv=none; d=google.com; s=arc-20160816; b=y/Zy40OL+J4kIYlKyT1z2Bf61fefugGL9QyIMOfDJBuXZWHGUz/jz/9VRLZ5KoKY4e Wfx7TwwBhR6stKV4qixWzMmGfqmJshlhwnthdLWTLv/kYelWqW8hpVFScnBDUO1I8FS8 XFE+LXWSnOwYyQ/A+/TPVIvSebZrCMuDplhOIY7Mf/6tChw8I43kBGQLjsgycBDhHGtC zU7DP3UyYz439DAvhAfL6sbn5iyv3EIUeDN7eOxP/THOqow06e68xjnasFoDa4vRvwXv Lso2Jt4h/VFuYcJ1luAqYaLQM6fjvcKNw5wg7GiqKHwX28Zc0LXrhf9CFz1S0kcgPn6/ /ZZQ== 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=IvATEeuhq2FMyOWa+lhl1N/yquz2E+UYCivG+l8hueU=; b=PQ5YIKNQkzGNn67xY1cL3uzNtZt86yJLMQM1d6q6WIGEyIS4EbUH33eJ3bt/T+pmZZ HvX9ayIgym6rdnSBB0ikWyn9C/07rAIcd0JQxdKgQ55S0XxNofoIZ7/NAIb6+L+kTCbq VqdwHNeOW4sPdsSrH529BpAwycTfXmXoxlfngPk4Nz2OOukIT8lnnHGlP7pePfZIlguL jQ3E2vOtfKp9gKKNaJLwNv7EkSUben6HrjFpFZvkea7nKchDpnTT4sKbs6CH2HfKt+1a 8tOkkXtbGPR2IvXaIQ9QRnX6QW7xOq+IPLQv1+aWrLcj8Gvn8o9/g6xjVtNAyDerWCGv +zuA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@nifty.com header.s=dec2015msa header.b=x1rp33PI; 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 hg4-20020a1709072cc400b006e8424d10f3si10082659ejc.169.2022.05.21.03.38.23; Sat, 21 May 2022 03:38:24 -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=x1rp33PI; 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 363FE68B4A2; Sat, 21 May 2022 13:38:19 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from conssluserg-01.nifty.com (conssluserg-01.nifty.com [210.131.2.80]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id BBCCA68B337 for ; Sat, 21 May 2022 13:38:11 +0300 (EEST) Received: from osamu-pc.kimura.local (M106073025034.v4.enabler.ne.jp [106.73.25.34]) (authenticated) by conssluserg-01.nifty.com with ESMTP id 24LAbdnO005140; Sat, 21 May 2022 19:37:44 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conssluserg-01.nifty.com 24LAbdnO005140 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1653129464; bh=P4h+0tMnz5RWx7KEUSE2+HdzqqkD7NRRCCQuthOhFgs=; h=From:To:Cc:Subject:Date:From; b=x1rp33PI6K29ivswR/mzsQVEe/7/yRN/0MgFXhPRQp/CVh44cIDMQZ7jSd4N8rGl5 Sz1JPiE8xWm6usRBql/XQXAeNjlibIjuiwX3Qe7BZgPNZe/v6JyErKdRgzBQVtGXsC qGGppqQI3to2C6OAy/ZWs5byepDFdS56ot/MwH/Hi5eosFJkOFH5Ni34aA+dDvRWpm +pDnUb0vPT2LRqwv0+xb4/3UC+uQu1IUNTNJjwcRZzMYhHQg8GuqQuL/bnZaFqP2sc GZswCe1LP/ztORURNX2brA7DOHoKy55rv9Cv98EFb8xeHKBZEnDPsziOTpMUUQ3/aD DigEGDZ/2dGPw== X-Nifty-SrcIP: [106.73.25.34] From: TADANO Tokumei To: ffmpeg-devel@ffmpeg.org Date: Sat, 21 May 2022 19:37:06 +0900 Message-Id: <20220521103711.413481-1-aimingoff@pc.nifty.jp> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 0/5] 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: gdmo+TkylRRu 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 TADANO Tokumei (5): lavc/libaribcaption.c: add ARIB caption decoder using libaribcaption lavc/allcodecs.c: add aribcaption_decoder configure + lavc/Makefile: define build infrastructure for libaribcaption lavc/codec_desc.c: remove AV_CODEC_PROP_TEXT_SUB property lavf/mpegts.c: set some properties for ARIB caption configure | 5 + libavcodec/Makefile | 1 + libavcodec/allcodecs.c | 1 + libavcodec/codec_desc.c | 1 - libavcodec/libaribb24.c | 1 + libavcodec/libaribcaption.c | 1097 +++++++++++++++++++++++++++++++++++ libavformat/mpegts.c | 19 +- 7 files changed, 1123 insertions(+), 2 deletions(-) create mode 100644 libavcodec/libaribcaption.c