From patchwork Tue May 3 16:13:16 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Traian Coza X-Patchwork-Id: 34695 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:a885:b0:7f:4be2:bd17 with SMTP id ca5csp495996pzb; Tue, 3 May 2022 09:13:47 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwuLD6RrW+NnAzDkPMX6Y+CdLjeSumpnnqNONTzAq5DUJFc2cI6fS7Gh2hUQLrFlpuQbSdu X-Received: by 2002:a17:907:728c:b0:6f4:57e5:9ac6 with SMTP id dt12-20020a170907728c00b006f457e59ac6mr8616533ejc.22.1651594427457; Tue, 03 May 2022 09:13:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1651594427; cv=none; d=google.com; s=arc-20160816; b=Il6VQNWept55xyLfNOxRm7Pjod/Yk2si0h1eZ2v6XShghB1wGJ+S/YWKLp37ZKInWe rwjvUqwQOYBQIiNLPCLEq3tq55n/ei/NhOAGJqYwxjBj2K+O0zrPKlGxdCHY5n/CdIDW ScFMm351UzlFyMrZ0EQb+HhgAQHw7ep2y6/MVwiTKcsvNPHd/q8ZRO0TP895+IELfVSC bJ8yO8nqKiLUtyboJwRzFIGdvyBCI/WdKQBKU+JOLV241cYV7k1nEkAVqXtF1gPl348Y vng+nC0qm2M6dfoQ+5HGgXYx+EKkclkP0U2kCarp0UYS51r/67ZGWZMs+R7nQpwpnm0L SrHw== 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:delivered-to; bh=0V4VTULfTyk3GzDagtX3UMkmISjXne0EzZoXtwzSpig=; b=CtHklyaWqheIyVXxrg2lmQWVPzSKPN+iygfkuOVgqGeT2Ze7jl+hOoxkLiXMireTaa 3qbkSut6ysHidIpKmObsKY8AGHcAdBuIzEXg03uaSYBPWIcPOsVV8SwBqcBrfCv88oUA Y3gsBGipf3u0cI/yhw8UKyYZWGpjE/+klHlVOpyAVYhe+VFGh5sExYhN34WkErRiP3WA u170u/tkWYidnrBF/xRblSaxNUJZXzf7oG1rlA/6DSnj0gsmalMdMuuoU3oFu1LE0A0W MItutGL2f94EwT9pCu3sW+9QVBNSEqwyM8YBMwfl0vUgoPF/hJ6uuxSU1AZFzB+8EQDe O5pw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=HhI7fIG8; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id gf25-20020a170906e21900b006e48d161aaasi14205868ejb.213.2022.05.03.09.13.46; Tue, 03 May 2022 09:13:47 -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=@gmail.com header.s=20210112 header.b=HhI7fIG8; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8294968B363; Tue, 3 May 2022 19:13:43 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt1-f178.google.com (mail-qt1-f178.google.com [209.85.160.178]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C96F568B104 for ; Tue, 3 May 2022 19:13:37 +0300 (EEST) Received: by mail-qt1-f178.google.com with SMTP id hh4so13874849qtb.10 for ; Tue, 03 May 2022 09:13:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=qvi4afivzrzgwMP0+TFjMymuypNooxVxUWj5f3eYsfg=; b=HhI7fIG81HWUL1drfm1dNLtpXp8HzPDq/23FIo/P/bkJGY1qVm+LCpmj1+Q4x9AWjX GsAsaqrDTzFwu3p/p1N8mOavR1MvsUmhoKQurrYApXPIuIE7+Z7SOM6e5IqgCyhpMDbd vFyFcMUBo8SiXn+c83/bEX7zvEHWiLlh+h/wba3V/xgd59FgdmCX/GG40LDwgmc3cWv7 DsbA2mZLG0sTQsPf/OD3siY/b7rWelXq0lShRlGxj4+8Qhi3kMofdlgWCMFJYD6TsejC UiGtMwNpbg3kVxYQLFShfdYNa0XR9XpiI5x5cTjDzf6oe5LGofoo/F0QNFl4t8QM5Lyk e4XQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=qvi4afivzrzgwMP0+TFjMymuypNooxVxUWj5f3eYsfg=; b=NtCM+YiCEPdo0G76nDoG7v+iFucrV4CsFniJ6n6LH6/Sii8p+K1H6IPL5qXmpL7wvV fR8Jd+w3gjFRndG++1p2kZady5AH7FVoCOI9CzR2u+Oq501rDUd5gwsJO8UAtbam3Aeq WJipSozK249fAvBh6B3iosiy/W3oF8PhfwcleyCS+hjluU9i/DHYI3woiDcfFe7QAQPK UWkAFWvNOdl5T9UGbObXw4SnOb6EGSqp1GxYX9JH4ZSJK5zgjVl8F7YKmCQtP8HfImx0 o7S6L/eOUAHalmI6gLiPPh88gJ2/3TwS6PZaXvHmFRtpW2W5Vb15+3F5f/JVFZtn8HYY Bl2Q== X-Gm-Message-State: AOAM532Q/s7OkOjxKRs2SjhQa+zRFpy3QqvzlnvadX46c4+d/Nv0s/lq oLom1WYf4jV3SZiZONPRkZQ/31XgcXzl X-Received: by 2002:ac8:5c07:0:b0:2f1:fe44:e72b with SMTP id i7-20020ac85c07000000b002f1fe44e72bmr15606145qti.319.1651594416312; Tue, 03 May 2022 09:13:36 -0700 (PDT) Received: from thinkpad.. ([66.220.203.136]) by smtp.gmail.com with ESMTPSA id fp35-20020a05622a50a300b002f39b99f67asm5812731qtb.20.2022.05.03.09.13.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 May 2022 09:13:36 -0700 (PDT) From: Traian Coza To: ffmpeg-devel@ffmpeg.org Date: Tue, 3 May 2022 12:13:16 -0400 Message-Id: <20220503161328.842587-1-traian.coza@gmail.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 00/12] I added text to bitmap subtitle conversion functionality! 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: Traian Coza Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: A9jxveXoJQXF I added the possibility of converting text-based subtitle tracks (such as subrip or ass) to bitmap-based subtitle tracks (such as dvd_subtitle). I accomplished this by using libass, and basically using the code from vf_subtitles.c to render text subtitles and store the images in the AVSubtitle structure. Of course, this functionality will only work when ffmpeg is configured with --enable-libass. Traian Coza (12): Implemented text to bitmap subtitles! Render only when necessary Retreive width and height from video stream! Initialize ass library only once! Cleaned up Wrote proper headers Close libass after using Added standard headers Rearranged files, all tests are passing! Rearranged files, all tests are passing! Added logging Added more logging fftools/Makefile | 2 + fftools/ffmpeg.c | 35 ++++- fftools/text_to_bitmap.c | 300 +++++++++++++++++++++++++++++++++++++++ fftools/text_to_bitmap.h | 37 +++++ libavcodec/avcodec.h | 9 ++ 5 files changed, 382 insertions(+), 1 deletion(-) create mode 100644 fftools/text_to_bitmap.c create mode 100644 fftools/text_to_bitmap.h