• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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