# Copyright 2017 The Chromium Authors # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import("//media/media_options.gni") import("//third_party/libgav1/options.gni") source_set("video") { # Do not expand the visibility here without double-checking with OWNERS, this # is a roll-up target which is part of the //media component. Most other DEPs # should be using //media and not directly DEP this roll-up target. visibility = [ "//media", "//media/filters", "//media/formats", "//media/renderers", ] sources = [ "alpha_video_encoder_wrapper.cc", "alpha_video_encoder_wrapper.h", "gpu_video_accelerator_factories.cc", "gpu_video_accelerator_factories.h", "mappable_shared_image_video_frame_pool.cc", "mappable_shared_image_video_frame_pool.h", "offloading_video_encoder.cc", "offloading_video_encoder.h", "picture.cc", "picture.h", "renderable_mappable_shared_image_video_frame_pool.cc", "renderable_mappable_shared_image_video_frame_pool.h", "trace_util.cc", "trace_util.h", "video_decode_accelerator.cc", "video_decode_accelerator.h", "video_encode_accelerator.cc", "video_encode_accelerator.h", "video_encode_accelerator_adapter.cc", "video_encode_accelerator_adapter.h", "video_encoder_fallback.cc", "video_encoder_fallback.h", "video_encoder_info.cc", "video_encoder_info.h", ] public_deps = [ "//gpu/command_buffer/client:gles2_interface" ] deps = [ "//gpu/command_buffer/client", "//gpu/command_buffer/common", "//gpu/ipc/common", "//media/base", "//third_party/libyuv", "//ui/gfx", "//ui/gl", ] configs += [ "//media:subcomponent_config" ] if (enable_libaom) { sources += [ "av1_video_encoder.cc", "av1_video_encoder.h", ] public_deps += [ "//third_party/libaom" ] } if (media_use_libvpx) { sources += [ "vpx_video_encoder.cc", "vpx_video_encoder.h", ] deps += [ "//third_party/libvpx" ] } if (proprietary_codecs && media_use_openh264) { sources += [ "openh264_video_encoder.cc", "openh264_video_encoder.h", ] public_deps += [ "//third_party/openh264:encoder" ] deps += [ "//media/parsers" ] } if (is_apple) { deps += [ "//media/base/mac" ] } } # Note: This is a roll-up only target; do not expand the visibility. DEPS should # depend on the //media:test_support target instead. static_library("test_support") { visibility = [ "//media:test_support" ] testonly = true sources = [ "fake_video_encode_accelerator.cc", "fake_video_encode_accelerator.h", "mock_gpu_video_accelerator_factories.cc", "mock_gpu_video_accelerator_factories.h", "mock_mappable_shared_image_video_frame_pool.cc", "mock_mappable_shared_image_video_frame_pool.h", "mock_video_encode_accelerator.cc", "mock_video_encode_accelerator.h", ] configs += [ "//media:media_config" ] deps = [ "//base", "//gpu:test_support", "//gpu/command_buffer/client:gles2_interface", "//gpu/command_buffer/common", "//media/base:test_support", "//services/viz/public/cpp/gpu", "//testing/gmock", "//ui/gfx", ] } source_set("unit_tests") { testonly = true sources = [ "alpha_video_encoder_wrapper_unittest.cc", "mappable_shared_image_video_frame_pool_unittest.cc", "offloading_video_encoder_unittest.cc", "renderable_mappable_shared_image_video_frame_pool_unittest.cc", "software_video_encoder_test.cc", "video_encode_accelerator_adapter_test.cc", "video_encoder_fallback_test.cc", ] configs += [ "//media:media_config" ] deps = [ "//base", "//base/test:test_support", "//components/viz/test:test_support", "//gpu:test_support", "//gpu/command_buffer/client:gles2_interface", "//gpu/command_buffer/common", "//media:test_support", "//testing/gmock", "//testing/gtest", "//third_party/libvpx", "//third_party/libyuv", "//ui/gfx", ] if (use_libgav1_parser) { sources += [ "libgav1_decoder_unittest.cc" ] deps += [ "//third_party/libgav1:libgav1_decoder" ] } }