From patchwork Sat Jan 25 02:01:58 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: rcombs X-Patchwork-Id: 17534 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id D242244BC55 for ; Sat, 25 Jan 2020 04:02:52 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id BC9B068B1CB; Sat, 25 Jan 2020 04:02:52 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-yw1-f44.google.com (mail-yw1-f44.google.com [209.85.161.44]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 42EF968B152 for ; Sat, 25 Jan 2020 04:02:48 +0200 (EET) Received: by mail-yw1-f44.google.com with SMTP id b186so1862707ywc.1 for ; Fri, 24 Jan 2020 18:02:48 -0800 (PST) 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=o3hsVBFOYJ+2ruEiBm1z1bOQtgIK9y4VqGhRj1DqFcM=; b=IzKsGmCE9Dqjc5+LeJTgCqdkuNYMizbdH5IVWUzzFbBahvT9R4l2FFe5a59dUgrZy3 L8WCxYsOb7ayq2xJexFjjQWTOLnNGPrzLpnxHI9LJyLdtolW1nOwvXD2Qb6LQtId6oC0 IxZnaE0DHpaP06qMHlamx03sXZ72vocchH1I4sc1uzjNtedKV5cFo8uu9TrAgoi6i2ep YeHimwVZoZ3LshNPolgv/dK0SIC/gchFWE0FKkoL0gtgDW+U296JBilvhNEOlmuPf/be 8TIeaqyFfw5OzRYBkrzLB8t3En0oIzF2wTVhq1YEjpf7nDrMhE9SUmgQuXcocG8qGMWC fViw== X-Gm-Message-State: APjAAAXsOYcJx+0MkWKZqqQEOdrYA+1GdkZowZ1ysWbYi4zh/SBKEHeg WKhi3ORRJYkLeV9/7tdk2tM/voaime4= X-Google-Smtp-Source: APXvYqzQPckcKYHWzCn4R3xYmtzSzVKk14sClLjvPG8FqMt/pKv0sOpJD+D7w5QyD0qEbEolPghDaw== X-Received: by 2002:a0d:e84d:: with SMTP id r74mr4689712ywe.147.1579917766797; Fri, 24 Jan 2020 18:02:46 -0800 (PST) Received: from MacBook-Pro.localdomain ([24.14.135.13]) by smtp.gmail.com with ESMTPSA id h184sm3181072ywa.70.2020.01.24.18.02.45 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 24 Jan 2020 18:02:46 -0800 (PST) From: rcombs To: ffmpeg-devel@ffmpeg.org Date: Fri, 24 Jan 2020 20:01:58 -0600 Message-Id: <20200125020200.2049-11-rcombs@rcombs.me> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200125020200.2049-1-rcombs@rcombs.me> References: <20200125020200.2049-1-rcombs@rcombs.me> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 11/13] lavc/samidec: add support for configuring default style via AVOptions 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" --- libavcodec/samidec.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/libavcodec/samidec.c b/libavcodec/samidec.c index e32f238c62..8804210700 100644 --- a/libavcodec/samidec.c +++ b/libavcodec/samidec.c @@ -30,12 +30,14 @@ #include "htmlsubtitles.h" typedef struct { + AVClass *class; + int readorder; + FFASSHeaderOptions common; AVBPrint source; AVBPrint content; AVBPrint encoded_source; AVBPrint encoded_content; AVBPrint full; - int readorder; } SAMIContext; static int sami_paragraph_to_ass(AVCodecContext *avctx, const char *src) @@ -159,7 +161,7 @@ static av_cold int sami_init(AVCodecContext *avctx) av_bprint_init(&sami->encoded_source, 0, 2048); av_bprint_init(&sami->encoded_content, 0, 2048); av_bprint_init(&sami->full, 0, 2048); - return ff_ass_subtitle_header_default(avctx); + return ff_ass_subtitle_header_from_opts(avctx, &sami->common); } static av_cold int sami_close(AVCodecContext *avctx) @@ -180,6 +182,8 @@ static void sami_flush(AVCodecContext *avctx) sami->readorder = 0; } +ASS_GENERIC_CLASS(sami, SAMI) + AVCodec ff_sami_decoder = { .name = "sami", .long_name = NULL_IF_CONFIG_SMALL("SAMI subtitle"), @@ -190,4 +194,5 @@ AVCodec ff_sami_decoder = { .close = sami_close, .decode = sami_decode_frame, .flush = sami_flush, + .priv_class = &sami_decoder_class, };