| # Copyright (c) 2020 The WebRTC project authors. All Rights Reserved. |
| # |
| # Use of this source code is governed by a BSD-style license |
| # that can be found in the LICENSE file in the root of the source |
| # tree. An additional intellectual property rights grant can be found |
| # in the file PATENTS. All contributing project authors may |
| # be found in the AUTHORS file in the root of the source tree. |
| |
| import("//third_party/libaom/options.gni") |
| import("../../../../webrtc.gni") |
| |
| rtc_library("av1_svc_config") { |
| sources = [ |
| "av1_svc_config.cc", |
| "av1_svc_config.h", |
| ] |
| deps = [ |
| "../../../../api/video_codecs:video_codecs_api", |
| "../../../../rtc_base:checks", |
| "../../../../rtc_base:logging", |
| "../../../../rtc_base:stringutils", |
| "../../svc:scalability_mode_util", |
| "../../svc:scalability_structures", |
| "../../svc:scalable_video_controller", |
| ] |
| |
| absl_deps = [ "//third_party/abseil-cpp/absl/container:inlined_vector" ] |
| } |
| |
| rtc_library("dav1d_decoder") { |
| visibility = [ "*" ] |
| poisonous = [ "software_video_codecs" ] |
| public = [ "dav1d_decoder.h" ] |
| sources = [ "dav1d_decoder.cc" ] |
| |
| deps = [ |
| "../..:video_codec_interface", |
| "../../../../api:scoped_refptr", |
| "../../../../api/video:encoded_image", |
| "../../../../api/video:video_frame", |
| "../../../../api/video_codecs:video_codecs_api", |
| "../../../../common_video", |
| "../../../../rtc_base:logging", |
| "//third_party/dav1d", |
| "//third_party/libyuv", |
| ] |
| absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] |
| } |
| |
| rtc_library("libaom_av1_decoder") { |
| visibility = [ "*" ] |
| poisonous = [ "software_video_codecs" ] |
| public = [ "libaom_av1_decoder.h" ] |
| deps = [ "../../../../api/video_codecs:video_codecs_api" ] |
| absl_deps = [ "//third_party/abseil-cpp/absl/base:core_headers" ] |
| |
| if (enable_libaom) { |
| sources = [ "libaom_av1_decoder.cc" ] |
| deps += [ |
| "../..:video_codec_interface", |
| "../../../../api:scoped_refptr", |
| "../../../../api/video:encoded_image", |
| "../../../../api/video:video_frame", |
| "../../../../common_video", |
| "../../../../rtc_base:logging", |
| "//third_party/libaom", |
| "//third_party/libyuv", |
| ] |
| absl_deps += [ "//third_party/abseil-cpp/absl/types:optional" ] |
| } else { |
| sources = [ "libaom_av1_decoder_absent.cc" ] |
| } |
| } |
| |
| rtc_library("libaom_av1_encoder") { |
| visibility = [ "*" ] |
| poisonous = [ "software_video_codecs" ] |
| public = [ "libaom_av1_encoder.h" ] |
| sources = [ "libaom_av1_encoder.cc" ] |
| deps = [ |
| "../..:video_codec_interface", |
| "../../../../api:scoped_refptr", |
| "../../../../api/video:encoded_image", |
| "../../../../api/video:video_frame", |
| "../../../../api/video_codecs:video_codecs_api", |
| "../../../../common_video", |
| "../../../../rtc_base:checks", |
| "../../../../rtc_base:logging", |
| "../../svc:scalability_structures", |
| "../../svc:scalable_video_controller", |
| "//third_party/libaom", |
| ] |
| absl_deps = [ |
| "//third_party/abseil-cpp/absl/algorithm:container", |
| "//third_party/abseil-cpp/absl/base:core_headers", |
| "//third_party/abseil-cpp/absl/strings:strings", |
| "//third_party/abseil-cpp/absl/types:optional", |
| ] |
| } |
| |
| if (rtc_include_tests) { |
| rtc_library("video_coding_codecs_av1_tests") { |
| testonly = true |
| |
| sources = [ "av1_svc_config_unittest.cc" ] |
| deps = [ |
| ":av1_svc_config", |
| "../../../../api/video_codecs:video_codecs_api", |
| "../../../../test:test_support", |
| ] |
| |
| if (enable_libaom) { |
| sources += [ |
| "libaom_av1_encoder_unittest.cc", |
| "libaom_av1_unittest.cc", |
| ] |
| deps += [ |
| ":libaom_av1_decoder", |
| ":libaom_av1_encoder", |
| "../..:encoded_video_frame_producer", |
| "../..:video_codec_interface", |
| "../../../../api:mock_video_encoder", |
| "../../../../api/units:data_size", |
| "../../../../api/units:time_delta", |
| "../../../../api/video:video_frame", |
| "../../svc:scalability_mode_util", |
| "../../svc:scalability_structures", |
| "../../svc:scalable_video_controller", |
| ] |
| absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] |
| } |
| } |
| } |