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 E581048163 for ; Mon, 11 Dec 2023 12:02:51 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id BEECA68D19B; Mon, 11 Dec 2023 14:02:48 +0200 (EET) Received: from mail-qt1-f173.google.com (mail-qt1-f173.google.com [209.85.160.173]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7CD9668D17D for ; Mon, 11 Dec 2023 14:02:42 +0200 (EET) Received: by mail-qt1-f173.google.com with SMTP id d75a77b69052e-4257902247cso10092791cf.0 for ; Mon, 11 Dec 2023 04:02:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1702296161; x=1702900961; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=uueADPvMC/yCZpMXox+p6MMA1Qk06uO1955a3Nosm9g=; b=XuXWFAh3sj7sLIj9tk1nNW1etLp+PuTv8D93KUyt5QtStIgObC4Zx7sGmLJ2df6V2F a3LMP1V6VwHAe7LKteFOnxPtkuz9I4F3Xc1XbHQg87mRE/KNrhK/nozqCg2ADxZO0/nN kd5Ku6MbVUUzrs7UHA1w0yNAGg5eObtH/BnL1IYw4ZyyQiQxnxxbKNEpv40by3hY1I/R 2HHNGgif6LnB09lCGquKC0Vk0myKq7KPt7FI7E2HqrWX68ncVp/sxBeK5psJ+kyod7E1 1RpIOD5PSWJlGotsPc2V9D/z0SwNbzC3+p+VFDD7nn/t5YaWkiVipzNW9MSti+4UN/0B DhWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702296161; x=1702900961; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=uueADPvMC/yCZpMXox+p6MMA1Qk06uO1955a3Nosm9g=; b=b1IL9PMoOH27IcISCeUEdMUYmJZ5VFkGH2zyY4KAnYK/Q0RSwrmhPo4v48SCbcL2aO mSjTBeCNt87m7Fp5CBoi+FFFLI5vfl+jhNX37kArWHay+wl3lDdWl5QsXYPYhwwHPnMN Me+PoKjKVQ+iztRRhwmCN874aFLnxezT3UgJt5COQdO2obn/sdGWGnndW4AdOdMdYgjS VfMGU8EicULO8XMRQsFj0X1NDO432I4wF80MhJ1A2Qpmo6/ZGT9ihjIrjSLZW1en5s47 N0btbytJSlzmIQrK5V2EFGsEs8RJTJBe96aJjzJJUrtMsSlKX1STcruddHd8qjCaFVuU uDng== X-Gm-Message-State: AOJu0YwkY7rqzJDOc1iXi03Gu7HFHVLsv4cRiIC6kog/msgiZBMtKmjO 97gX3oRAz5KJ1CyUBzqYZcP6DSFF9Fs= X-Google-Smtp-Source: AGHT+IFjHquDrz4hayqE2grhLlfLyTBq4lh/GoJ4rIKelweBPxioxDeXQKti+WIVtQHkWxvmNVeolA== X-Received: by 2002:a05:620a:199f:b0:77d:8c81:ea2d with SMTP id bm31-20020a05620a199f00b0077d8c81ea2dmr8191250qkb.0.1702296161088; Mon, 11 Dec 2023 04:02:41 -0800 (PST) Received: from gauss.local (c-68-56-149-176.hsd1.mi.comcast.net. [68.56.149.176]) by smtp.gmail.com with ESMTPSA id ty5-20020a05620a3f4500b0077f15eb3528sm2865698qkn.70.2023.12.11.04.02.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Dec 2023 04:02:40 -0800 (PST) From: Leo Izen To: ffmpeg-devel@ffmpeg.org Date: Mon, 11 Dec 2023 07:02:32 -0500 Message-ID: <20231211120233.408208-1-leo.izen@gmail.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/2] avcodec/libjxldec: produce rgbf32 and rgbaf32 frames 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 Cc: Leo Izen Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: These pixel formats have always been supported by libjxl, but at the time this plugin was written, they were not in FFmpeg yet. Now that they are in FFmpeg, we should support them. Signed-off-by: Leo Izen --- libavcodec/libjxldec.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/libavcodec/libjxldec.c b/libavcodec/libjxldec.c index 494060ac8c..f763294eee 100644 --- a/libavcodec/libjxldec.c +++ b/libavcodec/libjxldec.c @@ -130,10 +130,11 @@ static enum AVPixelFormat libjxl_get_pix_fmt(AVCodecContext *avctx, LibJxlDecode 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; - return AV_PIX_FMT_GRAYF32; + if (!basic_info->alpha_bits) { + format->data_type = JXL_TYPE_FLOAT; + return AV_PIX_FMT_GRAYF32; + } + av_log(avctx, AV_LOG_WARNING, "Downsampling gray+alpha float to 16-bit integer via libjxl\n"); } format->data_type = JXL_TYPE_UINT16; return basic_info->alpha_bits ? AV_PIX_FMT_YA16 : AV_PIX_FMT_GRAY16; @@ -145,10 +146,10 @@ static enum AVPixelFormat libjxl_get_pix_fmt(AVCodecContext *avctx, LibJxlDecode format->data_type = JXL_TYPE_UINT8; return basic_info->alpha_bits ? AV_PIX_FMT_RGBA : AV_PIX_FMT_RGB24; } - if (basic_info->exponent_bits_per_sample) - av_log(avctx, AV_LOG_WARNING, "Downsampling float to 16-bit integer via libjxl\n"); - else 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 || 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; } -- 2.43.0 _______________________________________________ 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".