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 ESMTPS id 493BA4E0FC for ; Sun, 27 Apr 2025 20:50:47 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id DD11B68B47A; Sun, 27 Apr 2025 23:50:43 +0300 (EEST) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2094.outbound.protection.outlook.com [40.92.91.94]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7E6FF687CF0 for ; Sun, 27 Apr 2025 23:50:37 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=PeOa+XAICF8sgNLpy2NCc5ceniVB/ntm/m25D2y6u1IQ4PBLCTSl5Nj9tDET+ojO7MiaxsKeVaRlg/CiNJQ1NUviOa9lo54SnUMdKIUYoGnrLTjmirEa+l3E4blz0fh2TebGHCo3QZFnL0OyRya5PtYdTRYgXXnE1XzP62DjypyR4rykkD/QyCYzXRc5gnqtniTIq5MHt4SPMLExnKOMyBOiKhW0Ue9N+Sr/wHVsOqpPvdmzjd5qX8ZB+tFg+nWjyvg2TRg4Wuywoawj2+mpt4IrZl96MEney6nJtyu8a4Yx59chcGshlk/pwgiwxZSieBt7mcUUeNDzMDEwOspvjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=Ceycu2/5yHVMMbR7NtzXpmbdxFrGPad5ngJux7vid7g=; b=bpCzdB/ApfCy883Eg7cQepcAg1pHcKJzYvqCk72MD752G82DlA9mK08Do3/tLf1GC/Q/B8SOtdNrFdarpmgstWSczmI6rqhT52t8Sl3n0p6jnCV1rfEr9V/WQTNeUE0vLZ9kLfDShMsNAd2+ErJQQX0IcToTvZrQ1YxwIi/eTLzWd6j0FjvJweOAj95zM7S+0JqLyc62GTQRr3Of0AaYybI7cTTknplKq6JH1MxIonhHLrh6bY4vkgLej/QXj9uQ4Vd872fbQhJkV4PH9leppOT+p1RqGRlFSIsgJEetlqUncMEjDgJnEFLR55HeMgEXXjlorZ2H6U+jrfEHCNOuEA== 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=Ceycu2/5yHVMMbR7NtzXpmbdxFrGPad5ngJux7vid7g=; b=k3vY2gQ0+3EJGfnDyMGNxscpyEHdlNOPNsIxcgnkYLgUF8S1bdGCSrgL0ToFt3662NChnD51QTXa3bqqZZpWt7N9Pbq6HCnR8JWxxn3J0hVRNdsQ+UYM9s5OnUQEWa5sqXZzXl5n8JSpkLFL67A/VRrbMpBxKGASRdKaX750ob/EtcpLxcd02XcVsgojAf1snshFAfb2ukrsawYnVpeNRB1fhLxlIzcJJ5MwWjE/E0a8iE31sTXcRapYSAZ4hEzFHrObVGVGH8RQpslaxszifjv5/yenRwcOkV9oDh6A2oENZmyBonJqTiQFEwqkuZuuyDjETIY8/OtZFqg8VSi5zw== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by AS1P250MB0431.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:4a8::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8678.31; Sun, 27 Apr 2025 20:50:36 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::d6a1:e3af:a5f1:b614]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::d6a1:e3af:a5f1:b614%5]) with mapi id 15.20.8678.028; Sun, 27 Apr 2025 20:50:36 +0000 Message-ID: Date: Sun, 27 Apr 2025 22:50:34 +0200 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: <4c8f0045-58ac-4c18-8d33-6044ff9233a9@jkqxz.net> <20250427194234.9292-1-jamrial@gmail.com> Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: <20250427194234.9292-1-jamrial@gmail.com> X-ClientProxiedBy: FR4P281CA0405.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:cf::11) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|AS1P250MB0431:EE_ X-MS-Office365-Filtering-Correlation-Id: 9ce6a29e-654e-46af-6e5f-08dd85cd290f X-Microsoft-Antispam: BCL:0; ARA:14566002|15080799006|461199028|19110799003|7092599003|12121999004|5072599009|8060799006|6090799003|440099028|3412199025|41001999003; X-Microsoft-Antispam-Message-Info: =?utf-8?B?a0dLS1dWY05zalMyZVhKLzJ6OFROVS96V3J3UUZjMlozK0xRdnVBcUFoSXRW?= =?utf-8?B?RWpYM0E3dTRyOUNicjdONEtiUnVveWltaE5FK0t2U2VRNk44RUs2V0ZiTmlJ?= =?utf-8?B?SzliMmdxVHI2OVNkcCtqSHRKK01NM2Zrb2w5TjVKUWp3V2d0Nmp2UXBabExW?= =?utf-8?B?Yy9uSHhNVzVwYS9yZC9VQ2lzT1lua20vUXZaWmxiVllSbHZTRytkb1NNTHZD?= =?utf-8?B?ZGloTDlBRXZLbDVtL0FzU2FSUGdKenREREtLMGVTaTZtNms1dy9aZWZUc3A2?= =?utf-8?B?cFBTa3FNUXp0Qk9rdVd6Tjg3bURtL0JDQlhLWGdXZzdVVC9nNk9jUDREYWtM?= =?utf-8?B?VkRtRFEvekdsbHpUbUpEdmpCMG0zSmduTFc3KzBRTGR1OVBldXZrRGxPbDN2?= =?utf-8?B?cTBqSUxJYUw5OFRxbllIWDJJWG1qdXRYNTBURTVUL3NpanNxYUNBNWYrT1lz?= =?utf-8?B?M2RrVXFrcEx5YitUQzNRNmFlQTZkSThXUkhEWjRJY1VHR0IzK0hFbFcvSHow?= =?utf-8?B?LzRTL0lHZUcxWjRieGUzKzhzaTdWeWpKR3VoWGlIY0xWcFc2RlNrRy9ibUYv?= =?utf-8?B?SmlqV3FoZHlRKzhsUzJSZ2kyaUUyQ1hGY0lHYU9mejdyMEFuU0o3d2xlNHdN?= =?utf-8?B?a09DQkw4Tm1mMnlCRE1HVitNdVN1Q2RNaXl1YTYyVUowYWQ4RnZsd2VZSWov?= =?utf-8?B?cnFmbkdYM1NvU29mbmY0ek9IYWJYSjNLNTl5U1FORDcrd3RZZkVxOE1zK1J5?= =?utf-8?B?T1U4V2lMOGs2RTM2c1lWZHhtdnpwR2puUmdjSjFjNDkvcnZTdDJpcGNTaGJ1?= =?utf-8?B?VzNNcmtjdG5vSHdFRzVCbjMxVFJ2amhWSWdHWVA5a2ZYME9Id3JXb0RIQ1dR?= =?utf-8?B?OWY4U0FWeXhvQVlaZDJDU1I2QVBtc09uNjR2YXFqc2xwTy9UdWJiUkpQTFM5?= =?utf-8?B?N3hXVlRhbTh1SDJSbi9WS2NON2tsdlhuNDhOTEsyd3ovYnJrdmdvMmRBMjA1?= =?utf-8?B?amwzN2wzRWo0a0VuREpZYWR4cWF5S1VuTUZWa1dFKys4K0YvTTd2ajJKZU9j?= =?utf-8?B?SnhOdVRsY08vUFdUMFVJVGphVjBUa2lLV2d1Nysvb3dSMVZDWHdma1Z5MUlY?= =?utf-8?B?RHhUYmUrcUJVa3I5WnZBa2FmSmczVWRnVlBzSmhmb3JBNVEwazhHcFhETUhP?= =?utf-8?B?dDNxemY2MkxTVHgzT1VRZGxBNm9oUHdTcjZ5bXN5eFZ6ejEvMkE3YUJTN0ZV?= =?utf-8?B?NytKVk9zZ0hLZTVQZTBEV1h1dWJ3angvZ1JhYmNrdWN4MkU2dzh2dW1aYjBF?= =?utf-8?B?cUVMcGprQ1V0M1RCRng3Tm5xL0dvakM3V3g2YnBnc0YvTmw3VFNNSERMaXNO?= =?utf-8?B?L0EybnZnOTBRVEJUakV2cWNMMWhKVGQyUmR6bUpJcytsS3d1S25ubU9HRVlz?= =?utf-8?B?RVZGWGpIOWVES0pzZ3NTYzEvbzF1OHpNZkdSNytvQmZTaUNVdDJLclJjWmhm?= =?utf-8?B?akoybHhxc3cyZktPQWZDbDBwcG5udW56Q2lkSkp1UWF5Q2RxekNWZUxHUVho?= =?utf-8?B?NW1nUnk0cS9pMWhWY1FRRThjdXZKRHdqSXJmLzZReE50V3Azb3kzdFdWSmFw?= =?utf-8?B?VVppSHZIajdOb3RCM3pqMVhicUxlM1E9PQ==?= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TDZBYzd1VFloQXZCVlB5YldiRm90QjZlL3NEb1dTREZ1NG9Zdmh5aWxacUQ1?= =?utf-8?B?dU1vdDhXamdLZ0g0TWJUQmVaaFVXVjhiSVZNK28zMHVmZjltRFBXWUVCNHF4?= =?utf-8?B?TnVMNWZtUVN6TmdMMWV6TU5FTmNRa0dGVks1eUlRNkdEVXRJVDZTVUg5bnlY?= =?utf-8?B?bjhkVGlzQTZaT1ZoRGdtMFMvSlloTE9nYmdWckl6WWh2c3lQMkxKbStybEpE?= =?utf-8?B?ZE5rU0hLNG5BWEVCS1lCUHVSa242NE41eFhvOGxHUG5pUytScllPTmtsMVNP?= =?utf-8?B?cVBneUV3SFRpUjBjRmFFYmUxbk1ac044NzMvM0c3ZVRvTkR3ZzY2L0hEOGw2?= =?utf-8?B?TXVTamVSZjRvdkRJNXMxRmVqTGo1RjArZmx2ZHA5ZWl3amZYdXBTcWs3a0tY?= =?utf-8?B?NWFjVjUwVytNTUtVT01lZzdKZlJROE5rclRERlA5OUNSWWNuYmtlWm1ta01X?= =?utf-8?B?VEJhbjFHdE43a2JPdjVOVUFsWFZLaVJYd2dTcEdxdFdjVGJLcmlsT3dRZVRh?= =?utf-8?B?VFkzVXpVQnNGTWVwSG9nTXgvUGUrbjZFckxBMGFnSk43bkJnRHFDUVFiaHlZ?= =?utf-8?B?VDljQmlnN2dQRTJSQi9TNkwrSGF5NEUvVXRQZUdEU3doMTN1UVpLTEdUZVha?= =?utf-8?B?cHA2ZGdVdW9URWpLN09DMFMwRlF0OEhVeFo0cVVYUkNMcHNVcm9Edm94KzRu?= =?utf-8?B?cEk1SFRvRTJ2c0FRN2NrVHl0am9POExQQWRtUTlmd1lTMTZueG1Ya0dGY0Nh?= =?utf-8?B?K3piT0R0aHpIMW5uTzcwa2J4bnZ4T3gvRFFOWUJjcVBjK2FsQ0JuYmRFRUk4?= =?utf-8?B?VFhvelo2eGgvZW1sMXFMVFVNNTJXTlpuREF3dkdrQVdOWU1ZdXhxa0tQeVhD?= =?utf-8?B?aERDejZFbFcrWnJxYlRkU3hvdjI4Z0pTdWdZK00zc0FoRi9OUTFNdWVrMWR3?= =?utf-8?B?dXFZRXgzWTdUb0VtZmhHTGFBa1JveEdKVmVuK1JqS1FicmkxYU9PU2FtQTFC?= =?utf-8?B?bEM2bFN4TUUvaGpSQnZ3Zy9Ccm9MbGw0VUM1YTNMa1RBeEJybWprS1VDZU13?= =?utf-8?B?K3ZqWWFkZnozS2lvUUFyOUt1SnByQzlLK0dTbjNyZjJIeTBWbitSSWJCRXlW?= =?utf-8?B?YzN6N3EzT2hKd0RMODFlYmlOa0NqdGxZQzNPYklTRWVlY3REL0JYQXhUb3BV?= =?utf-8?B?WXp2ZlBWeXNxYm9zR0xqMnBZZUNMSE82VXRFZ09NdHlINVVBY0dzUE9NbEdF?= =?utf-8?B?R1cxakxUZUt5c2tpVnhoeW1zS1JkVkdmM1l5NUNRQ2RUazI0ZUN5czJRY1J5?= =?utf-8?B?RTZBdURqWWJ5UE85UmZZdURGVFJrVVVqcHlnNDZKYlowaUZkUTk4bVpXOTZw?= =?utf-8?B?NGlNOHp1b1pudGZQOEhQVGNYR0ZqUWtIL1UrSW9MQUlkVWFQWTQ1bmlTMEJ3?= =?utf-8?B?K3dSNDNNb0c1M01TOXVKNk13ZFBUVjhlTkNJbWRncjl5V1A0ZmdGL2ZZbWJR?= =?utf-8?B?VDg2SDlWWnVDMFU5WDg1Z0xnUzlLOUdLaEUwTWNGK2ZucnFieXNmUEpqd21r?= =?utf-8?B?ZCtVaHc2cEl4MG93Zlg5ejRWdHhRdE9pL05Sem5xYnoyV1RGRmRaU0ZpK3BD?= =?utf-8?B?dWpWMktsQ2RZV2RITmM1Y3VIdzFYb1I1aVRrYVoyeVNDNUZYVGNTOUd3SExN?= =?utf-8?B?dDRjUGVyd2xDUjhMSG1TZlFtREVDUlYvbzk4dmVLdnloT09ka2M5bkduSFVP?= =?utf-8?B?STZoZjJSZU5KN3pzam1DM1hCbzlzTFJlQXhaRWtpRWtJR1J6MlkwUWR3dWVV?= =?utf-8?B?dkpWaGZ2aGorQlNtMFg2QT09?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9ce6a29e-654e-46af-6e5f-08dd85cd290f X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Apr 2025 20:50:36.2639 (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: AS1P250MB0431 Subject: Re: [FFmpeg-devel] [PATCH v3] avformat/apvdec: export color information 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-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: James Almer: > apv_read_header() reads enough information that the generic demux code doesn't > attempt to read a frame to fill missing fields in codecpar, so make sure it's > set here. > > Signed-off-by: James Almer > --- > libavformat/apvdec.c | 40 ++++++++++++++++++++++++++++++++++++++-- > 1 file changed, 38 insertions(+), 2 deletions(-) > > diff --git a/libavformat/apvdec.c b/libavformat/apvdec.c > index e1ac34b003..9f8af35567 100644 > --- a/libavformat/apvdec.c > +++ b/libavformat/apvdec.c > @@ -39,6 +39,11 @@ typedef struct APVHeaderInfo { > uint8_t chroma_format_idc; > uint8_t bit_depth_minus8; > > + uint8_t color_primaries; > + uint8_t transfer_characteristics; > + uint8_t matrix_coefficients; > + uint8_t full_range_flag; > + > enum AVPixelFormat pixel_format; > } APVHeaderInfo; > > @@ -111,6 +116,31 @@ static int apv_extract_header_info(APVHeaderInfo *info, > if (zero != 0) > return AVERROR_INVALIDDATA; > > + // Return if this function was called by apv_probe() Why do you want to make probing less strict? > + if (bytestream2_get_bytes_left(gbc) == 0) > + return 1; > + > + zero = bytestream2_get_byte(gbc); > + if (zero != 0) > + return AVERROR_INVALIDDATA; > + > + // color_description_present_flag > + if (bytestream2_peek_byte(gbc) >> 7) { > + unsigned color_description; > + > + // We can read 32 bits as tile info is guaranteed to be present after this. > + color_description = bytestream2_get_be32(gbc); > + info->color_primaries = (color_description >> 23) & 0xff; > + info->transfer_characteristics = (color_description >> 15) & 0xff; > + info->matrix_coefficients = (color_description >> 7) & 0xff; > + info->full_range_flag = (color_description >> 6) & 1; > + } else { > + info->color_primaries = AVCOL_PRI_UNSPECIFIED; > + info->transfer_characteristics = AVCOL_TRC_UNSPECIFIED; > + info->matrix_coefficients = AVCOL_SPC_UNSPECIFIED; > + info->full_range_flag = 0; > + } > + > return 1; > } > > @@ -126,7 +156,7 @@ static int apv_probe(const AVProbeData *p) > return 0; > } > > - bytestream2_init(&gbc, p->buf, p->buf_size); > + bytestream2_init(&gbc, p->buf, 28); > > au_size = bytestream2_get_be32(&gbc); > if (au_size < 24) { > @@ -157,7 +187,7 @@ static int apv_read_header(AVFormatContext *s) > AVStream *st; > GetByteContext gbc; > APVHeaderInfo header; > - uint8_t buffer[28]; > + uint8_t buffer[33]; > uint32_t au_size, signature, pbu_size; > int err, size; > > @@ -201,6 +231,12 @@ static int apv_read_header(AVFormatContext *s) > st->codecpar->level = header.level_idc; > st->codecpar->width = header.frame_width; > st->codecpar->height = header.frame_height; > + st->codecpar->chroma_location = AVCHROMA_LOC_TOPLEFT; > + st->codecpar->color_primaries = header.color_primaries; > + st->codecpar->color_trc = header.transfer_characteristics; > + st->codecpar->color_space = header.matrix_coefficients; > + st->codecpar->color_range = header.full_range_flag ? AVCOL_RANGE_JPEG > + : AVCOL_RANGE_MPEG; > > st->avg_frame_rate = (AVRational){ 30, 1 }; > avpriv_set_pts_info(st, 64, 1, 30); _______________________________________________ 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".