BUILD.gn (4970B)
1 # Copyright (c) 2020 The WebRTC project authors. All Rights Reserved. 2 # 3 # Use of this source code is governed by a BSD-style license 4 # that can be found in the LICENSE file in the root of the source 5 # tree. An additional intellectual property rights grant can be found 6 # in the file PATENTS. All contributing project authors may 7 # be found in the AUTHORS file in the root of the source tree. 8 9 import("//third_party/libaom/options.gni") 10 import("../../../../webrtc.gni") 11 12 rtc_library("av1_svc_config") { 13 sources = [ 14 "av1_svc_config.cc", 15 "av1_svc_config.h", 16 ] 17 deps = [ 18 "../../../../api/video:video_frame", 19 "../../../../api/video_codecs:scalability_mode", 20 "../../../../api/video_codecs:video_codecs_api", 21 "../../../../rtc_base:checks", 22 "../../../../rtc_base:logging", 23 "../../../../rtc_base:stringutils", 24 "../../svc:scalability_mode_util", 25 "../../svc:scalability_structures", 26 "../../svc:scalable_video_controller", 27 "//third_party/abseil-cpp/absl/container:inlined_vector", 28 ] 29 } 30 31 rtc_library("dav1d_decoder") { 32 visibility = [ "*" ] 33 poisonous = [ "software_video_codecs" ] 34 sources = [ 35 "dav1d_decoder.cc", 36 "dav1d_decoder.h", 37 ] 38 39 deps = [ 40 "../..:video_codec_interface", 41 "../../../../api:refcountedbase", 42 "../../../../api:scoped_refptr", 43 "../../../../api/environment", 44 "../../../../api/video:encoded_image", 45 "../../../../api/video:video_frame", 46 "../../../../api/video_codecs:video_codecs_api", 47 "../../../../common_video", 48 "../../../../rtc_base:logging", 49 "//third_party/dav1d", 50 "//third_party/libyuv", 51 ] 52 } 53 54 rtc_library("libaom_av1_encoder") { 55 visibility = [ "*" ] 56 poisonous = [ "software_video_codecs" ] 57 sources = [ 58 "libaom_av1_encoder.cc", 59 "libaom_av1_encoder.h", 60 ] 61 deps = [ 62 "../..:video_codec_interface", 63 "../..:video_coding_utility", 64 "../../:frame_sampler", 65 "../../../../api:field_trials_view", 66 "../../../../api:scoped_refptr", 67 "../../../../api/environment", 68 "../../../../api/video:encoded_image", 69 "../../../../api/video:render_resolution", 70 "../../../../api/video:video_codec_constants", 71 "../../../../api/video:video_frame", 72 "../../../../api/video:video_frame_type", 73 "../../../../api/video:video_rtp_headers", 74 "../../../../api/video_codecs:scalability_mode", 75 "../../../../api/video_codecs:video_codecs_api", 76 "../../../../common_video", 77 "../../../../common_video/generic_frame_descriptor", 78 "../../../../modules/rtp_rtcp:rtp_rtcp_format", 79 "../../../../rtc_base:checks", 80 "../../../../rtc_base:logging", 81 "../../../../rtc_base:rtc_numerics", 82 "../../../../rtc_base/experiments:encoder_info_settings", 83 "../../svc:scalability_structures", 84 "../../svc:scalable_video_controller", 85 "//third_party/abseil-cpp/absl/algorithm:container", 86 "//third_party/abseil-cpp/absl/base:core_headers", 87 "//third_party/abseil-cpp/absl/base:nullability", 88 "//third_party/abseil-cpp/absl/container:inlined_vector", 89 "//third_party/abseil-cpp/absl/strings", 90 "//third_party/libaom", 91 ] 92 } 93 94 if (rtc_include_tests) { 95 rtc_library("video_coding_codecs_av1_tests") { 96 testonly = true 97 98 sources = [ 99 "av1_svc_config_unittest.cc", 100 "dav1d_decoder_unittest.cc", 101 ] 102 103 deps = [ 104 ":av1_svc_config", 105 ":dav1d_decoder", 106 "../..:video_codec_interface", 107 "../../../../api:array_view", 108 "../../../../api:field_trials", 109 "../../../../api/environment", 110 "../../../../api/environment:environment_factory", 111 "../../../../api/transport/rtp:dependency_descriptor", 112 "../../../../api/units:data_rate", 113 "../../../../api/units:timestamp", 114 "../../../../api/video:encoded_image", 115 "../../../../api/video:render_resolution", 116 "../../../../api/video:video_bitrate_allocation", 117 "../../../../api/video:video_frame", 118 "../../../../api/video:video_frame_type", 119 "../../../../api/video_codecs:scalability_mode", 120 "../../../../api/video_codecs:video_codecs_api", 121 "../../../../rtc_base:checks", 122 "../../../../test:create_test_field_trials", 123 "../../../../test:test_support", 124 ] 125 126 if (enable_libaom) { 127 sources += [ 128 "libaom_av1_encoder_unittest.cc", 129 "libaom_av1_unittest.cc", 130 ] 131 deps += [ 132 ":libaom_av1_encoder", 133 "../..:encoded_video_frame_producer", 134 "../../../../api:create_frame_generator", 135 "../../../../api:frame_generator_api", 136 "../../../../api:mock_video_encoder", 137 "../../../../api/units:data_size", 138 "../../../../api/units:time_delta", 139 "../../../../modules/rtp_rtcp:rtp_rtcp_format", 140 "../../../../test:fileutils", 141 "../../../../test:test_support", 142 "../../../../test:video_test_support", 143 "../../svc:scalability_mode_util", 144 "../../svc:scalability_structures", 145 "../../svc:scalable_video_controller", 146 ] 147 } 148 } 149 }