From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id BFC6242F67 for ; Fri, 14 Oct 2022 16:50:35 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A478368BDB5; Fri, 14 Oct 2022 19:50:32 +0300 (EEST) Received: from mail-io1-f51.google.com (mail-io1-f51.google.com [209.85.166.51]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6D7B268BD1B for ; Fri, 14 Oct 2022 19:50:26 +0300 (EEST) Received: by mail-io1-f51.google.com with SMTP id e15so4355653iof.2 for ; Fri, 14 Oct 2022 09:50:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=ZCMfTFR/sRLyAYL6yctpHoualC5HdoOt2v+KndcC9N8=; b=eJOTXVyjDrYGhnLpAoKaZ9xV0HDuajWWwyL+QHlUP43QEPStsdiasmfqqIPxUqVyo/ J8RcEKUl7wXBj3gkRLvg/OHHN9b0FNHtLFYTbPY30kTz7PND7nxyeJS9mifK4/WDXaWN O6ykCv+Ub76PBXaF0YGZax9BV03Mh98dJoIKuxsrJMuexvPSSTrVsLFCRtrlweWjm1us bOC887cYRih5O/8XWTfWwMeRfh/H2bJIVp9NYJjhUkRs0Vod1fK8nSiYfOV7wIdghazL PenCy7+AxutfzWyZNNvLHo0YJ4BM42b0AtVPHogcsCZ/za0a3RTIsXGem+bJJ5JZPJZ+ OX4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=ZCMfTFR/sRLyAYL6yctpHoualC5HdoOt2v+KndcC9N8=; b=PNLmHlEaXcCc0aJtFw4Z0cj/mRhTIQ5ioyDn4XKazM5nHk87XKhxCoOWpUyKDLo466 CGGsNawyS11gKua+ZPCm8oej8JWOSrAEY9GQUawxoq5fsjeUftqhaoJrwvgE3EavkXBs 3IweUFRvFPbYs/9Wy1susHeQYhqgUcLRP4rRgBQWv/4y9I5RROqWfAKz3ESkTG8ozDKl va/xl3Gj9nHV1Z9WFACgjOWGKNV8wvLfShCBQKLbfLO0Hja8prqd4246m65TJJgDo1Mr HAqy97euXKiDplaldcf73g8XA3BfpARJiYeMmRfjphdAwIuHhWkYZg7APOUX7ZE6RsQ/ 7PtA== X-Gm-Message-State: ACrzQf0fh08w7B4qIDha0iu3yjTWn7Aa6UiXj901zfCtjcYQMJxwI3Rz VHZpW6NsHeex1rPSdIM97Gy4QIiVNqo= X-Google-Smtp-Source: AMsMyM67ASikcE4260UWqO7Dcgpmay6kGk2bOPHNYAEodYexV/AXpNWj7034iFkNOB7Kquwe/tuyzg== X-Received: by 2002:a05:6638:13c4:b0:35a:55df:29b2 with SMTP id i4-20020a05663813c400b0035a55df29b2mr3288856jaj.85.1665766224632; Fri, 14 Oct 2022 09:50:24 -0700 (PDT) Received: from [35.2.239.30] ([35.2.239.30]) by smtp.gmail.com with ESMTPSA id k14-20020a02660e000000b0036357c6a65bsm1269206jac.118.2022.10.14.09.50.23 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 14 Oct 2022 09:50:24 -0700 (PDT) Message-ID: Date: Fri, 14 Oct 2022 12:51:06 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.3.3 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20221002075835.415465-1-leo.izen@gmail.com> <20221002075835.415465-3-leo.izen@gmail.com> From: Leo Izen In-Reply-To: <20221002075835.415465-3-leo.izen@gmail.com> Subject: Re: [FFmpeg-devel] [PATCH 2/2] avcodec/libjxl: use RGB32F or RGBA32F for 32-bit float JPEG XL 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 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: On 10/2/22 03:58, Leo Izen wrote: > Use AV_PIX_FMT_RGB32F or AV_PIX_FMT_RGBA32F for encoding and decoding > JPEG XL files when encountered, rather than returning an error and > refusing to do anything. > > Signed-off-by: Leo Izen > --- > libavcodec/libjxldec.c | 15 +++++++++------ > libavcodec/libjxlenc.c | 1 + > 2 files changed, 10 insertions(+), 6 deletions(-) > > diff --git a/libavcodec/libjxldec.c b/libavcodec/libjxldec.c > index de48bea4b2..92b98388d4 100644 > --- a/libavcodec/libjxldec.c > +++ b/libavcodec/libjxldec.c > @@ -104,9 +104,12 @@ static enum AVPixelFormat libjxl_get_pix_fmt(void *avctx, const JxlBasicInfo *ba > return basic_info->alpha_bits ? AV_PIX_FMT_YA8 : AV_PIX_FMT_GRAY8; > } > if (basic_info->exponent_bits_per_sample || basic_info->bits_per_sample > 16) { > - if (basic_info->alpha_bits) > - return AV_PIX_FMT_NONE; > format->data_type = JXL_TYPE_FLOAT; > + if (basic_info->alpha_bits) { > + av_log(avctx, AV_LOG_WARNING, "Decoding gray+alpha JXL input as RGBA\n"); > + format->num_channels = 4; > + return AV_PIX_FMT_RGBAF32; > + } > return AV_PIX_FMT_GRAYF32; > } > format->data_type = JXL_TYPE_UINT16; > @@ -119,10 +122,10 @@ static enum AVPixelFormat libjxl_get_pix_fmt(void *avctx, const JxlBasicInfo *ba > format->data_type = JXL_TYPE_UINT8; > return basic_info->alpha_bits ? AV_PIX_FMT_RGBA : AV_PIX_FMT_RGB24; > } > - if (basic_info->bits_per_sample > 16) > - av_log(avctx, AV_LOG_WARNING, "Downsampling larger integer to 16-bit via libjxl\n"); > - if (basic_info->exponent_bits_per_sample) > - av_log(avctx, AV_LOG_WARNING, "Downsampling float to 16-bit integer via libjxl\n"); > + if (basic_info->exponent_bits_per_sample || basic_info->bits_per_sample > 16) { > + format->data_type = JXL_TYPE_FLOAT; > + return basic_info->alpha_bits ? AV_PIX_FMT_RGBAF32 : AV_PIX_FMT_RGBF32; > + } > format->data_type = JXL_TYPE_UINT16; > return basic_info->alpha_bits ? AV_PIX_FMT_RGBA64 : AV_PIX_FMT_RGB48; > } > diff --git a/libavcodec/libjxlenc.c b/libavcodec/libjxlenc.c > index 0793ed251b..f9ae086e38 100644 > --- a/libavcodec/libjxlenc.c > +++ b/libavcodec/libjxlenc.c > @@ -474,6 +474,7 @@ const FFCodec ff_libjxl_encoder = { > .p.pix_fmts = (const enum AVPixelFormat[]) { > AV_PIX_FMT_RGB24, AV_PIX_FMT_RGBA, > AV_PIX_FMT_RGB48, AV_PIX_FMT_RGBA64, > + AV_PIX_FMT_RGBF32, AV_PIX_FMT_RGBAF32, > AV_PIX_FMT_GRAY8, AV_PIX_FMT_YA8, > AV_PIX_FMT_GRAY16, AV_PIX_FMT_YA16, > AV_PIX_FMT_GRAYF32, Bump, thanks. - Leo Izen (thebombzen) _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".