From patchwork Sun Oct 11 17:27:18 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: 22850 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 18FF244A7A0 for ; Sun, 11 Oct 2020 20:27:38 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id EA46E68B6D1; Sun, 11 Oct 2020 20:27:37 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg1-f176.google.com (mail-pg1-f176.google.com [209.85.215.176]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 44D2168B6D1 for ; Sun, 11 Oct 2020 20:27:31 +0300 (EEST) Received: by mail-pg1-f176.google.com with SMTP id h6so11754592pgk.4 for ; Sun, 11 Oct 2020 10:27:31 -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=AJArpME/Cn/ykb4nvm2pUJKcfwxoSXppNBqOfySopN8=; b=GGUep4gdzsTadwLoCGD6eGovgyijj8c12z0kVHvKmZyXfslxJlv844MNhyyJccM5PN hysIPN4SO1iWgTsktxNA+sdHKA6Gf+U7Pb9A4dB43W6kHBCqRpLHJlAHuDDOh5TTgGMd UdTmYdk5s86NCLKyZhlf6WDBvGTaKfKE3IEMc/RttW8QZkjpW4xgeYKdwwiXDNXHRahw gXmTMMMemHerS7Wje3sg23wzmFX8Tj6s5J6JWBYxs9F1FJidZQsNs/ZfatoJ3nGkAYwi 5qoeG1Tq25d7UU99eCAv2A7UK6xmnOAj/8Llzv5FliGpzix3HdD4NzqCYPsn6oRyWY9g q5nw== 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=AJArpME/Cn/ykb4nvm2pUJKcfwxoSXppNBqOfySopN8=; b=cJp0gBmLn46kGNByok0V+hUurlH8O0gb3BjR3pt4LkRnVsfPzMkBriAsNIaVZXh4Ka TSaPrRBytEwVCi6ZMQFJZGZrfjEOfHNggYh+q2G/7JDi1ZmP0B8ilEwO/rsqanV/NIP4 mvrfhG6tEFZx6eDUfnZld8JnUbds5S/9C33i2VCutrb75Cd64JYJQj+RVQvsepisk0aI 5agTULc8NwVCQNjzuy7DdfX07rJqH22ww97Sihfhp+ZDgCqUaRvIYOlj7oe+IHga1NVd 4+6RyYViHmj18Rp95HI1e8WPJ+HfXZFUWMX2vGdq9VPsPF0a9GFEzFttpeXOR/U422mm rxkQ== X-Gm-Message-State: AOAM530DBHGXqYzg8bRicU84/uokIvlFguidHzMhf93TIsGrNUlaENkE qVf5f2ufEO+mcISIq8pzwoIKyrVfKQvFvEaCKKGd62FMPGA= X-Google-Smtp-Source: ABdhPJyzQev4tEDQqpZjy2r6K1eMOaGpqDsJXMrnwimDAOv9c4abJgj0yNWK5LAsn4kLCg9UkEOuPqM0v1XLGat9ZuI= X-Received: by 2002:a65:5301:: with SMTP id m1mr10170819pgq.388.1602437248900; Sun, 11 Oct 2020 10:27:28 -0700 (PDT) MIME-Version: 1.0 From: Carl Eugen Hoyos Date: Sun, 11 Oct 2020 19:27:18 +0200 Message-ID: To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PATCH]lavc/aomdec: Allow RGB decoding 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 fixes ticket #8929 for me. Please comment, Carl Eugen Subject: [PATCH] lavc/aomdec: Allow RGB decoding. Fixes ticket #8929. --- libavcodec/libaomdec.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/libavcodec/libaomdec.c b/libavcodec/libaomdec.c index 1430a651fe..f83c11ddf8 100644 --- a/libavcodec/libaomdec.c +++ b/libavcodec/libaomdec.c @@ -134,15 +134,27 @@ static int set_pix_fmt(AVCodecContext *avctx, struct aom_image *img) case AOM_IMG_FMT_I444: case AOM_IMG_FMT_I44416: if (img->bit_depth == 8) { - avctx->pix_fmt = AV_PIX_FMT_YUV444P; + if (avctx->color_trc == AVCOL_TRC_IEC61966_2_1) { + avctx->pix_fmt = AV_PIX_FMT_GBRP; + } else { + avctx->pix_fmt = AV_PIX_FMT_YUV444P; + } avctx->profile = FF_PROFILE_AV1_HIGH; return 0; } else if (img->bit_depth == 10) { - avctx->pix_fmt = AV_PIX_FMT_YUV444P10; + if (avctx->color_trc == AVCOL_TRC_IEC61966_2_1) { + avctx->pix_fmt = AV_PIX_FMT_GBRP10; + } else { + avctx->pix_fmt = AV_PIX_FMT_YUV444P10; + } avctx->profile = FF_PROFILE_AV1_HIGH; return 0; } else if (img->bit_depth == 12) { - avctx->pix_fmt = AV_PIX_FMT_YUV444P12; + if (avctx->color_trc == AVCOL_TRC_IEC61966_2_1) { + avctx->pix_fmt = AV_PIX_FMT_GBRP12; + } else { + avctx->pix_fmt = AV_PIX_FMT_YUV444P12; + } avctx->profile = FF_PROFILE_AV1_PROFESSIONAL; return 0; } else {