From patchwork Mon Apr 13 14:40:37 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Carl Eugen Hoyos X-Patchwork-Id: 18916 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 7B43D44B02D for ; Mon, 13 Apr 2020 17:40:58 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 67B2F68B92F; Mon, 13 Apr 2020 17:40:58 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-il1-f169.google.com (mail-il1-f169.google.com [209.85.166.169]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 481E068B8BC for ; Mon, 13 Apr 2020 17:40:52 +0300 (EEST) Received: by mail-il1-f169.google.com with SMTP id i2so7794548ils.12 for ; Mon, 13 Apr 2020 07:40:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=1MPs+AXZaQd9TNqNxUA6ItEW4wFlpBS9vXgs6CmnFuI=; b=tgjNm1DnY3ndY8CQxHva5n288KsxdjCNIdZEOuxki0X8LYct/OmcYiLbDOkZSvMb0o GZwEO0rN0qZLEY2fK0f3yTk8fLuz2wzMN9MdxCL+i63i5OXpzKEX3UEbbuW1ShjJXFoW vIg6oL7J6G+FUw7LzxdQ4T7WvHaZI5YsT8W4we08H+VPfh+vfV4YHIvOJQKOSD4ElvqR URgcNeTfIYcRX+tYlg5q5spUHjh9uxOQ/+1B9Hw1s3z96hV2+hwWLN3uqJ+QSbIBI2ZN s7NxgqJFQufgGnLZwq9WXj8VtQQwiz8Hn3VZtCx6nXlyX6ulGJCKn5hCs77z1aogiL+1 lt7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=1MPs+AXZaQd9TNqNxUA6ItEW4wFlpBS9vXgs6CmnFuI=; b=fh0I2siD++P5mnjAEbxqFWbNhz/UzgC4AkCgYc7EJMokRb4MLCAvxzLEeIUig2tCW6 7ASWrjhF9//9iPPO7yfoF1rFL5wdC6cDCxtgI8fu9QL66BTrH9k91oknB6EpSjxIVftt roCNZyO7wqeQzJRw+scgQvPNDPjiHwSBIKN4Ru0HqKwoNf6a+AcXU+AWqWaYwl55JEJW vkYwwMf6/52+fRD6UBI7U1wdADYdjuZVO6OkP2VVeWj/pN9gK1mWCtsH10XgCXLhn5sZ q9cnE/HdSIPV+2VqLxC8c1aIgnD/qwyFOHKIPAwuhqNsUYWUodJRxAON7C2ln9hutblw JfQw== X-Gm-Message-State: AGi0PuYtglv/9myFTR7WJMnkLkrpBIGK5OWNDc2e2rHOp4HczKc5XOBg R1HWQ9F1HW+MrP0ZX+++Ws+i+C4IIGQNKUT3/EnDZQ== X-Google-Smtp-Source: APiQypKYGU0O7VBibgNGJeYWZEhCjyelGr9HtEyoIGcA4YwowuoTE7iGKtnAQV5lpkI57GI9lCsPlZiIcRBT9vnO23U= X-Received: by 2002:a92:aa0f:: with SMTP id j15mr5070200ili.211.1586788848691; Mon, 13 Apr 2020 07:40:48 -0700 (PDT) MIME-Version: 1.0 From: Carl Eugen Hoyos Date: Mon, 13 Apr 2020 16:40:37 +0200 Message-ID: To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PATCH]lavc/jpeg2000dec: Allow forcing a compatible pix_fmt 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" Hi! Attached patch makes the behaviour of the jpeg2000 decoder more similar to the libopenjpeg decoder and allows a work-around for ticket #5919. Please comment, Carl Eugen From ca98ca99d267c0c6009ed4e4981f05ed8712adf8 Mon Sep 17 00:00:00 2001 From: Carl Eugen Hoyos Date: Mon, 13 Apr 2020 16:25:02 +0200 Subject: [PATCH] lavc/jpeg2000dec: Allow to force a compatible pix_fmt. This copies the behaviour of the libopenjpeg decoder. Fixes ticket #5919. --- libavcodec/jpeg2000dec.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libavcodec/jpeg2000dec.c b/libavcodec/jpeg2000dec.c index 7196cba6b4..440b856a3a 100644 --- a/libavcodec/jpeg2000dec.c +++ b/libavcodec/jpeg2000dec.c @@ -402,6 +402,10 @@ static int get_siz(Jpeg2000DecoderContext *s) break; } } + if ( s->avctx->pix_fmt != AV_PIX_FMT_NONE + && !pix_fmt_match(s->avctx->pix_fmt, ncomponents, s->precision, log2_chroma_wh, s->pal8)) + s->avctx->pix_fmt = AV_PIX_FMT_NONE; + if (s->avctx->pix_fmt == AV_PIX_FMT_NONE) for (i = 0; i < possible_fmts_nb; ++i) { if (pix_fmt_match(possible_fmts[i], ncomponents, s->precision, log2_chroma_wh, s->pal8)) { s->avctx->pix_fmt = possible_fmts[i]; -- 2.24.1