1// Copyright (c) 2023, Alliance for Open Media. All rights reserved 2// 3// This source code is subject to the terms of the BSD 3-Clause Clear License 4// and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear 5// License was not distributed with this source code in the LICENSE file, you 6// can obtain it at www.aomedia.org/license/software-license/bsd-3-c-c. If the 7// Alliance for Open Media Patent License 1.0 was not distributed with this 8// source code in the PATENTS file, you can obtain it at 9// www.aomedia.org/license/patent. 10 11syntax = "proto2"; 12 13package iamf_tools_cli_proto; 14 15import "iamf/cli/proto/obu_header.proto"; 16import "iamf/cli/proto/parameter_data.proto"; 17 18message ParameterDataExtension { 19 optional uint32 parameter_data_size = 1; 20 optional bytes parameter_data_bytes = 2; 21} 22 23message ParameterSubblock { 24 optional uint32 subblock_duration = 1; 25 oneof parameter_data { 26 MixGainParameterData mix_gain_parameter_data = 2; 27 DemixingInfoParameterData demixing_info_parameter_data = 3; 28 ReconGainInfoParameterData recon_gain_info_parameter_data = 4; 29 ParameterDataExtension parameter_data_extension = 5; 30 } 31} 32 33message ParameterBlockObuMetadata { 34 optional uint32 parameter_id = 1; 35 optional uint32 duration = 2; 36 optional uint32 num_subblocks = 3; 37 optional uint32 constant_subblock_duration = 4; 38 repeated ParameterSubblock subblocks = 5; 39 // TODO(b/395159650): Bump up to hold an `int64_t` in order to support very 40 // long durations. 41 optional int32 start_timestamp = 6; 42 optional ObuHeaderMetadata obu_header = 7; 43} 44