tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

BUILD.gn (13140B)


      1 # Copyright (c) 2017 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("../../webrtc.gni")
     10 if (is_android) {
     11   import("//chromium/build/config/android/config.gni")
     12   import("//chromium/build/config/android/rules.gni")
     13 }
     14 
     15 rtc_library("scalability_mode") {
     16   visibility = [ "*" ]
     17   sources = [
     18     "scalability_mode.cc",
     19     "scalability_mode.h",
     20   ]
     21   deps = [
     22     "../../rtc_base:checks",
     23     "../../rtc_base/system:rtc_export",
     24     "//third_party/abseil-cpp/absl/strings:string_view",
     25   ]
     26 }
     27 
     28 rtc_library("scalability_mode_helper") {
     29   visibility = [ "*" ]
     30   sources = [
     31     "scalability_mode_helper.cc",
     32     "scalability_mode_helper.h",
     33   ]
     34   deps = [
     35     ":scalability_mode",
     36     "../../modules/video_coding/svc:scalability_mode_util",
     37     "../../rtc_base/system:rtc_export",
     38     "//third_party/abseil-cpp/absl/strings:string_view",
     39   ]
     40 }
     41 
     42 rtc_library("video_codecs_api") {
     43   visibility = [ "*" ]
     44   sources = [
     45     "av1_profile.cc",
     46     "av1_profile.h",
     47     "h264_profile_level_id.cc",
     48     "h264_profile_level_id.h",
     49     "sdp_video_format.cc",
     50     "sdp_video_format.h",
     51     "simulcast_stream.cc",
     52     "simulcast_stream.h",
     53     "spatial_layer.h",
     54     "video_codec.cc",
     55     "video_codec.h",
     56     "video_decoder.cc",
     57     "video_decoder.h",
     58     "video_decoder_factory.cc",
     59     "video_decoder_factory.h",
     60     "video_encoder.cc",
     61     "video_encoder.h",
     62     "video_encoder_factory.h",
     63     "vp8_frame_buffer_controller.h",
     64     "vp8_frame_config.cc",
     65     "vp8_frame_config.h",
     66     "vp8_temporal_layers.cc",
     67     "vp8_temporal_layers.h",
     68     "vp9_profile.cc",
     69     "vp9_profile.h",
     70   ]
     71 
     72   if (rtc_use_h265) {
     73     sources += [
     74       "h265_profile_tier_level.cc",
     75       "h265_profile_tier_level.h",
     76     ]
     77   }
     78 
     79   deps = [
     80     ":scalability_mode",
     81     "..:fec_controller_api",
     82     "..:scoped_refptr",
     83     "../../api:array_view",
     84     "../../api:rtp_parameters",
     85     "../../media:media_constants",
     86     "../../modules/video_coding:codec_globals_headers",
     87     "../../rtc_base:checks",
     88     "../../rtc_base:logging",
     89     "../../rtc_base:refcount",
     90     "../../rtc_base:stringutils",
     91     "../../rtc_base/system:rtc_export",
     92     "../environment",
     93     "../units:data_rate",
     94     "../video:encoded_image",
     95     "../video:render_resolution",
     96     "../video:resolution",
     97     "../video:video_bitrate_allocation",
     98     "../video:video_codec_constants",
     99     "../video:video_frame",
    100     "../video:video_frame_type",
    101     "../video:video_rtp_headers",
    102     "//third_party/abseil-cpp/absl/algorithm:container",
    103     "//third_party/abseil-cpp/absl/container:inlined_vector",
    104     "//third_party/abseil-cpp/absl/strings",
    105     "//third_party/abseil-cpp/absl/strings:string_view",
    106   ]
    107 }
    108 
    109 rtc_source_set("bitstream_parser_api") {
    110   visibility = [ "*" ]
    111   sources = [ "bitstream_parser.h" ]
    112   deps = [ "..:array_view" ]
    113 }
    114 
    115 rtc_library("builtin_video_decoder_factory") {
    116   visibility = [ "*" ]
    117   allow_poison = [
    118     "audio_codecs",  # TODO(bugs.webrtc.org/8396): Remove.
    119     "software_video_codecs",
    120   ]
    121   sources = [
    122     "builtin_video_decoder_factory.cc",
    123     "builtin_video_decoder_factory.h",
    124   ]
    125 
    126   deps = [
    127     ":video_codecs_api",
    128     "../../api:scoped_refptr",
    129     "../../media:rtc_internal_video_codecs",
    130     "../../rtc_base/system:rtc_export",
    131   ]
    132 }
    133 
    134 rtc_library("builtin_video_encoder_factory") {
    135   visibility = [ "*" ]
    136   allow_poison = [ "software_video_codecs" ]
    137   sources = [
    138     "builtin_video_encoder_factory.cc",
    139     "builtin_video_encoder_factory.h",
    140   ]
    141 
    142   deps = [
    143     ":video_codecs_api",
    144     "../../media:rtc_internal_video_codecs",
    145     "../../media:rtc_simulcast_encoder_adapter",
    146     "../../rtc_base/system:rtc_export",
    147     "../environment",
    148   ]
    149 }
    150 
    151 rtc_source_set("video_encoder_factory_template") {
    152   visibility = [ "*" ]
    153   allow_poison = [ "software_video_codecs" ]
    154   sources = [ "video_encoder_factory_template.h" ]
    155 
    156   deps = [
    157     ":scalability_mode",
    158     ":video_codecs_api",
    159     "..:array_view",
    160     "../../modules/video_coding/svc:scalability_mode_util",
    161     "../environment",
    162     "//third_party/abseil-cpp/absl/algorithm:container",
    163   ]
    164 }
    165 
    166 rtc_source_set("video_encoder_factory_template_libvpx_vp8_adapter") {
    167   visibility = [ "*" ]
    168   allow_poison = [ "software_video_codecs" ]
    169   sources = [ "video_encoder_factory_template_libvpx_vp8_adapter.h" ]
    170 
    171   deps = [
    172     ":scalability_mode",
    173     ":video_codecs_api",
    174     "../../modules/video_coding:webrtc_vp8",
    175     "../../modules/video_coding:webrtc_vp8_scalability",
    176     "../environment",
    177     "//third_party/abseil-cpp/absl/container:inlined_vector",
    178   ]
    179 }
    180 
    181 rtc_source_set("video_encoder_factory_template_libvpx_vp9_adapter") {
    182   visibility = [ "*" ]
    183   allow_poison = [ "software_video_codecs" ]
    184   sources = [ "video_encoder_factory_template_libvpx_vp9_adapter.h" ]
    185 
    186   deps = [
    187     ":scalability_mode",
    188     ":video_codecs_api",
    189     "../../modules/video_coding:webrtc_vp9",
    190     "../environment",
    191   ]
    192 }
    193 
    194 rtc_source_set("video_encoder_factory_template_open_h264_adapter") {
    195   visibility = [ "*" ]
    196   allow_poison = [ "software_video_codecs" ]
    197   sources = [ "video_encoder_factory_template_open_h264_adapter.h" ]
    198 
    199   deps = [
    200     ":scalability_mode",
    201     ":video_codecs_api",
    202     "../../modules/video_coding:webrtc_h264",
    203     "../environment",
    204   ]
    205 }
    206 
    207 rtc_source_set("video_encoder_factory_template_libaom_av1_adapter") {
    208   visibility = [ "*" ]
    209   allow_poison = [ "software_video_codecs" ]
    210   sources = [ "video_encoder_factory_template_libaom_av1_adapter.h" ]
    211 
    212   deps = [
    213     ":scalability_mode",
    214     ":video_codecs_api",
    215     "../../modules/video_coding/codecs/av1:av1_svc_config",
    216     "../../modules/video_coding/codecs/av1:libaom_av1_encoder",
    217     "../../modules/video_coding/svc:scalability_mode_util",
    218     "../environment",
    219     "//third_party/abseil-cpp/absl/container:inlined_vector",
    220   ]
    221 }
    222 
    223 rtc_source_set("video_decoder_factory_template") {
    224   visibility = [ "*" ]
    225   allow_poison = [ "software_video_codecs" ]
    226   sources = [ "video_decoder_factory_template.h" ]
    227 
    228   deps = [
    229     ":video_codecs_api",
    230     "..:array_view",
    231     "../environment",
    232     "//third_party/abseil-cpp/absl/algorithm:container",
    233   ]
    234 }
    235 
    236 rtc_source_set("video_decoder_factory_template_libvpx_vp8_adapter") {
    237   visibility = [ "*" ]
    238   allow_poison = [ "software_video_codecs" ]
    239   sources = [ "video_decoder_factory_template_libvpx_vp8_adapter.h" ]
    240 
    241   deps = [
    242     ":video_codecs_api",
    243     "../../modules/video_coding:webrtc_vp8",
    244     "../environment",
    245   ]
    246 }
    247 
    248 rtc_source_set("video_decoder_factory_template_libvpx_vp9_adapter") {
    249   visibility = [ "*" ]
    250   allow_poison = [ "software_video_codecs" ]
    251   sources = [ "video_decoder_factory_template_libvpx_vp9_adapter.h" ]
    252 
    253   deps = [
    254     ":video_codecs_api",
    255     "../../modules/video_coding:webrtc_vp9",
    256   ]
    257 }
    258 
    259 rtc_source_set("video_decoder_factory_template_open_h264_adapter") {
    260   visibility = [ "*" ]
    261   allow_poison = [ "software_video_codecs" ]
    262   sources = [ "video_decoder_factory_template_open_h264_adapter.h" ]
    263 
    264   deps = [
    265     ":video_codecs_api",
    266     "../../modules/video_coding:webrtc_h264",
    267   ]
    268 }
    269 
    270 rtc_source_set("video_decoder_factory_template_dav1d_adapter") {
    271   visibility = [ "*" ]
    272   allow_poison = [ "software_video_codecs" ]
    273   sources = [ "video_decoder_factory_template_dav1d_adapter.h" ]
    274 
    275   deps = [
    276     ":video_codecs_api",
    277     "../../modules/video_coding/codecs/av1:dav1d_decoder",
    278     "../environment",
    279   ]
    280 }
    281 
    282 rtc_source_set("video_encoding_general") {
    283   sources = [ "video_encoding_general.h" ]
    284 }
    285 
    286 rtc_source_set("video_encoder_interface") {
    287   sources = [ "video_encoder_interface.h" ]
    288 
    289   deps = [
    290     ":video_encoding_general",
    291     "..:array_view",
    292     "..:scoped_refptr",
    293     "../../api/units:data_rate",
    294     "../../api/units:data_size",
    295     "../../api/units:time_delta",
    296     "../../api/units:timestamp",
    297     "../../api/video:encoded_image",
    298     "../../api/video:resolution",
    299     "../../api/video:video_frame",
    300     "../../api/video_codecs:video_codecs_api",
    301     "../../rtc_base:rtc_numerics",
    302     "//third_party/abseil-cpp/absl/functional:any_invocable",
    303   ]
    304 }
    305 
    306 rtc_source_set("video_encoder_factory_interface") {
    307   sources = [ "video_encoder_factory_interface.h" ]
    308 
    309   deps = [
    310     ":video_encoder_interface",
    311     ":video_encoding_general",
    312     "../../api/units:time_delta",
    313     "../../api/video:resolution",
    314     "../../rtc_base:rtc_numerics",
    315     "../video:video_frame",
    316   ]
    317 }
    318 
    319 rtc_library("simple_encoder_wrapper") {
    320   sources = [
    321     "simple_encoder_wrapper.cc",
    322     "simple_encoder_wrapper.h",
    323   ]
    324 
    325   deps = [
    326     ":video_encoder_factory_interface",
    327     ":video_encoder_interface",
    328     "..:array_view",
    329     "..:scoped_refptr",
    330     "../../api/units:data_rate",
    331     "../../api/video_codecs:scalability_mode",
    332     "../../api/video_codecs:scalability_mode_helper",
    333     "../../common_video/generic_frame_descriptor",
    334     "../../modules/video_coding/svc:scalability_structures",
    335     "../../modules/video_coding/svc:scalable_video_controller",
    336     "../../rtc_base:checks",
    337     "../../rtc_base:logging",
    338     "../../rtc_base:rtc_numerics",
    339     "../transport/rtp:dependency_descriptor",
    340     "../units:data_size",
    341     "../units:frequency",
    342     "../units:timestamp",
    343     "../video:video_frame",
    344     "//third_party/abseil-cpp/absl/algorithm:container",
    345     "//third_party/abseil-cpp/absl/functional:any_invocable",
    346     "//third_party/abseil-cpp/absl/strings:string_view",
    347   ]
    348 }
    349 
    350 rtc_library("simple_encoder_wrapper_unittests") {
    351   testonly = true
    352 
    353   sources = [ "simple_encoder_wrapper_unittests.cc" ]
    354 
    355   deps = [
    356     ":simple_encoder_wrapper",
    357     ":video_encoder_factory_interface",
    358     ":video_encoder_interface",
    359     ":video_encoding_general",
    360     "../../api/video:video_frame",
    361     "../../api/video_codecs:libaom_av1_encoder_factory",
    362     "../../test:fileutils",
    363     "../../test:test_support",
    364     "../../test:video_test_support",
    365   ]
    366 }
    367 
    368 rtc_library("libaom_av1_encoder_factory") {
    369   sources = [
    370     "libaom_av1_encoder_factory.cc",
    371     "libaom_av1_encoder_factory.h",
    372   ]
    373 
    374   deps = [
    375     ":video_codecs_api",
    376     ":video_encoder_factory_interface",
    377     ":video_encoder_interface",
    378     ":video_encoding_general",
    379     "..:array_view",
    380     "..:scoped_refptr",
    381     "../../api/units:time_delta",
    382     "../../rtc_base:checks",
    383     "../../rtc_base:logging",
    384     "../../rtc_base:rtc_numerics",
    385     "../../rtc_base:stringutils",
    386     "../units:data_rate",
    387     "../units:data_size",
    388     "../video:resolution",
    389     "../video:video_frame",
    390     "//third_party/abseil-cpp/absl/algorithm:container",
    391     "//third_party/abseil-cpp/absl/cleanup",
    392     "//third_party/libaom",
    393   ]
    394 }
    395 
    396 rtc_library("libaom_av1_encoder_factory_test") {
    397   testonly = true
    398   sources = [ "libaom_av1_encoder_factory_test.cc" ]
    399   data = [ "../../resources/reference_video_640x360_30fps.y4m" ]
    400 
    401   deps = [
    402     ":libaom_av1_encoder_factory",
    403     ":video_encoder_factory_interface",
    404     ":video_encoder_interface",
    405     ":video_encoding_general",
    406     "..:array_view",
    407     "..:scoped_refptr",
    408     "../../api/video:video_frame",
    409     "../../api/video_codecs:video_codecs_api",
    410     "../../common_video",
    411     "../../modules/video_coding/codecs/av1:dav1d_decoder",
    412     "../../rtc_base:checks",
    413     "../../rtc_base:logging",
    414     "../../test:fileutils",
    415     "../../test:test_support",
    416     "../../test:video_frame_writer",
    417     "../../test:video_test_support",
    418     "../units:data_rate",
    419     "../units:data_size",
    420     "../units:time_delta",
    421     "../units:timestamp",
    422     "../video:encoded_image",
    423   ]
    424 }
    425 
    426 rtc_library("vp8_temporal_layers_factory") {
    427   visibility = [ "*" ]
    428   allow_poison = [ "software_video_codecs" ]
    429   sources = [
    430     "vp8_temporal_layers_factory.cc",
    431     "vp8_temporal_layers_factory.h",
    432   ]
    433 
    434   deps = [
    435     ":video_codecs_api",
    436     "../:fec_controller_api",
    437     "../../modules/video_coding:video_coding_utility",
    438     "../../modules/video_coding:webrtc_vp8_temporal_layers",
    439     "../../rtc_base:checks",
    440     "../environment",
    441   ]
    442 }
    443 
    444 rtc_library("rtc_software_fallback_wrappers") {
    445   visibility = [ "*" ]
    446 
    447   sources = [
    448     "video_decoder_software_fallback_wrapper.cc",
    449     "video_decoder_software_fallback_wrapper.h",
    450     "video_encoder_software_fallback_wrapper.cc",
    451     "video_encoder_software_fallback_wrapper.h",
    452   ]
    453 
    454   deps = [
    455     ":video_codecs_api",
    456     "..:fec_controller_api",
    457     "..:scoped_refptr",
    458     "../../api:field_trials_view",
    459     "../../api/environment",
    460     "../../api/video:video_frame",
    461     "../../media:video_common",
    462     "../../modules/video_coding:video_codec_interface",
    463     "../../modules/video_coding:video_coding_utility",
    464     "../../rtc_base:checks",
    465     "../../rtc_base:event_tracer",
    466     "../../rtc_base:logging",
    467     "../../rtc_base/experiments:field_trial_parser",
    468     "../../rtc_base/system:rtc_export",
    469     "../../system_wrappers:metrics",
    470     "../video:encoded_image",
    471     "../video:video_bitrate_allocation",
    472     "../video:video_frame",
    473     "../video:video_frame_type",
    474     "../video:video_rtp_headers",
    475     "//third_party/abseil-cpp/absl/strings",
    476   ]
    477 }