From patchwork Sun Jul 18 01:21:57 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zane van Iperen X-Patchwork-Id: 28960 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a5d:965a:0:0:0:0:0 with SMTP id d26csp3149119ios; Sat, 17 Jul 2021 18:22:37 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy8geI9Z2+/m+1T1Ci9soGxEz+4qdjUvb6SFOlsi0fya5wG5erCUPVrJeak7kaOdUX4k5NX X-Received: by 2002:aa7:c1cc:: with SMTP id d12mr25301026edp.282.1626571356944; Sat, 17 Jul 2021 18:22:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626571356; cv=none; d=google.com; s=arc-20160816; b=pfGidBT4M8TaGjqrS+6L+iGGV1CgBNeMnfPU8r7WXiad391TXVDdsijKYNM61FmPEA wW6k8yqONSkwdFXvVZZUgbXXQq8p/n6997d+Qnku+M7j+MWTfjmdzXAsnEDQ3FxwUqbA QmE7vPcvRM/E6jR+4YbVzRfkze1yP/S4v4BcB96FtvGRtzfXXc/Glae6RY8iqN05C9jP OMAdXTcA41jJ6i2TZK8kc9/nb0wcCGHqykWpmO+lviKrL+sBi6GCMmejr42gPn61eDWS DH5mhYDUH1p6fEcPSNQgQBvhJi8Ulz0c54qmcdR46rtyc+K6QPtOcaHdaYrF1HVL0F1C kYZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding: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=M+hDvfdrNpIugpuqj/3/GN+5l2mxdp5y7EW3xsEH97M=; b=KeJKzaSrQRO7wHzVUw/iUVdpkc27Q5R5U00Ue5Da5HRsMv9wl2OlVv0pc2wGR648kb 7IWTeY933SGT841ignv+S8CNzHscsFluax/yGRGwlYcmhukZGS+n3X+UCz28BEjOp/0f 9kmCI4J9HJtktZjD6CypJ+HgJYiKEJzaaTBt+lPOTEV0+LnlU4QfT+4nxqoaCaU2dSlo VYg9yVKgP7U+WNByRV3jKBnzDaU9qZdWLi89KzfeaQFN8+W0JSZLaRjhvuW8vg73rLnL 5jJRl726kS1CJ/0euq9PqDlNLM6Z9t0bawVzDCo3iSBAOiV4yGKmUJGvExGV+FmWhm8p PuuA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@zanevaniperen.com header.s=key1 header.b=GZtyfxEL; 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=zanevaniperen.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id m3si16700511edr.6.2021.07.17.18.22.36; Sat, 17 Jul 2021 18:22:36 -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=@zanevaniperen.com header.s=key1 header.b=GZtyfxEL; 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=zanevaniperen.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0781F689D48; Sun, 18 Jul 2021 04:22:32 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out2.migadu.com (out2.migadu.com [188.165.223.204]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E2E0168A457 for ; Sun, 18 Jul 2021 04:22:24 +0300 (EEST) X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zanevaniperen.com; s=key1; t=1626571344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=IsEY2T92JJXGvczTsXbhm0J6A8/lqlQ2dRmFstSml7c=; b=GZtyfxELTus+7609Mbqx/NEGgjmt9XWJ/vwRNxBZfjoXsEGz8H4eTYwUlrhKmQz53Efs32 zI8j2inOXyqV8g/jX2N8CG8Sgf6RqbA2uVpbxrtchVCOupP/jpzESbVwZjbVn29k+K6lLH fq+ZSltT4VTZ5SrQBOYImavdVH2UKkhgbgDZxrziiGN6Hz1fyyLy6DOOLT3XY7uRKdLhy7 2rmAdk+14faVbohrfy2dpbvPi+BJcw3eJwYFAAODWOlNX7lMIyF3UlPL14WSF74Yx3RRB8 aemIOEHtJmNampTdqEUsq0yITQwH9Z3FKVSpjTB6s1k9PIIxF/Q/Rwo/GGKqvQ== From: Zane van Iperen To: ffmpeg-devel@ffmpeg.org Date: Sun, 18 Jul 2021 11:21:57 +1000 Message-Id: <20210718012204.97733-1-zane@zanevaniperen.com> MIME-Version: 1.0 X-Migadu-Flow: FLOW_OUT X-Migadu-Auth-User: git-morningstar@zanevaniperen.com Subject: [FFmpeg-devel] [PATCH 1/8] avcodec/argo: use pixel format provided by the demuxer 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: +jETqOac57Nx But fall back to bits_per_raw_sample, in case we're with older libavformat. Signed-off-by: Zane van Iperen --- libavcodec/argo.c | 21 ++++++++++++++------- libavcodec/version.h | 2 +- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/libavcodec/argo.c b/libavcodec/argo.c index 87c646f56c..9df5b8a8d3 100644 --- a/libavcodec/argo.c +++ b/libavcodec/argo.c @@ -676,13 +676,20 @@ static av_cold int decode_init(AVCodecContext *avctx) { ArgoContext *s = avctx->priv_data; - switch (avctx->bits_per_raw_sample) { - case 8: s->bpp = 1; - avctx->pix_fmt = AV_PIX_FMT_PAL8; break; - case 24: s->bpp = 4; - avctx->pix_fmt = AV_PIX_FMT_BGR0; break; - default: avpriv_request_sample(s, "depth == %u", avctx->bits_per_raw_sample); - return AVERROR_PATCHWELCOME; + if (avctx->pix_fmt == AV_PIX_FMT_NONE) { + /* For compat with older libavformat. */ + switch (avctx->bits_per_raw_sample) { + case 8: s->bpp = 1; + avctx->pix_fmt = AV_PIX_FMT_PAL8; break; + case 24: s->bpp = 4; + avctx->pix_fmt = AV_PIX_FMT_BGR0; break; + default: avpriv_request_sample(s, "depth == %u", avctx->bits_per_raw_sample); + return AVERROR_PATCHWELCOME; + } + } + + if (avctx->pix_fmt != AV_PIX_FMT_PAL8 && avctx->pix_fmt != AV_PIX_FMT_BGR0) { + return AVERROR_INVALIDDATA; } s->frame = av_frame_alloc(); diff --git a/libavcodec/version.h b/libavcodec/version.h index c660f70669..91325ce4e7 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -29,7 +29,7 @@ #define LIBAVCODEC_VERSION_MAJOR 59 #define LIBAVCODEC_VERSION_MINOR 3 -#define LIBAVCODEC_VERSION_MICRO 101 +#define LIBAVCODEC_VERSION_MICRO 102 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ LIBAVCODEC_VERSION_MINOR, \