From patchwork Mon Mar 25 14:22:52 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 12437 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 4F38B44662B for ; Mon, 25 Mar 2019 16:24:08 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3AE88689F54; Mon, 25 Mar 2019 16:24:08 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt1-f195.google.com (mail-qt1-f195.google.com [209.85.160.195]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5DB04680C0F for ; Mon, 25 Mar 2019 16:24:00 +0200 (EET) Received: by mail-qt1-f195.google.com with SMTP id k2so10488589qtm.1 for ; Mon, 25 Mar 2019 07:24:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=n4rHNjrvOsPeUlvHwXo2XaiYQPrrQHCJCxwfITiVmpA=; b=i3HglQxqqBN/M3YiKXKCQY7MZce+20NIXOqkD2G5ZJvPmOa6o1YtJ9WYp2gRM4MYGv c/dRd8kWDHbapqxTSTqIzXCWLOvNq16yK7X48U/hhxll7SfF9vOHskc59NFAo4SHQrbX Jso870xBgx6IxgGx16GKPPj0zOjUezNks9bh8kNfdbu0OVcsBcAZebRBOecmaSG11wki vwB0lXXoQU9WchFQ28DG8B1VlbEDzwRPOrMTuVSxhqpnc3gyiajZ7xDBsAD03H5xyLfC cQreo9u55SnaHil8FzBA2XOP/U8AFdnqm7aOEQ/FC0zhSWvMfO5+OPC8TScPNvdgBNje JamQ== 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=n4rHNjrvOsPeUlvHwXo2XaiYQPrrQHCJCxwfITiVmpA=; b=Kpne9EfZh8SnrYTVEyIsUkgz85xJ7VAC2v170Qgh4NBH3djrUmTuF67C8IpsucwWhZ ThDenNILln0ehA7YoEpDWFL7J5T76YbtSLjgqrOqwuYT92KE3rtnziUdkbix7SEAliGo w/V1JkbZlg+YmU7uo4KtPCqXBCw2vemCTFHgkXSccv+xIgC4pKD/zCcyTb55GtztH1Im Fi7UkRuDrQCyKCl3QkOg+rGuT1CwUMhluOsG5f/TUW3IG+/mRemQOXVCtgAVtR+XTUFr Q+k2TJcUosg1p6fQGRD0MEMQPo9iY1WL4VKA3012/ia3tIvbZuIIxMoYrGRv7qrBTjj9 zIYw== X-Gm-Message-State: APjAAAV9KIWU41lfG20MmE23XyqPVeuDfIZZeb1FvwUBvtImWlUroZqf wSkbpxx4Z28XfzS5t8TZp/9D6hnx X-Google-Smtp-Source: APXvYqwXq/DaUL+wVsPwRTntUor8aO2iWX2PsuusjnuPa6RqJZzHZcz85zAzdFkEDCyhLgGdUGC3Vw== X-Received: by 2002:ac8:3449:: with SMTP id v9mr20198419qtb.352.1553523839105; Mon, 25 Mar 2019 07:23:59 -0700 (PDT) Received: from localhost.localdomain ([181.23.66.178]) by smtp.gmail.com with ESMTPSA id a8sm10423369qtc.19.2019.03.25.07.23.58 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 25 Mar 2019 07:23:58 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Mon, 25 Mar 2019 11:22:52 -0300 Message-Id: <20190325142253.5276-2-jamrial@gmail.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190325142253.5276-1-jamrial@gmail.com> References: <20190325142253.5276-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/3] avcodec/av1_metadata: add an option to remove Padding OBUs 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" Signed-off-by: James Almer --- libavcodec/av1_metadata_bsf.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/libavcodec/av1_metadata_bsf.c b/libavcodec/av1_metadata_bsf.c index 2b74b697e4..fe208feaf5 100644 --- a/libavcodec/av1_metadata_bsf.c +++ b/libavcodec/av1_metadata_bsf.c @@ -46,6 +46,8 @@ typedef struct AV1MetadataContext { AVRational tick_rate; int num_ticks_per_picture; + + int delete_padding; } AV1MetadataContext; @@ -158,6 +160,19 @@ static int av1_metadata_filter(AVBSFContext *bsf, AVPacket *out) } } + if (ctx->delete_padding) { + for (i = 0; i < frag->nb_units; i++) { + if (frag->units[i].type == AV1_OBU_PADDING) { + err = ff_cbs_delete_unit(ctx->cbc, frag, i); + if (err < 0) { + av_log(bsf, AV_LOG_ERROR, "Failed to delete Padding OBU.\n"); + goto fail; + } + --i; + } + } + } + err = ff_cbs_write_packet(ctx->cbc, out, frag); if (err < 0) { av_log(bsf, AV_LOG_ERROR, "Failed to write packet.\n"); @@ -275,6 +290,10 @@ static const AVOption av1_metadata_options[] = { OFFSET(num_ticks_per_picture), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, INT_MAX, FLAGS }, + { "delete_padding", "Delete all Padding OBUs", + OFFSET(delete_padding), AV_OPT_TYPE_BOOL, + { .i64 = 0 }, 0, 1, FLAGS}, + { NULL } };