// Copyright (c) 2023, Alliance for Open Media. All rights reserved // // This source code is subject to the terms of the BSD 3-Clause Clear License // and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear // License was not distributed with this source code in the LICENSE file, you // can obtain it at www.aomedia.org/license/software-license/bsd-3-c-c. If the // Alliance for Open Media Patent License 1.0 was not distributed with this // source code in the PATENTS file, you can obtain it at // www.aomedia.org/license/patent. syntax = "proto2"; package iamf_tools_cli_proto; import "iamf/cli/proto/obu_header.proto"; import "iamf/cli/proto/parameter_data.proto"; message ParameterDataExtension { optional uint32 parameter_data_size = 1; optional bytes parameter_data_bytes = 2; } message ParameterSubblock { optional uint32 subblock_duration = 1; oneof parameter_data { MixGainParameterData mix_gain_parameter_data = 2; DemixingInfoParameterData demixing_info_parameter_data = 3; ReconGainInfoParameterData recon_gain_info_parameter_data = 4; ParameterDataExtension parameter_data_extension = 5; } } message ParameterBlockObuMetadata { optional uint32 parameter_id = 1; optional uint32 duration = 2; optional uint32 num_subblocks = 3; optional uint32 constant_subblock_duration = 4; repeated ParameterSubblock subblocks = 5; // TODO(b/395159650): Bump up to hold an `int64_t` in order to support very // long durations. optional int32 start_timestamp = 6; optional ObuHeaderMetadata obu_header = 7; }