# Copyright (c) 2018 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("../../webrtc.gni")
if (is_android) {
  import("//build/config/android/config.gni")
  import("//build/config/android/rules.gni")
}

rtc_library("video_rtp_headers") {
  visibility = [ "*" ]
  sources = [
    "color_space.cc",
    "color_space.h",
    "hdr_metadata.cc",
    "hdr_metadata.h",
    "video_content_type.cc",
    "video_content_type.h",
    "video_rotation.h",
    "video_timing.cc",
    "video_timing.h",
  ]

  deps = [
    "..:array_view",
    "../../rtc_base:rtc_base_approved",
    "../../rtc_base/system:rtc_export",
    "../units:data_rate",
  ]
  absl_deps = [
    "//third_party/abseil-cpp/absl/container:inlined_vector",
    "//third_party/abseil-cpp/absl/types:optional",
  ]
}

rtc_library("video_frame") {
  visibility = [ "*" ]
  sources = [
    "i420_buffer.cc",
    "i420_buffer.h",
    "nv12_buffer.cc",
    "nv12_buffer.h",
    "video_codec_type.h",
    "video_frame.cc",
    "video_frame.h",
    "video_frame_buffer.cc",
    "video_frame_buffer.h",
    "video_sink_interface.h",
    "video_source_interface.cc",
    "video_source_interface.h",
  ]

  deps = [
    ":video_rtp_headers",
    "..:array_view",
    "..:rtp_packet_info",
    "..:scoped_refptr",
    "..:video_track_source_constraints",
    "../../rtc_base:checks",
    "../../rtc_base:rtc_base_approved",
    "../../rtc_base/memory:aligned_malloc",
    "../../rtc_base/system:rtc_export",
    "//third_party/libyuv",
  ]
  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
}

if (is_android) {
  java_cpp_enum("video_frame_enums") {
    sources = [ "video_frame_buffer.h" ]
  }
}

rtc_library("video_frame_i010") {
  visibility = [ "*" ]
  sources = [
    "i010_buffer.cc",
    "i010_buffer.h",
  ]
  deps = [
    ":video_frame",
    ":video_rtp_headers",
    "..:scoped_refptr",
    "../../rtc_base",
    "../../rtc_base:checks",
    "../../rtc_base/memory:aligned_malloc",
    "//third_party/libyuv",
  ]
}

rtc_source_set("recordable_encoded_frame") {
  visibility = [ "*" ]
  sources = [ "recordable_encoded_frame.h" ]

  deps = [
    ":encoded_image",
    ":video_frame",
    ":video_rtp_headers",
    "..:array_view",
    "..:scoped_refptr",
    "../../rtc_base:refcount",
    "../units:timestamp",
  ]
}

rtc_source_set("video_frame_type") {
  visibility = [ "*" ]
  sources = [ "video_frame_type.h" ]
}

rtc_source_set("render_resolution") {
  visibility = [ "*" ]
  public = [ "render_resolution.h" ]
}

rtc_library("encoded_image") {
  visibility = [ "*" ]
  sources = [
    "encoded_image.cc",
    "encoded_image.h",
  ]
  deps = [
    ":video_codec_constants",
    ":video_frame",
    ":video_frame_type",
    ":video_rtp_headers",
    "..:refcountedbase",
    "..:rtp_packet_info",
    "..:scoped_refptr",
    "../../rtc_base:checks",
    "../../rtc_base:rtc_base_approved",
    "../../rtc_base/system:rtc_export",
  ]
  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
}

rtc_library("encoded_frame") {
  visibility = [ "*" ]
  sources = [
    "encoded_frame.cc",
    "encoded_frame.h",
  ]

  deps = [ "../../modules/video_coding:encoded_frame" ]
}

rtc_library("rtp_video_frame_assembler") {
  visibility = [ "*" ]
  sources = [
    "rtp_video_frame_assembler.cc",
    "rtp_video_frame_assembler.h",
  ]

  deps = [
    ":encoded_frame",
    "../../modules/rtp_rtcp:rtp_rtcp",
    "../../modules/rtp_rtcp:rtp_rtcp_format",
    "../../modules/video_coding:packet_buffer",
    "../../modules/video_coding:video_coding",
    "../../rtc_base:logging",
  ]

  absl_deps = [
    "//third_party/abseil-cpp/absl/container:inlined_vector",
    "//third_party/abseil-cpp/absl/types:optional",
  ]
}

rtc_library("rtp_video_frame_assembler_unittests") {
  testonly = true
  sources = [ "rtp_video_frame_assembler_unittests.cc" ]

  deps = [
    ":rtp_video_frame_assembler",
    "..:array_view",
    "../../modules/rtp_rtcp:rtp_packetizer_av1_test_helper",
    "../../modules/rtp_rtcp:rtp_rtcp",
    "../../modules/rtp_rtcp:rtp_rtcp_format",
    "../../test:test_support",
  ]
}

rtc_source_set("video_codec_constants") {
  visibility = [ "*" ]
  sources = [ "video_codec_constants.h" ]
  deps = []
}

rtc_library("video_bitrate_allocation") {
  visibility = [ "*" ]
  sources = [
    "video_bitrate_allocation.cc",
    "video_bitrate_allocation.h",
  ]
  deps = [
    ":video_codec_constants",
    "../../rtc_base:checks",
    "../../rtc_base:safe_conversions",
    "../../rtc_base:stringutils",
    "../../rtc_base/system:rtc_export",
  ]
  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
}

rtc_source_set("video_layers_allocation") {
  visibility = [ "*" ]
  sources = [ "video_layers_allocation.h" ]
  deps = [ "../units:data_rate" ]
  absl_deps = [ "//third_party/abseil-cpp/absl/container:inlined_vector" ]
}

rtc_library("video_bitrate_allocator") {
  visibility = [ "*" ]
  sources = [
    "video_bitrate_allocator.cc",
    "video_bitrate_allocator.h",
  ]
  deps = [
    ":video_bitrate_allocation",
    "../units:data_rate",
  ]
}

rtc_source_set("video_bitrate_allocator_factory") {
  visibility = [ "*" ]
  sources = [ "video_bitrate_allocator_factory.h" ]
  deps = [
    ":video_bitrate_allocator",
    "../../rtc_base:rtc_base_approved",
    "../video_codecs:video_codecs_api",
  ]
}

rtc_source_set("video_stream_decoder") {
  visibility = [ "*" ]
  sources = [ "video_stream_decoder.h" ]

  deps = [
    ":encoded_frame",
    ":video_frame",
    ":video_rtp_headers",
    "../task_queue",
    "../units:time_delta",
    "../video_codecs:video_codecs_api",
  ]
  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
}

rtc_library("video_stream_decoder_create") {
  visibility = [ "*" ]
  sources = [
    "video_stream_decoder_create.cc",
    "video_stream_decoder_create.h",
  ]

  deps = [
    ":video_stream_decoder",
    "../../rtc_base:rtc_base_approved",
    "../../video:video_stream_decoder_impl",
    "../task_queue",
    "../video_codecs:video_codecs_api",
  ]
}

rtc_library("video_adaptation") {
  visibility = [ "*" ]
  sources = [
    "video_adaptation_counters.cc",
    "video_adaptation_counters.h",
    "video_adaptation_reason.h",
  ]

  deps = [
    "../../rtc_base:checks",
    "../../rtc_base:stringutils",
  ]
}

rtc_source_set("video_stream_encoder") {
  visibility = [ "*" ]
  sources = [
    "video_stream_encoder_interface.h",
    "video_stream_encoder_observer.h",
    "video_stream_encoder_settings.h",
  ]

  deps = [
    ":video_adaptation",
    ":video_bitrate_allocation",
    ":video_bitrate_allocator",
    ":video_bitrate_allocator_factory",
    ":video_codec_constants",
    ":video_frame",
    ":video_layers_allocation",
    "..:rtp_parameters",
    "..:scoped_refptr",
    "../:fec_controller_api",
    "../:rtp_parameters",
    "../adaptation:resource_adaptation_api",
    "../units:data_rate",
    "../video_codecs:video_codecs_api",
  ]
  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
}

rtc_source_set("video_frame_metadata") {
  visibility = [ "*" ]
  sources = [
    "video_frame_metadata.cc",
    "video_frame_metadata.h",
  ]
  deps = [
    "..:array_view",
    "../../modules/rtp_rtcp:rtp_video_header",
    "../transport/rtp:dependency_descriptor",
  ]
  absl_deps = [
    "//third_party/abseil-cpp/absl/container:inlined_vector",
    "//third_party/abseil-cpp/absl/types:optional",
  ]
}

rtc_library("builtin_video_bitrate_allocator_factory") {
  visibility = [ "*" ]
  sources = [
    "builtin_video_bitrate_allocator_factory.cc",
    "builtin_video_bitrate_allocator_factory.h",
  ]

  deps = [
    ":video_bitrate_allocation",
    ":video_bitrate_allocator",
    ":video_bitrate_allocator_factory",
    "../../api:scoped_refptr",
    "../../media:rtc_media_base",
    "../../modules/video_coding:video_coding_utility",
    "../../modules/video_coding/svc:svc_rate_allocator",
    "../video_codecs:video_codecs_api",
  ]
  absl_deps = [ "//third_party/abseil-cpp/absl/base:core_headers" ]
}

if (rtc_include_tests) {
  rtc_library("video_unittests") {
    testonly = true
    sources = [
      "video_frame_metadata_unittest.cc",
      "video_stream_decoder_create_unittest.cc",
    ]
    deps = [
      ":video_frame_metadata",
      ":video_stream_decoder_create",
      "../../modules/rtp_rtcp:rtp_video_header",
      "../../test:test_support",
      "../task_queue:default_task_queue_factory",
      "../video_codecs:builtin_video_decoder_factory",
    ]
  }
}
