| # Copyright 2019 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("parsers") { |
| sources = [ |
| "bit_reader_macros.h", |
| "h264_bit_reader.cc", |
| "h264_bit_reader.h", |
| "h264_level_limits.cc", |
| "h264_level_limits.h", |
| "h264_parser.cc", |
| "h264_parser.h", |
| "h264_poc.cc", |
| "h264_poc.h", |
| "jpeg_parser.cc", |
| "jpeg_parser.h", |
| "temporal_scalability_id_extractor.cc", |
| "temporal_scalability_id_extractor.h", |
| "vp8_bool_decoder.cc", |
| "vp8_bool_decoder.h", |
| "vp8_parser.cc", |
| "vp8_parser.h", |
| "vp9_parser.cc", |
| "vp9_parser.h", |
| "vp9_raw_bits_reader.cc", |
| "vp9_raw_bits_reader.h", |
| "vp9_uncompressed_header_parser.cc", |
| "vp9_uncompressed_header_parser.h", |
| "webp_parser.cc", |
| "webp_parser.h", |
| ] |
| if (enable_platform_hevc) { |
| sources += [ |
| "h265_nalu_parser.cc", |
| "h265_nalu_parser.h", |
| ] |
| if (enable_hevc_parser_and_hw_decoder) { |
| sources += [ |
| "h265_parser.cc", |
| "h265_parser.h", |
| "h265_poc.cc", |
| "h265_poc.h", |
| ] |
| } |
| } |
| |
| if (enable_platform_vvc) { |
| sources += [ |
| "h266_nalu_parser.cc", |
| "h266_nalu_parser.h", |
| "h266_parser.cc", |
| "h266_parser.h", |
| "h266_poc.cc", |
| "h266_poc.h", |
| ] |
| } |
| |
| configs += [ "//media:subcomponent_config" ] |
| |
| deps = [ |
| "//base", |
| "//media/base", |
| "//third_party/libgav1:libgav1_parser", |
| ] |
| } |
| |
| static_library("test_support") { |
| testonly = true |
| visibility = [ "//media:test_support" ] |
| |
| sources = [ |
| "ivf_parser.cc", |
| "ivf_parser.h", |
| ] |
| |
| deps = [ "//base/test:test_support" ] |
| } |
| |
| source_set("unit_tests") { |
| testonly = true |
| sources = [ |
| "h264_bit_reader_unittest.cc", |
| "h264_parser_unittest.cc", |
| "h264_poc_unittest.cc", |
| "ivf_parser_unittest.cc", |
| "jpeg_parser_unittest.cc", |
| "temporal_scalability_id_extractor_unittest.cc", |
| "vp8_bool_decoder_unittest.cc", |
| "vp8_parser_unittest.cc", |
| "vp9_parser_unittest.cc", |
| "vp9_raw_bits_reader_unittest.cc", |
| "vp9_uncompressed_header_parser_unittest.cc", |
| "webp_parser_unittest.cc", |
| ] |
| if (enable_platform_hevc) { |
| sources += [ "h265_nalu_parser_unittest.cc" ] |
| if (enable_hevc_parser_and_hw_decoder) { |
| sources += [ |
| "h265_parser_unittest.cc", |
| "h265_poc_unittest.cc", |
| ] |
| } |
| } |
| if (enable_platform_vvc) { |
| sources += [ |
| "h266_nalu_parser_unittest.cc", |
| "h266_parser_unittest.cc", |
| "h266_poc_unittest.cc", |
| ] |
| } |
| |
| deps = [ |
| "//base/test:test_support", |
| "//media:test_support", |
| "//testing/gtest", |
| "//third_party/libgav1:libgav1_parser", |
| ] |
| |
| data = [ "//media/test/data/" ] |
| } |
| |
| fuzzer_test("media_h264_parser_fuzzer") { |
| sources = [ "h264_parser_fuzzertest.cc" ] |
| deps = [ |
| "//base", |
| "//media", |
| "//ui/gfx/geometry", |
| ] |
| } |
| |
| if (enable_hevc_parser_and_hw_decoder) { |
| fuzzer_test("media_h265_parser_fuzzer") { |
| sources = [ "h265_parser_fuzzertest.cc" ] |
| deps = [ |
| "//base", |
| "//media", |
| ] |
| } |
| } |
| |
| if (enable_platform_vvc) { |
| fuzzer_test("media_h266_parser_fuzzer") { |
| sources = [ "h266_parser_fuzzertest.cc" ] |
| deps = [ |
| "//base", |
| "//media", |
| ] |
| } |
| } |
| |
| fuzzer_test("media_jpeg_parser_picture_fuzzer") { |
| sources = [ "jpeg_parser_picture_fuzzertest.cc" ] |
| deps = [ |
| ":parsers", |
| "//base", |
| ] |
| seed_corpus = "//media/test/data" |
| dict = "//media/test/jpeg.dict" |
| } |
| |
| fuzzer_test("media_vp8_parser_fuzzer") { |
| sources = [ "vp8_parser_fuzzertest.cc" ] |
| deps = [ |
| ":parsers", |
| "//base", |
| "//media:test_support", |
| ] |
| libfuzzer_options = [ "max_len = 400000" ] |
| dict = "//media/test/vp8.dict" |
| } |
| |
| fuzzer_test("media_vp9_parser_fuzzer") { |
| sources = [ "vp9_parser_fuzzertest.cc" ] |
| deps = [ |
| "//base", |
| "//media:test_support", |
| ] |
| libfuzzer_options = [ "max_len = 400000" ] |
| } |
| |
| fuzzer_test("media_vp9_parser_encrypted_fuzzer") { |
| sources = [ "vp9_parser_encrypted_fuzzertest.cc" ] |
| deps = [ |
| "//base", |
| "//base/test:test_support", |
| "//media:test_support", |
| ] |
| seed_corpus = "//media/test/data" |
| } |
| |
| fuzzer_test("media_webp_parser_fuzzer") { |
| sources = [ "webp_parser_fuzzertest.cc" ] |
| deps = [ |
| ":parsers", |
| "//base", |
| ] |
| seed_corpus = "//media/test/data" |
| dict = "//media/test/webp.dict" |
| } |