From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <ffmpeg-devel-bounces@ffmpeg.org>
Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100])
	by master.gitmailbox.com (Postfix) with ESMTPS id 105684B7F4
	for <ffmpegdev@gitmailbox.com>; Fri, 25 Apr 2025 21:38:00 +0000 (UTC)
Received: from [127.0.1.1] (localhost [127.0.0.1])
	by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0E7FA687DD1;
	Sat, 26 Apr 2025 00:37:57 +0300 (EEST)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05olkn2090.outbound.protection.outlook.com [40.92.91.90])
 by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 53A70687CED
 for <ffmpeg-devel@ffmpeg.org>; Sat, 26 Apr 2025 00:37:51 +0300 (EEST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=th4lX0xENgobHwSTbfOWBBnKmTR60lDfTpYgRtV2NQ7sE2ynsejp/RaiH/BiFELXkIImckmift1akJ63nKfqidVL4FaKeJMPbejvmn6UPUYzZ/2hKdF84twZvWSlTxkzFPv4xwRw8LwiBqlmbqXdylNZ+wkf5dPdpjD6AywQu50hvQqXMlNyxKfOtlQUTMPmfg9gwpS7nDHBkyMicXg5hj1bQjdzeBZJd/Cyr0L5EyhKeDmYpCQKk1+6/HCDda9Xz7zzMfx0gFNEKXf3nFqzb3Bbx5gmIWEkXJAcD8dDdmh63voZJOGoKsjpOIshG4bwLrERKOFgtEc+WfXZvk3uIQ==
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=ZFqCsm9PcjtfPRvEtZbClihi2pj29EvieB5C2lCIF1o=;
 b=FMAYx8H8Kd3hxYR8BdSVjiHZifAKVbrTjnp27z1RawkjVKTepA0CpcdX7GD56aaLFaLKSuz92qY4oj7dL/h8fsOxzwr2hkGzSqqAGfgfFTHtEdLIZHAllZrfPeqQGAsVlK5afv3TsNSHHS0ayHBWqzfgaSdOSnRN8+atQJfPDVLvrnn7MbTqr8WXqpPq0FWyW1hYNNtVJpE/J0bbUW4RwkSIdjovFcmLMVx1lPj7AUksf8y8sXeHpPt4HntLoBwoWFuSbr85NsVkmMUMQt5Omai2dGZIdQLgOXTw82IccprfO7OCjEHP8fEAhTAdi2OHRkK4T62XY+ymWBj2SBP4zQ==
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=ZFqCsm9PcjtfPRvEtZbClihi2pj29EvieB5C2lCIF1o=;
 b=ojvp9nfNynI3saQIRaoeRD4CegNVPMdJDaTvEAuQ+ItDRRmP63Zbehcsf+WxaNsDLeIDfsns+KiJU0mqXPhnkt8zWFDQphWBwTObSglVlEWgPxMzplu46V/lASwBTpuQ0zaolwaStnfAQ03l/rsLpQLAII1a0PaQYiskyClYkAXYjSiYJkFQkjEyAAilyiUo4vpdK/PtYzIJjuBOpVP+JG3c/GLNTvFN0Tl5l2UOjxQHSRSqRI8pja0OG/tF3NG69zENiwbAohyToZpD9VWj5bKNnEDW/7Ru3pvKDIwdVFwovznWLHst1EePMD8Zat1xY9dxSPxZEoWHMDCRbh/QZg==
Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17)
 by DB4P250MB0933.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:3fb::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8678.27; Fri, 25 Apr
 2025 21:37:49 +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.024; Fri, 25 Apr 2025
 21:37:49 +0000
Message-ID: <GV1P250MB073752BCF14EE63232328F978F842@GV1P250MB0737.EURP250.PROD.OUTLOOK.COM>
Date: Fri, 25 Apr 2025 23:37:43 +0200
User-Agent: Mozilla Thunderbird
To: ffmpeg-devel@ffmpeg.org
References: <20250401171616.1378-1-toqsxw@outlook.com>
Content-Language: en-US
From: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
In-Reply-To: <20250401171616.1378-1-toqsxw@outlook.com>
X-ClientProxiedBy: FR2P281CA0049.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:92::9) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM
 (2603:10a6:150:8e::17)
X-Microsoft-Original-Message-ID: <041725a3-22e7-4efa-9597-3c4767ad5beb@outlook.com>
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|DB4P250MB0933:EE_
X-MS-Office365-Filtering-Correlation-Id: a474a23f-229c-40f5-29f8-08dd84416a5b
X-Microsoft-Antispam: BCL:0;
 ARA:14566002|8060799006|19110799003|6090799003|5072599009|12121999004|15080799006|461199028|7092599003|440099028|3412199025|41001999003;
X-Microsoft-Antispam-Message-Info: =?utf-8?B?K1pRUms4cHlLUXlDc2tsNXpTSEF2VTVCd0VXYVl2YlNJL1ZVZDBjK0crdTc3?=
 =?utf-8?B?Sk1lbVJIeUt2aG1qS2c3SjBadmFsZ2F4amRyNy9JU1JqVnM2SUJvZGhOVm9B?=
 =?utf-8?B?Rjh4MUoyUDhWSDVpNnVJc1VHeUtONVh3NFJVSkdUeGR3MDNwenlranF6WGNz?=
 =?utf-8?B?ZnBDV1dFeDJQbW5wd0J3UzRqQTBlVlE2V1pRRUhDdjZDaEMwSEl2SzBjVjdU?=
 =?utf-8?B?Uzc2cEUwa0s3VmRsaVdkejE1VVJlclh0V2I1NTUyQTI5ZTVrck8yUmc1cS8z?=
 =?utf-8?B?ZU9QS0NDdkdxOG5UMjYzYklnVkJtTEN3ay8ybDF3L0FWQjNYK1J0c2c5NUFm?=
 =?utf-8?B?cUY3dkllQ2RvazVEcXE4SFUzT1krOG9kVE92ZUhrSlFST0I1dCtENzR0WklM?=
 =?utf-8?B?c2NpbGlhYnMycENEeWJtSEZMRERmd1RiQzk0dVF3S2tkT25ZYkw1d0J5VWhx?=
 =?utf-8?B?VEJZNG9FUXhMM2pEQ2JNYzUrV1ZQektNdnQ4WGJZNnJ0NkRCbE9VbVJrZHBq?=
 =?utf-8?B?VkZhRmRVU2U2cFY3T0dpRG9TVTFaR1ZCRE1oY0YwdUg0b012b0o0U1hsaFZL?=
 =?utf-8?B?Q1R3OVRuVGxGWC9PRWJ6RHNZTjRnR0xMUCtuK2M5ckFoc0o1MkppZEVqc2Na?=
 =?utf-8?B?RE1DNmNQYnlnVlVqK0dKU05Td25zYllIT1dwZloxd0puRk9mREVMVXNlQ2dj?=
 =?utf-8?B?eE0wZ25lVnhIQjlCYXZwbTNiMTZTRVNwSGhzcWJjVTNkK3pmUUZzRmRkdE5H?=
 =?utf-8?B?M0R4NVlmQWxXeTltUWpYaFdpeU4zU2hGdTVBZ1ZHcDFNTXdBL0JVYTYzWjRw?=
 =?utf-8?B?U2xiUjBHZ3ZiMTRFbDJiZU9BVUY1dENxUUdDMS95LzZSN0lZTGJqQzFnNXNU?=
 =?utf-8?B?enhiNmFzQXoxMlRseUEvMHI1ekhZTFdYNk1kZ3hCUDA4MmxLa25BYU83d016?=
 =?utf-8?B?MlAySE9ZYUFZZzFlcitoRVJSUnAxam0yaFc4OWlkelNzeXJDbENpSVE1emFH?=
 =?utf-8?B?SElQU1pWRmphalFzcmdDdHdFdHgwRlNMMGRMbWJ5MUllZ0MrWHp4ZlNvcFNv?=
 =?utf-8?B?STZmS2Q0TkZIaGxrMmZXSWNrOG1wYVBhZm90Y2hxcHhST2Y4VEFDanpIMWcv?=
 =?utf-8?B?b3NmV01XdDZxKys2dk4xOVJqWnRHQ00rV05LQVB5d2RGcUE0MHpZT0VielhC?=
 =?utf-8?B?RU83SWN3TkFiZnk1YW1yTjdNUnA0RStSMUVRQU5OeUZ3UTBVVG1VV3VkdXZh?=
 =?utf-8?B?a2M0a2tYa2ZoQkhDU0d1TU8wMm1qRnZCZkhndjdsdHJsWDZZUXFmWHR4TE9V?=
 =?utf-8?B?S0ppOEtNbzZUVldZQ1BZRDk1TENjNWFNa0FJMEVGUFE5ZnBnTVRpT2NETEJI?=
 =?utf-8?B?OEdzUURYOG03NGdkMWwrL2F6Q2hubnk4WE1UU2VmV011T1ZoZEFIenkyK2JC?=
 =?utf-8?B?bWZGN1hBQVVDQWdpaGlJNWVYNGJGd0RHOS9QTFNFRWMzbEgvTUVCL2t4T1lN?=
 =?utf-8?B?NHlBZkRMdXl2ankzZGxZNFJBNHJpcmhDRmJCS2dYNE1WNm5ha2l4em9UUHNU?=
 =?utf-8?B?SmlXRERVZVVlNHFsNnAyWHdpRVVrN29QODlzMmI4U3RNdm5DK3dBMjA4cGg4?=
 =?utf-8?B?S1dUWUxDWXZUdXoyQ3hvY1NQUU1TOXc9PQ==?=
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UUNHcnNsSlhHaTk4anNtdHpBeDN6cVcwOEVWNEp0YVBZZm5hbDIwVG5aaVVk?=
 =?utf-8?B?aERUR1Q3WXpwZVJ4Qzl2MTFWRTdUanNkOExzcnB6ZGdySkd4Z0ZqdHZOT0xo?=
 =?utf-8?B?My9LMlNzdGp5dkNPQ09EcVpKbFRNV1Iwc3I5ZW1FUlRTYWw1Qkh3L2N1OGs4?=
 =?utf-8?B?WXlON1kvWVRleXkydDNqM0lRVmJyb3pUeEsrUmdFL21GMlg3V0t1bmdSV0VF?=
 =?utf-8?B?czV4eFhkaHhka1RwWHg1R3kzUlF3RURiZWVIVHRacHhtbUljTjBaT1JDSlY0?=
 =?utf-8?B?RmhHKy9XVG8yeU9uR3Q3WWFOWSs4YTdXU1pBdDlSVmxmS29WZVcwVUgwRm9t?=
 =?utf-8?B?SjNDQW84eWFDOHJNS1VjSnhwNVRWKzlMVW02V3U5ell2d1BENDYvbnUwdFll?=
 =?utf-8?B?MzltVUpkK3U2bWpYVi82Q0ZhYVgrQVdDL2Rydm1wV01ORDk0RzE4clVNS29z?=
 =?utf-8?B?N3U5WW1lZXlpbFNIUHhnMTVHV3daSTZ5b2hQMnY0TThZaDZwWFdtcVhhTEN1?=
 =?utf-8?B?dkl0Y1B5UjJQTVlMaGRMZzJreUxTVVRkZklWYmIvMXNEZUZMZjVhRHVwdnlI?=
 =?utf-8?B?aUt1MUdBU2dVQ3ZuR096dC83WFljeFYwdThiVC9JNFhDYlFqNktWNzdjRDNE?=
 =?utf-8?B?WE1JMW5wcW5VWUNGWXI0a3VGQnFCMzNtQ0lGd1R6Z2czYU5meEFET2Q3QmNE?=
 =?utf-8?B?Qmx0azBVcUlldk5DZHlQeUhHRk14QXRkazRZdE5NbEJHc3Mwa25IVzRITlcz?=
 =?utf-8?B?UlZ1U2hXR2lDaTh6Z2J0aUR2YmZKY3VFUzJ4YTVNUm1oaWYwZWQrSUFXTGtP?=
 =?utf-8?B?THZpZ0NBS3N4U1RVdFc0U2hoRi82dEtPcDVncXRacjRkV2pUeTdtVXM0czJn?=
 =?utf-8?B?YSt3VEYyeWNqcjBiSmNZREFTQ2lCYmVXVnYxU2x3U1RzZWVYc2NoQVhHNUpo?=
 =?utf-8?B?RmIvb1lCQXd4QWJ1OWpzTEJpUmpzYTdVK2JPOEpZQXpJR285UUlHaEM1UTYr?=
 =?utf-8?B?cHVxNldJZXFCdTVQVHFqNTRaQ2N3dCtobUh2bE42ZHIzSUpuWXJKeEYxbEh3?=
 =?utf-8?B?REVMSHJTSnBGQUJvVkV1T1lnaUZNSEc1NTBlazkrT1lQYVMrSGdINU01T1I1?=
 =?utf-8?B?SEYvZk13UEMvbDRtTEdvS0RIM2ZGellhYmI0NFN4MTI5M1pRdXphaEh3bmJX?=
 =?utf-8?B?U1hzVk0yNlFZN29ZQ2hIR3hmK0p2OStLaFR2cmU3VTRGUnJxeGNWVTBzV1U5?=
 =?utf-8?B?dzRhd1M3ZFNxdmZoNWtBSER0WHpYRXNsV2MxTWhNTzZLV1pad01qNVlLZlVP?=
 =?utf-8?B?SzFISzBjODQ4WktGWXBldUIxWE0yQUk4dVRoMndWSFIwa0tTSnlabzBGZ1dt?=
 =?utf-8?B?K1ZUc3RqWWIzTldYS3N2RWZLSExzNHl1RFJaSDRuSzlldHlqNjRqUkVJbnpk?=
 =?utf-8?B?NWtmOEgvQVE0bzJ6RFNDUzQzenQvVTM5S2RzWHNSSS84YUR5R1RtbXBWTm1D?=
 =?utf-8?B?bUpDT29WS0VnQ3d5aHlqNWFuUDRKbFVDUTRxLzBENjZNeFpaaUg3TVc0bzdS?=
 =?utf-8?B?SVdieGZ2bnZhNTJDUjRGVkw4MXJOWE9GZHozc1ljWVpkVHNaLzVHMlZSOUlC?=
 =?utf-8?B?SU5YRk8wdFhWNnhrbDRQQnR4M09yOVFQL3ZvdzA4RWp2aitDVTlFbmduMmVY?=
 =?utf-8?B?T1FZV25TbkxCTU11UkJLV0N0ZUZVL2NFRUI2eXdyZDVBYjhVTHVqUmJvaEdw?=
 =?utf-8?B?OCs0dGRBbjFlRVpkZitaSlZzajYyT1hBNVByYkNRN1UrN3pFK0czVjJrNVJs?=
 =?utf-8?B?NVNSSnRHbWEvVXQ4UkxnZz09?=
X-OriginatorOrg: outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a474a23f-229c-40f5-29f8-08dd84416a5b
X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Apr 2025 21:37:49.6089 (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: DB4P250MB0933
Subject: Re: [FFmpeg-devel] [PATCH v1 01/19]
 avcodec/cbs_sei_syntax_template: add sei message film_grain_characteristics
X-BeenThere: ffmpeg-devel@ffmpeg.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: FFmpeg development discussions and patches <ffmpeg-devel.ffmpeg.org>
List-Unsubscribe: <https://ffmpeg.org/mailman/options/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=unsubscribe>
List-Archive: <https://ffmpeg.org/pipermail/ffmpeg-devel>
List-Post: <mailto:ffmpeg-devel@ffmpeg.org>
List-Help: <mailto:ffmpeg-devel-request@ffmpeg.org?subject=help>
List-Subscribe: <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=subscribe>
Reply-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: ffmpeg-devel-bounces@ffmpeg.org
Sender: "ffmpeg-devel" <ffmpeg-devel-bounces@ffmpeg.org>
Archived-At: <https://master.gitmailbox.com/ffmpegdev/GV1P250MB073752BCF14EE63232328F978F842@GV1P250MB0737.EURP250.PROD.OUTLOOK.COM/>
List-Archive: <https://master.gitmailbox.com/ffmpegdev/>
List-Post: <mailto:ffmpegdev@gitmailbox.com>

toqsxw@gmail.com:
> From: Wu Jianhua <toqsxw@outlook.com>
> 
> Signed-off-by: Wu Jianhua <toqsxw@outlook.com>
> ---
>  libavcodec/cbs_h2645.c               |  6 ++++
>  libavcodec/cbs_sei.h                 | 21 +++++++++++
>  libavcodec/cbs_sei_syntax_template.c | 53 ++++++++++++++++++++++++++++
>  3 files changed, 80 insertions(+)
> 
> diff --git a/libavcodec/cbs_h2645.c b/libavcodec/cbs_h2645.c
> index 369e3ac876..768181874c 100644
> --- a/libavcodec/cbs_h2645.c
> +++ b/libavcodec/cbs_h2645.c
> @@ -2187,6 +2187,12 @@ static const SEIMessageTypeDescriptor cbs_sei_common_types[] = {
>          sizeof(SEIRawAmbientViewingEnvironment),
>          SEI_MESSAGE_RW(sei, ambient_viewing_environment),
>      },
> +    {
> +        SEI_TYPE_FILM_GRAIN_CHARACTERISTICS,
> +        1, 0,
> +        sizeof(SEIRawFilmGrainCharacteristics),
> +        SEI_MESSAGE_RW(sei, film_grain_characteristics),
> +    },
>      SEI_MESSAGE_TYPE_END,
>  };
>  
> diff --git a/libavcodec/cbs_sei.h b/libavcodec/cbs_sei.h
> index 15ef3415ab..a0fb004ecd 100644
> --- a/libavcodec/cbs_sei.h
> +++ b/libavcodec/cbs_sei.h
> @@ -97,6 +97,27 @@ typedef struct SEIRawAmbientViewingEnvironment {
>      uint16_t ambient_light_y;
>  } SEIRawAmbientViewingEnvironment;
>  
> +typedef struct SEIRawFilmGrainCharacteristics {
> +    uint8_t      fg_characteristics_cancel_flag;
> +    uint8_t      fg_model_id;
> +    uint8_t      fg_separate_colour_description_present_flag;
> +    uint8_t      fg_bit_depth_luma_minus8;
> +    uint8_t      fg_bit_depth_chroma_minus8;
> +    uint8_t      fg_full_range_flag;
> +    uint8_t      fg_colour_primaries;
> +    uint8_t      fg_transfer_characteristics;
> +    uint8_t      fg_matrix_coeffs;
> +    uint8_t      fg_blending_mode_id;
> +    uint8_t      fg_log2_scale_factor;
> +    uint8_t      fg_comp_model_present_flag[3];
> +    uint8_t      fg_num_intensity_intervals_minus1[3];
> +    uint8_t      fg_num_model_values_minus1[3];
> +    uint8_t      fg_intensity_interval_lower_bound[3][256];
> +    uint8_t      fg_intensity_interval_upper_bound[3][256];
> +    int16_t      fg_comp_model_value[3][256][6];
> +    uint8_t      fg_characteristics_persistence_flag;
> +} SEIRawFilmGrainCharacteristics;
> +
>  typedef struct SEIRawMessage {
>      uint32_t     payload_type;
>      uint32_t     payload_size;
> diff --git a/libavcodec/cbs_sei_syntax_template.c b/libavcodec/cbs_sei_syntax_template.c
> index 0205bb47aa..b105299cd9 100644
> --- a/libavcodec/cbs_sei_syntax_template.c
> +++ b/libavcodec/cbs_sei_syntax_template.c
> @@ -224,6 +224,59 @@ SEI_FUNC(ambient_viewing_environment,
>      return 0;
>  }
>  
> +SEI_FUNC(film_grain_characteristics,
> +        (CodedBitstreamContext *ctx, RWContext *rw,
> +         SEIRawFilmGrainCharacteristics *current,
> +         SEIMessageState *state))
> +{
> +    int err, c, i, j;
> +
> +    HEADER("Film Grain Characteristics");
> +
> +    flag(fg_characteristics_cancel_flag);
> +    if (!current->fg_characteristics_cancel_flag) {
> +        int filmGrainBitDepth[3];
> +
> +        u(2, fg_model_id, 0, 1);
> +        flag(fg_separate_colour_description_present_flag);
> +        if (current->fg_separate_colour_description_present_flag) {
> +            ub(3, fg_bit_depth_luma_minus8);
> +            ub(3, fg_bit_depth_chroma_minus8);
> +            flag(fg_full_range_flag);
> +            ub(8, fg_colour_primaries);
> +            ub(8, fg_transfer_characteristics);
> +            ub(8, fg_matrix_coeffs);
> +        }
> +
> +        filmGrainBitDepth[0] = current->fg_bit_depth_luma_minus8 + 8;
> +        filmGrainBitDepth[1] =
> +        filmGrainBitDepth[2] = current->fg_bit_depth_chroma_minus8 + 8;
> +
> +        u(2, fg_blending_mode_id, 0, 1);
> +        ub(4, fg_log2_scale_factor);
> +        for (c = 0; c < 3; c++)
> +            flags(fg_comp_model_present_flag[c], 1, c);
> +
> +        for (c = 0; c < 3; c++) {
> +            if (current->fg_comp_model_present_flag[c]) {
> +                ubs(8, fg_num_intensity_intervals_minus1[c], 1, c);
> +                us(3, fg_num_model_values_minus1[c], 0, 5, 1, c);
> +                for (i = 0; i <= current->fg_num_intensity_intervals_minus1[c]; i++) {
> +                    ubs(8, fg_intensity_interval_lower_bound[c][i], 2, c, i);
> +                    ubs(8, fg_intensity_interval_upper_bound[c][i], 2, c, i);
> +                    for (j = 0; j <= current->fg_num_model_values_minus1[c]; j++)
> +                        ses(fg_comp_model_value[c][i][j],  0  - current->fg_model_id * (1 << (filmGrainBitDepth[c] - 1)),
> +                            ((1 << filmGrainBitDepth[c]) - 1) - current->fg_model_id * (1 << (filmGrainBitDepth[c] - 1)),
> +                            3, c, i, j);
> +                }
> +            }
> +        }
> +        flag(fg_characteristics_persistence_flag);
> +    }
> +
> +    return 0;
> +}
> +

This seems to be exactly the same as the H.265 one (apart from some
variable names), so it should be shared.

- Andreas

_______________________________________________
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".