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 280F84105E for ; Sun, 12 Mar 2023 07:58:42 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5773F68B1B3; Sun, 12 Mar 2023 09:58:39 +0200 (EET) Received: from AUS01-ME3-obe.outbound.protection.outlook.com (mail-me3aus01olkn2142.outbound.protection.outlook.com [40.92.63.142]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C569D688120 for ; Sun, 12 Mar 2023 09:58:32 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=S9GDjirIh3VfxP0709l+SiKUQwxsmz8P9qeNgUtXJsTF+NXvug5aVMESjz1gjV+hs3/YjHmPhk1jKiw/eEmq43DxQSdMnNbIX8GvIYDAp3Rez0ZDU/C6ILP22/jDPYb9o0AuoK9ZN28iCVAo9jSnnbCIUYbEMy8vA0U8DlGY6QWIcOWUEP947Qs+WxdyMl/Nbd3xLlZHpJC+yhp8BrOvuImuEBk7p/qLaoiBuELb0UIxuXMXjy8Iu9FEM1V05HTelN/JyZwRz75jALLWr9C5JTLM3mi4c2qDgb5oA/mdGDd823HiOJHRwKbiRVMhWrPimy+ClmPPne3zvoA58aRvLg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=gYzH0KWoL8ho1dAMsSp0UoYJMhExVbrzS3ZohGN3bDQ=; b=Dmewqwo9jiR/iTb8qLgNmejQ/cQWKFtGy6GrDbZX5EHNx9nU5ncfeMuMyYlhlho+bGU+qhebLYcu//Dx+M1zYrNIEX75E+coWPj2fP+8OiB/xI/KCuPsyqWeuxivKIPoX6DcYlKK66hjfqc1NCOsM6/zao9yh2bR4q9qDqgtzl5es89HermmqKI8tCW+05Sdc1cwM53OhqJ4pyGYbssz0m6Jjc7kbho8A2Cs4rxNtC6JSil3o5TG2iGJx6J45OIZ0wyVIwkLafW04Cjcq7Zxa7XoiK0GZud05VbcDwI2C/681h3zCdUwS3cioMoppvESXMJV/X2hB3V8ITSHmAg2iA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gYzH0KWoL8ho1dAMsSp0UoYJMhExVbrzS3ZohGN3bDQ=; b=Yuvt//4PqhgZMbY2ZKE2PpcKPtcjae+hhZuXNAe+DEt1qECGgzyZtH+XJJnT4SuXmncgK3vt1us/w1bc/lzeuujsXc8gThLsRAo5hOdtvNxEy4Rl2KFcVy0IBkzD0/E25slshkN50TtnnHnR6SeGOfaRA4seAqrYacWNI2b2TviDHJZGX3aVjx4gyeXDiIMU0UDn9u21zBoKTVRQDLVz/KGeMagHetyLd6ug9tvTOvCWh+VyNuQZXJY9g0JLH89Q70/GDa+/4ajGkqWuFcP+VM4mYxPnEs5Es9kHPbQhoeywQ52NV65XX/fIbgBwFGjsz9X/DoBVz4mcJnZQTqGGMg== Received: from ME3PR01MB5624.ausprd01.prod.outlook.com (2603:10c6:220:cd::12) by SYZPR01MB7647.ausprd01.prod.outlook.com (2603:10c6:10:16d::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Sun, 12 Mar 2023 07:58:28 +0000 Received: from ME3PR01MB5624.ausprd01.prod.outlook.com ([fe80::da2b:3b3a:8ca1:b965]) by ME3PR01MB5624.ausprd01.prod.outlook.com ([fe80::da2b:3b3a:8ca1:b965%5]) with mapi id 15.20.6178.024; Sun, 12 Mar 2023 07:58:28 +0000 Message-ID: Date: Sun, 12 Mar 2023 15:58:19 +0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 From: Wang Chuan To: ffmpeg-devel@ffmpeg.org Content-Language: en-US X-TMN: [/FGBTWumFHBeBIQe0iYkZW/QacB8/H6l] X-ClientProxiedBy: TYAPR01CA0051.jpnprd01.prod.outlook.com (2603:1096:404:2b::15) To ME3PR01MB5624.ausprd01.prod.outlook.com (2603:10c6:220:cd::12) X-Microsoft-Original-Message-ID: <715c00c3-6f8a-4732-c358-7e5e67b79e14@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: ME3PR01MB5624:EE_|SYZPR01MB7647:EE_ X-MS-Office365-Filtering-Correlation-Id: 87918fa7-58e2-4447-fe13-08db22cf8f8e X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: majY9fbyAa2TN+vkQjBug8aTPKDKFO+o3P+eXna8cxJZXvgH6t5nyN8U56W1re/Wqht0MGYq5t6e6RhVz2pIA5AawJP+75dUW9QInakocQJzHNJOY//G9s/G5uaWgmQ9uLh/fpqhah9TZVpIg+FpZ2Z3I5up9IlerdJh4K2vH9I5Nvd1zAgABmUYVCq6c6KED623fu9J4KRK2sEv2vQKcyOznKRre6PxJpTP0sTsSx+ZAdrhDkTzxDflUfTEMrxgi48ssHRiW9S5kSZx/ar/qbqH1w372gYNCruibJi4uB+k1oAhg/JjaWcKuFt4yAirR87OiwjjVd6pnJuIJrp8LPduKN15U97+dl7ydglMO/iLiBlBRoaQN97c8OOWZBp47Bqengzo9wv8jGBGvicK0dAZD2ZdZmqdvhZP6rVpcgyXBGmzAnbw7NgIoBUzmS2WX+1HXB7wW82wpJSVq6jdG3BjxFLyO4UGbvcWqzSlGlbis7Qp6VEP7+qx0UNbEsC87xuIxiXm1dZwhfx9rPAi1FzylmnZy1JfZ4OMmX5C5o1y3/nnUZaVZG6CvhaVRQW+o30YSJyNuRT53QmgQOCbhc6wzsk9a1cOKGgdvvadmzA= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TW5PSDJsR0gwVEhzRUQ2TUZCZUxOR3hoS2UzV3gyRUNYaXJDZVVJTkJYUDh2?= =?utf-8?B?YURtMVJIeHREdDBvakx4L3BBOTBSTjg1N2VCMzB0Uks1bXcvS2pIcmhyKzZL?= =?utf-8?B?VW4vUlcrL0VKN3BRaE1OV1B2UmJQeXQ5QUw4SHVadHdGN21WYitGZFFDK3JN?= =?utf-8?B?QVdBM3oyWHRsTXF2TVFhWGw1bldONDNvZWh5ZVBGb25DQkZNRVlLNmxYS3VT?= =?utf-8?B?Zm9MUExwcC9CUkZCUW5qNTM2MXphU0ZBV1VRVjJrYk54RmJnYmw2TGVkWUw3?= =?utf-8?B?VjUySU5yYnBicm9nMFFyTkptT0xpbUEyaGxyR1huTk1uaThlb29rUjFJVzhD?= =?utf-8?B?WEh0MVo4cEJVcWM2NVBmVVpZWjN2ZU1sQ0hQYUozSU1GYU9NSmJYeVVFRXIx?= =?utf-8?B?eFVDNEZCaVNobmhYai9vdXIxMTRpZzhTKzRmUjFXVlQyZFRPZWdsMm5DYm9M?= =?utf-8?B?T3gyWnJOYTdTZXlwd0t1bG9DeC9PMnlNWGdUTDA4R3J0dTRwMkU5WWJFMWRw?= =?utf-8?B?NnFTQzVvVXdVd0dQMDJlQnoxVFk5cEduUEtTOHF6VlFCRUlxbFNYRVhrSDNm?= =?utf-8?B?bUx1YkJNVFltaWx0Mjc2azhlclJzdEsrSmNhbWxqS1JUNXI5WG5GZ21BM3Nx?= =?utf-8?B?M2ZtNjI4dzZvb3hLVlFnV1JoYmtuRGw1NE9sV2pMMXRna0VTR3ZMeXBWcWs1?= =?utf-8?B?UWxSVHZha3hmb1IwZTFHQ3FuK3dDZldJVEozMTFCaGNzdytpaEh5VjRCbjZa?= =?utf-8?B?QVZrWWtOa3ZaUkN2U2FyemY1MzNHcFVYeG5sQXVtRjNHankzdW1adkNicENx?= =?utf-8?B?dkxEa3FkTkNaTDRvVlBWWnZrc0xlYzIrRTVCVGdLZlR1NEY1UklPZGRGZFkr?= =?utf-8?B?c2RjSVl6a3hXSWlKZU42L1d3czc0YkpQNktCZTNzMFhTbG9PbmtET2NEK3Ns?= =?utf-8?B?M29DTG1jdWhLMU5JUDNSZGFVKzVjK1lTWHpBYW9BNEFYRndyTlVMcTI5NVhj?= =?utf-8?B?R1ZOVmJGSTRXVUZXTjNyWjdsUENQOUdGazJTOGlidmRPT1ZOck1GemxwN3JN?= =?utf-8?B?RmY2Nk80Y2xGNk9DN1FldDQ3VXJUSFVGbzJNRkNNN21SQkRqREUvd2tZa3p6?= =?utf-8?B?YUdUOWxudVZUTWhxTXBwOXk0OWJGWmRYb290UFl6b2xtcm9wNnBnN3VCbjhI?= =?utf-8?B?WTJERm5sUUtwUUs0NzNjWnE4V1MzcCthS1AwZUp5ekV4NGdqMzZCQnNrOUJJ?= =?utf-8?B?bW52Zkk1bjc0NzJzN3d3OEt1aVZXMFU4RzU1VDhHZUVlZjlJUTFqaTB5Skl4?= =?utf-8?B?dVpYeGdOOWZRWHBtYXRtNzZyRXk2aWpsMktTK2VjUGFTSUd1TDdPaWpCMUZU?= =?utf-8?B?WXVVaFVnVTI3NGJqYXR1dGpSUE9IcVJ1eWZnMVFNSHQyQzlBa3hvanM1ZDIv?= =?utf-8?B?UUJJSnZ4S3RTSnI0MWdSaXBCV3g5ZmVaYisybHdkVW1zZXpTRXl4bGZEVm9k?= =?utf-8?B?VmtqR25DVDVJUldOVURiUS9tWjlHbnJHbkorRVY4UXgxUmRnNERLMUtUbHp3?= =?utf-8?B?VGNLbkk5MWFmREtQcVZhS2FEbXk2MWRIRXFiK25IZXBXQTlUOVBJZGx0QXRL?= =?utf-8?B?T0ZNWlJrdS9oTjRIUi9uZHJDVXQyRm4rSkUyRWR0ekpDcXhkZWJhcSt3aUlr?= =?utf-8?B?blI3aDI1dGJqT2cwTEZ2UmhZUGw3d1FRMEpRWFExTkxBcTRZUStjTXhRPT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 87918fa7-58e2-4447-fe13-08db22cf8f8e X-MS-Exchange-CrossTenant-AuthSource: ME3PR01MB5624.ausprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2023 07:58:27.9061 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SYZPR01MB7647 Subject: [FFmpeg-devel] [PATCH] Correct space color when using libopenjpeg 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: When decoding jp2 with palette, [color space] is determined when calling [opj_decode]. Because of this, [pix_fmt] should be set after decoding. Otherwise, [pix_fmt] will be set to AV_PIX_FMT_GRAY8 and output an wrong image. Signed-off-by: Wang Chuan --- libavcodec/libopenjpegdec.c | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/libavcodec/libopenjpegdec.c b/libavcodec/libopenjpegdec.c index 206db07ec7..1a8d599840 100644 --- a/libavcodec/libopenjpegdec.c +++ b/libavcodec/libopenjpegdec.c @@ -399,6 +399,23 @@ static int libopenjpeg_decode_frame(AVCodecContext *avctx, AVFrame *picture, if (ret < 0) goto done; + ret = !opj_decode(dec, stream, image); + + if (ret) { + av_log(avctx, AV_LOG_ERROR, "Error decoding codestream.\n"); + ret = AVERROR_EXTERNAL; + goto done; + } + + for (i = 0; i < image->numcomps; i++) { + if (!image->comps[i].data) { + av_log(avctx, AV_LOG_ERROR, + "Image component %d contains no data.\n", i); + ret = AVERROR_INVALIDDATA; + goto done; + } + } + if (avctx->pix_fmt != AV_PIX_FMT_NONE) if (!libopenjpeg_matches_pix_fmt(image, avctx->pix_fmt)) avctx->pix_fmt = AV_PIX_FMT_NONE; @@ -411,6 +428,7 @@ static int libopenjpeg_decode_frame(AVCodecContext *avctx, AVFrame *picture, ret = AVERROR_UNKNOWN; goto done; } + for (i = 0; i < image->numcomps; i++) if (image->comps[i].prec > avctx->bits_per_raw_sample) avctx->bits_per_raw_sample = image->comps[i].prec; @@ -418,23 +436,6 @@ static int libopenjpeg_decode_frame(AVCodecContext *avctx, AVFrame *picture, if ((ret = ff_thread_get_buffer(avctx, picture, 0)) < 0) goto done; - ret = !opj_decode(dec, stream, image); - - if (ret) { - av_log(avctx, AV_LOG_ERROR, "Error decoding codestream.\n"); - ret = AVERROR_EXTERNAL; - goto done; - } - - for (i = 0; i < image->numcomps; i++) { - if (!image->comps[i].data) { - av_log(avctx, AV_LOG_ERROR, - "Image component %d contains no data.\n", i); - ret = AVERROR_INVALIDDATA; - goto done; - } - } - desc = av_pix_fmt_desc_get(avctx->pix_fmt); pixel_size = desc->comp[0].step; ispacked = libopenjpeg_ispacked(avctx->pix_fmt); -- 2.37.1 (Apple Git-137.1) _______________________________________________ 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".