From patchwork Sat Aug 28 16:39:38 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul B Mahol X-Patchwork-Id: 29840 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2a4a:0:0:0:0 with SMTP id k10csp2482890iov; Sat, 28 Aug 2021 09:40:10 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwz8mMHVDqd0QEpKX9rKTAWhrHfnu/iyt/hwGuWpDQpmEjOu7rOLsgeEnshzChRQoZb0cCH X-Received: by 2002:a17:907:7817:: with SMTP id la23mr16467730ejc.43.1630168809796; Sat, 28 Aug 2021 09:40:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1630168809; cv=none; d=google.com; s=arc-20160816; b=nWNWRzTWV039zZNFgi7LHgR/VP9QoSWfg94xgDif9kCBFzo+wbcRedtFmdrhvF+CZN hMZ/EeCC5aK41AE0jRY0o6j6dZ+q2ExqtosjOv6kSR8Xno1QIu1qiqUGpt6xLPGCXJlU SerNzyTomC/dA7ifE9HrPgVs9XmzbeIM4HEdG3xWibK0zhgG89/l9wTsUv1mGWCTEuTm a6OJTmLpXxGzK4hC3+q3eHDy9csrgVX/ZucznNhQATUFZplaFxnxvjS1i3GOypACxX11 A+43BL+dStN6AGbOa/l3SpYoKUq7G9B3AyFc58Xsi6+4M9xkF/e8T1bfgqgemvSeN7rT mGdg== 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:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to; bh=CVQbCbEbnJ2fDVJoT+zOoUvhAAZvC8WvWsI2vk6xPTQ=; b=GqhCibpQrviTnIKqRYV+hpkb0idYqk/4Ano6gocs7Bq625Ve57C6qJvSGrs3M9Dfev 7Fxto532lJ2mvKeTCP2YgMqQ21c2ABUFOEE3uhd9Z49Wbv2PKcaEgQdzW5Iu0yjwOcXz A25VfU2JPGHJt6+lqu6ccEyGJIFrz8j3TvzbDJuFUNtExx2I1Q24a8h1I5RjDS01J6PG xeXy63VdYEiMvYUunNWqrlpn/MFyIP8trK+QfZ/ir2dl4rIMYwO2wICZbVaSxCC3rCvb HsM2+d73UTPc4k0YyUDzWaNySE7+DBumNn1MAqpZF8gX5v+EzeAteZSMLRNFcVMd8m8v rs/g== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=D3aGc5Lt; 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 l7si12072128edk.342.2021.08.28.09.40.09; Sat, 28 Aug 2021 09:40:09 -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=D3aGc5Lt; 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 7DB5868A1F0; Sat, 28 Aug 2021 19:39:55 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ej1-f42.google.com (mail-ej1-f42.google.com [209.85.218.42]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0F0086881AC for ; Sat, 28 Aug 2021 19:39:48 +0300 (EEST) Received: by mail-ej1-f42.google.com with SMTP id x11so21044291ejv.0 for ; Sat, 28 Aug 2021 09:39:48 -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; bh=Okzzzy6JlP5bxVBq4pmHEtbxlx1MSSckjCS91Ad/bi4=; b=D3aGc5LtH9B6U9tPzaNEpJ7CyffjrVr+H4MtTfj1S/L11PMQK/dljPgUMSQ1slcC7q 0WQ/rApqv4HluregkUCP84d8MMw5f59Piu1d7uiymDhQLEJF+SOBX53MeWNbi3FtkAay zSbQ6n3Zr+nSizl67plgEuY6zIlC252p3qMJXWDDPl79PucjtuZUmD5e+RU3SErzKrqC Bh4zvdxB62pqVTUSmuYxgK/oBJOvJAbUyTvsb0xQ8twZTmftBg46v5Q2XkrPcmQ5q3Qy z1U6Z3m+8WZWAc5kgQjLD+rQwdqu/jCJOBRD3pjVHytxVwcvEMrNBtBaNMoMvu6RDm76 /H3Q== 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; bh=Okzzzy6JlP5bxVBq4pmHEtbxlx1MSSckjCS91Ad/bi4=; b=VqEB2pxLxX5vfzoL5xULRLzgkKdHUyKIq5kSfq55X7TONl4eN+IlL+nlAblfCuxhuT U3MugD5u6CWwszxBQNqdyACKAaEq+235Ck7yqg0Z69etzV/4wpwSUeW2aKOWdtfpK5iI sKeu39rOdJ7Xz4FG/esLfoJnrW3CfoegvxL0Hq9qNoOfDg7i5Oa84i4TW6a7vA/UBJh1 5zf3NBSo8i69WsUe6FjVK2PF0TYnqywQx/La1MG99h2GWx0vsUAs/LsT0hOYGuWqikZW j2HwY7NmFYPE7IYUB8nKFGdm5bpeUD5UkXyUQyIvCIDR2XYdF1TZZKHD6Z6z8/Gb25ZU 9/Rw== X-Gm-Message-State: AOAM531XWrr8PgGbSKuyRabFVI6I+iDIacQ5fcUQcPQj3p/qTt38gbCI uuRqpe+XD3GQOgJOfupWJYko8po+JXs= X-Received: by 2002:a17:906:6009:: with SMTP id o9mr16209604ejj.266.1630168787563; Sat, 28 Aug 2021 09:39:47 -0700 (PDT) Received: from localhost.localdomain ([212.15.178.17]) by smtp.gmail.com with ESMTPSA id ck4sm611578edb.67.2021.08.28.09.39.46 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 28 Aug 2021 09:39:47 -0700 (PDT) From: Paul B Mahol To: ffmpeg-devel@ffmpeg.org Date: Sat, 28 Aug 2021 18:39:38 +0200 Message-Id: <20210828163938.25583-2-onemda@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210828163938.25583-1-onemda@gmail.com> References: <20210828163938.25583-1-onemda@gmail.com> Subject: [FFmpeg-devel] [PATCH 2/2] avcodec/mlpdec: add flush support 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 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: KBDCzmBi4AkZ Fixes spurious lossless check failures when seeking. Signed-off-by: Paul B Mahol --- libavcodec/mlpdec.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/libavcodec/mlpdec.c b/libavcodec/mlpdec.c index f4c7c6c320..08db5dc63c 100644 --- a/libavcodec/mlpdec.c +++ b/libavcodec/mlpdec.c @@ -1342,6 +1342,18 @@ error: return AVERROR_INVALIDDATA; } +static void mlp_decode_flush(AVCodecContext *avctx) +{ + MLPDecodeContext *m = avctx->priv_data; + + m->params_valid = 0; + for (int substr = 0; substr <= m->max_decoded_substream; substr++){ + SubStream *s = &m->substream[substr]; + + s->lossless_check_data = 0xffffffff; + } +} + #if CONFIG_MLP_DECODER const AVCodec ff_mlp_decoder = { .name = "mlp", @@ -1351,6 +1363,7 @@ const AVCodec ff_mlp_decoder = { .priv_data_size = sizeof(MLPDecodeContext), .init = mlp_decode_init, .decode = read_access_unit, + .flush = mlp_decode_flush, .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF, .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE, }; @@ -1364,6 +1377,7 @@ const AVCodec ff_truehd_decoder = { .priv_data_size = sizeof(MLPDecodeContext), .init = mlp_decode_init, .decode = read_access_unit, + .flush = mlp_decode_flush, .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF, .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE, };