tree: 61a195c7a5ea8973028ce22cf02f54f45b0160e9 [path history] [tgz]
  1. android/
  2. chromeos/
  3. ipc/
  4. mac/
  5. sandbox/
  6. test/
  7. v4l2/
  8. vaapi/
  9. windows/
  10. accelerated_video_decoder.h
  11. args.gni
  12. av1_builder.cc
  13. av1_builder.h
  14. av1_builder_unittest.cc
  15. av1_decoder.cc
  16. av1_decoder.h
  17. av1_decoder_fuzzertest.cc
  18. av1_decoder_unittest.cc
  19. av1_picture.cc
  20. av1_picture.h
  21. buffer_validation.cc
  22. buffer_validation.h
  23. buffer_validation_unittest.cc
  24. BUILD.gn
  25. codec_picture.cc
  26. codec_picture.h
  27. command_buffer_helper.cc
  28. command_buffer_helper.h
  29. DEPS
  30. exponential_moving_average.cc
  31. exponential_moving_average.h
  32. exponential_moving_average_unittest.cc
  33. frame_size_estimator.cc
  34. frame_size_estimator.h
  35. frame_size_estimator_unittest.cc
  36. gpu_video_accelerator_util.cc
  37. gpu_video_accelerator_util.h
  38. gpu_video_decode_accelerator_factory.cc
  39. gpu_video_decode_accelerator_factory.h
  40. gpu_video_decode_accelerator_helpers.cc
  41. gpu_video_decode_accelerator_helpers.h
  42. gpu_video_encode_accelerator_factory.cc
  43. gpu_video_encode_accelerator_factory.h
  44. gpu_video_encode_accelerator_helpers.cc
  45. gpu_video_encode_accelerator_helpers.h
  46. h264_builder.cc
  47. h264_builder.h
  48. h264_builder_unittest.cc
  49. h264_decoder.cc
  50. h264_decoder.h
  51. h264_decoder_fuzzer.cc
  52. h264_decoder_unittest.cc
  53. h264_dpb.cc
  54. h264_dpb.h
  55. h264_rate_control_util.cc
  56. h264_rate_control_util.h
  57. h264_rate_control_util_unittest.cc
  58. h264_rate_controller.cc
  59. h264_rate_controller.h
  60. h264_rate_controller_unittest.cc
  61. h264_ratectrl_rtc.cc
  62. h264_ratectrl_rtc.h
  63. h264_ratectrl_rtc_unittest.cc
  64. h265_builder.cc
  65. h265_builder.h
  66. h265_decoder.cc
  67. h265_decoder.h
  68. h265_decoder_fuzzer.cc
  69. h265_decoder_unittest.cc
  70. h265_dpb.cc
  71. h265_dpb.h
  72. hrd_buffer.cc
  73. hrd_buffer.h
  74. hrd_buffer_unittest.cc
  75. macros.h
  76. media_gpu_export.h
  77. OWNERS
  78. README.md
  79. video_frame_mapper.cc
  80. video_frame_mapper.h
  81. video_frame_mapper_factory.cc
  82. video_frame_mapper_factory.h
  83. vp8_decoder.cc
  84. vp8_decoder.h
  85. vp8_decoder_fuzzer.cc
  86. vp8_decoder_unittest.cc
  87. vp8_picture.cc
  88. vp8_picture.h
  89. vp8_reference_frame_vector.cc
  90. vp8_reference_frame_vector.h
  91. vp9_decoder.cc
  92. vp9_decoder.h
  93. vp9_decoder_fuzzer.cc
  94. vp9_picture.cc
  95. vp9_picture.h
  96. vp9_reference_frame_vector.cc
  97. vp9_reference_frame_vector.h
  98. vp9_svc_layers.cc
  99. vp9_svc_layers.h
  100. vp9_svc_layers_unittest.cc
media/gpu/README.md

//media/gpu

This directory contains //media code that runs in the GPU process; this includes video, audio, and image decoders and encoders.

Common classes shared between platforms are here:

  • AcceleratedVideoDecoder and its implementations AV1Decoder, H264Decoder, H265Decoder, VP8Decoder, and VP9Decoder.
  • CommandBufferHelper, which provides utilities for operating inside of a renderer's CommandBuffer from inside the GPU process.
  • GpuVideoAcceleratorFactory, which provides VideoDecodeAccelerator implementations to the IPC layer.

//media/gpu/ipc

Glue to use VideoDecodeAccelerator implementations via MojoVideoDecoderService.

Platform-specific directories

There are platform-specific directories for android, chromeos, mac, and windows, as well as v4l2 and vaapi which are can be built on chromeos and linux. (Video decoding on fuchsia does not go through the GPU process.)