From patchwork Wed Aug 30 19:04:59 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul B Mahol X-Patchwork-Id: 4911 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.15.201 with SMTP id 70csp802298jao; Wed, 30 Aug 2017 12:10:37 -0700 (PDT) X-Google-Smtp-Source: ADKCNb7lgZuewW3Q/gHygoKiGc8bizKs+LDErO8WH3uqOFaO1A+wYBF/+SeiAxGYuKg1A7cw8+UN X-Received: by 10.28.147.132 with SMTP id v126mr1777823wmd.177.1504120237580; Wed, 30 Aug 2017 12:10:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1504120237; cv=none; d=google.com; s=arc-20160816; b=Uu83kHsvMbhWNaYK4lzd9E9kOhWm7akdToi/Z77Cm5+W/f0CiLWx2QMToaoe1eW58P 0pMpNBtpqSGi1KmqPKf+zgcNtmpjIbyGxX/HJhIy7klkmO4kireukRF5D/AtfV9O/AT/ AeridOmoe3TuIVezy2M7cwpxU3epG28N1a5qgZB38yjTzxUQfqIHsfFnJmpgchJzliKu vBUS5JckpPL+FioaP+czyrzD1rG86DGRw3y9Gkm8abVXoSFz62SyXZM0Q1UZZ+Jie4vd kbLXhXGm35tSBTWGPEu9oZUPVXHjl3NfIo5vqmRgOd9MCH2lojAM8+iTc2V5n/ovHKdv YcPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:message-id:date:to:from:dkim-signature :delivered-to:arc-authentication-results; bh=9MQZTM2fG0v3xLCUvexbl06XSn4VYIVTT+AfzfCE8F4=; b=v3rXJ23tIHIXGQc1l/PteSuki5DpMnm8mCRXZ7cmtgEmaQRxHkr+SQTIdH+trOxpcH YKfGqXf02cngK9LahNTBCrNTzJcjfuSY9pQQxh7/BfZ4yYCCNdXHSHq3/JQes1vrupLh hkxkaHT5aPLTdVjjB2cxg/mVQu3Yn6X90aY3Yb/bTB8k/seILyEB2W95oeDdNJLSsArv oL0/TqeSfUYVdRRguAIF8EOo2PMYd+0zeJ9v4ps0KB/DqE1W/FW7OhZlDEu0VNQbZIZN dq37OpYxH6Kc0GBeULbKoGEfUAd6S9nUfGscGKnJ9z9oEhZgJfW4Ixwuekdc023tlOuF SHAA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=Um1a0bvc; 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=NONE 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 t21si4798142wrb.333.2017.08.30.12.10.36; Wed, 30 Aug 2017 12:10:37 -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=20161025 header.b=Um1a0bvc; 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=NONE 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 EE1D8689EEF; Wed, 30 Aug 2017 22:10:32 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm0-f65.google.com (mail-wm0-f65.google.com [74.125.82.65]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 35DBB689E86 for ; Wed, 30 Aug 2017 22:10:26 +0300 (EEST) Received: by mail-wm0-f65.google.com with SMTP id m85so2249036wma.0 for ; Wed, 30 Aug 2017 12:10:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id; bh=GTC0g9ghlnUVghJdKvBFC6Zlq/mFxMj03IR1iCC/vzA=; b=Um1a0bvcwvPoFxmkU8H7xZ2nlgfu1KfPA7bP7hjk8yWPpjj2pgyUjSJV7M+gBc1hQR akUThn5WYjKHPmGbbdzCZ0Fb73Xjp9rLcBhyMWiGGU6dWrjiMu/z6WhyfmkuFw+oliPK dPjq6vfIEarWFN2326hQipdBKsYvA8Nonx2HULx5rMt2heHMOJFQAoNcvNJzAZHuy0RM OaPJusulqiS3om4VeoLv7iG4R6/nrAWnIXPMAT86PdlzlXPTTsnuKVMbRrq6KD3Jk+R9 r51r81nhMGNmHAX3+xJ5BVyWNtWZZadsLyuuw9UXVFKqrCr/GJRCunUswCjf6wzSBp7T ezGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id; bh=GTC0g9ghlnUVghJdKvBFC6Zlq/mFxMj03IR1iCC/vzA=; b=FUIqWs888sp930PjCIqWw2HrJ9luSWspX+EqPq+f1m0qHcSkm3q737+7IJXbrusYWM 56i9jm50LT+LfhDSylXuZhbWqUxHQ6gsw8Y0RCbZqRcl0qVnqxC/FEU6gWYvRbQMpMgQ qOyE/LfeS41LHSvq3O624/VIJJ4bn0e0p0IzirL/K5ypq4kId30dH8ZWBzdNtba67ViX DbaGHU4Ae1ue8ZiOgw8fkYXlSf9AneyevNL1pUzscgBNgCW/TGABoJnrFwR/nlfXNbPe qwD9QNVx36Rv+drXynei0ryyZXV79IJJ5qAF9bj1wh7yB9S+RqZfjBc2MoK1AVCebP/7 9wmw== X-Gm-Message-State: AHYfb5gQyL80J+UR8X0GN2/Ngvv2Fo/Y330QLp7zS8ZBh1IvEMZHDDe1 8AzwD3b64st6w3/0 X-Received: by 10.28.72.87 with SMTP id v84mr1769222wma.37.1504119913371; Wed, 30 Aug 2017 12:05:13 -0700 (PDT) Received: from localhost.localdomain ([94.250.174.60]) by smtp.gmail.com with ESMTPSA id r2sm3335372wmg.30.2017.08.30.12.05.12 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 30 Aug 2017 12:05:12 -0700 (PDT) From: Paul B Mahol To: ffmpeg-devel@ffmpeg.org Date: Wed, 30 Aug 2017 21:04:59 +0200 Message-Id: <20170830190459.4505-1-onemda@gmail.com> X-Mailer: git-send-email 2.9.3 Subject: [FFmpeg-devel] [PATCH] avfilter/vf_subtitles: enable processing of alpha channel X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Fixes #6605. Signed-off-by: Paul B Mahol --- libavfilter/vf_subtitles.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libavfilter/vf_subtitles.c b/libavfilter/vf_subtitles.c index 805ee2d..b7ba628 100644 --- a/libavfilter/vf_subtitles.c +++ b/libavfilter/vf_subtitles.c @@ -54,6 +54,7 @@ typedef struct AssContext { char *charenc; char *force_style; int stream_index; + int alpha; uint8_t rgba_map[4]; int pix_step[4]; ///< steps per pixel for each plane of the main output int original_w, original_h; @@ -69,6 +70,7 @@ typedef struct AssContext { {"f", "set the filename of file to read", OFFSET(filename), AV_OPT_TYPE_STRING, {.str = NULL}, CHAR_MIN, CHAR_MAX, FLAGS }, \ {"original_size", "set the size of the original video (used to scale fonts)", OFFSET(original_w), AV_OPT_TYPE_IMAGE_SIZE, {.str = NULL}, CHAR_MIN, CHAR_MAX, FLAGS }, \ {"fontsdir", "set the directory containing the fonts to read", OFFSET(fontsdir), AV_OPT_TYPE_STRING, {.str = NULL}, CHAR_MIN, CHAR_MAX, FLAGS }, \ + {"alpha", "enable processing of alpha channel", OFFSET(alpha), AV_OPT_TYPE_BOOL, {.i64 = 0 }, 0, 1, FLAGS }, \ /* libass supports a log level ranging from 0 to 7 */ static const int ass_libavfilter_log_level_map[] = { @@ -140,7 +142,7 @@ static int config_input(AVFilterLink *inlink) { AssContext *ass = inlink->dst->priv; - ff_draw_init(&ass->draw, inlink->format, 0); + ff_draw_init(&ass->draw, inlink->format, ass->alpha); ass_set_frame_size (ass->renderer, inlink->w, inlink->h); if (ass->original_w && ass->original_h)