1# Conversion of proto to internal representations. 2# cli/proto_to_obu and cli/obu_to_proto are subdirectories for unidirectional conversion, but utils 3# and bidirectional conversion can stay in this directory. 4 5# keep-sorted start block=yes prefix_order=cc_library newline_separated=yes 6cc_library( 7 name = "channel_label_utils", 8 srcs = ["channel_label_utils.cc"], 9 hdrs = ["channel_label_utils.h"], 10 visibility = [ 11 # TODO(b/400697000): Break up visibility for the api directory. 12 "//iamf/api:__subpackages__", 13 "//iamf/cli:__pkg__", 14 "//iamf/cli/internal/transmuxer:__pkg__", 15 "//iamf/cli/proto_conversion/proto_to_obu:__pkg__", 16 "//iamf/cli/proto_conversion/tests:__pkg__", 17 "//iamf/cli/tests:__pkg__", 18 "//iamf/cli/user_metadata_builder/tests:__pkg__", 19 ], 20 deps = [ 21 "//iamf/cli:channel_label", 22 "//iamf/cli/proto:audio_frame_cc_proto", 23 "//iamf/common/utils:map_utils", 24 "@com_google_absl//absl/status", 25 "@com_google_absl//absl/status:statusor", 26 "@com_google_absl//absl/strings", 27 ], 28) 29 30cc_library( 31 name = "downmixing_reconstruction_util", 32 srcs = ["downmixing_reconstruction_util.cc"], 33 hdrs = ["downmixing_reconstruction_util.h"], 34 visibility = [ 35 "//iamf/cli:__pkg__", 36 "//iamf/cli/proto_conversion/tests:__pkg__", 37 "//iamf/cli/tests:__pkg__", 38 ], 39 deps = [ 40 ":channel_label_utils", 41 "//iamf/cli:audio_element_with_data", 42 "//iamf/cli:channel_label", 43 "//iamf/cli:demixing_module", 44 "//iamf/cli/proto:user_metadata_cc_proto", 45 "//iamf/common/utils:macros", 46 "//iamf/obu:types", 47 "@com_google_absl//absl/container:flat_hash_map", 48 "@com_google_absl//absl/container:flat_hash_set", 49 "@com_google_absl//absl/status", 50 "@com_google_absl//absl/status:statusor", 51 "@com_google_absl//absl/strings", 52 ], 53) 54 55cc_library( 56 name = "lookup_tables", 57 hdrs = ["lookup_tables.h"], 58 visibility = ["//iamf/cli/proto_conversion:__subpackages__"], 59 deps = [ 60 "//iamf/cli/proto:arbitrary_obu_cc_proto", 61 "//iamf/cli/proto:audio_element_cc_proto", 62 "//iamf/cli/proto:codec_config_cc_proto", 63 "//iamf/cli/proto:ia_sequence_header_cc_proto", 64 "//iamf/cli/proto:mix_presentation_cc_proto", 65 "//iamf/cli/proto:param_definitions_cc_proto", 66 "//iamf/cli/proto:parameter_block_cc_proto", 67 "//iamf/cli/proto:parameter_data_cc_proto", 68 "//iamf/obu:audio_element", 69 "//iamf/obu:codec_config", 70 "//iamf/obu:ia_sequence_header", 71 "//iamf/obu:mix_presentation", 72 "//iamf/obu:obu_header", 73 "//iamf/obu:parameter_data", 74 "//iamf/obu/decoder_config:aac_decoder_config", 75 "//iamf/obu/decoder_config:flac_decoder_config", 76 ], 77) 78 79cc_library( 80 name = "proto_utils", 81 srcs = ["proto_utils.cc"], 82 hdrs = ["proto_utils.h"], 83 visibility = [ 84 # TODO(b/400697000): Break up visibility for the api directory. 85 "//iamf/api:__subpackages__", 86 "//iamf/cli:__pkg__", 87 "//iamf/cli/proto_conversion:__subpackages__", 88 ], 89 deps = [ 90 ":lookup_tables", 91 "//iamf/cli/proto:obu_header_cc_proto", 92 "//iamf/cli/proto:param_definitions_cc_proto", 93 "//iamf/cli/proto:parameter_data_cc_proto", 94 "//iamf/cli/proto:test_vector_metadata_cc_proto", 95 "//iamf/common:leb_generator", 96 "//iamf/common/utils:macros", 97 "//iamf/common/utils:map_utils", 98 "//iamf/common/utils:numeric_utils", 99 "//iamf/obu:obu_header", 100 "//iamf/obu:param_definitions", 101 "//iamf/obu:parameter_data", 102 "//iamf/obu:types", 103 "@com_google_absl//absl/log", 104 "@com_google_absl//absl/status", 105 "@com_google_absl//absl/strings", 106 "@com_google_absl//absl/strings:string_view", 107 ], 108) 109 110# keep-sorted end 111