tree: 6d93105236c597855742b15e440cac0664c35c20 [path history] [tgz]
  1. fuzzer_seed_corpus/
  2. aac_encoder_config.idl
  3. array_buffer_util.cc
  4. array_buffer_util.h
  5. audio_data.cc
  6. audio_data.h
  7. audio_data.idl
  8. audio_data_attachment.cc
  9. audio_data_attachment.h
  10. audio_data_copy_to_fuzzer.cc
  11. audio_data_copy_to_options.idl
  12. audio_data_init.idl
  13. audio_data_output_callback.idl
  14. audio_data_test.cc
  15. audio_data_transfer_list.cc
  16. audio_data_transfer_list.h
  17. audio_decoder.cc
  18. audio_decoder.h
  19. audio_decoder.idl
  20. audio_decoder_broker.cc
  21. audio_decoder_broker.h
  22. audio_decoder_broker_test.cc
  23. audio_decoder_config.idl
  24. audio_decoder_fuzzer.cc
  25. audio_decoder_init.idl
  26. audio_decoder_support.idl
  27. audio_decoder_test.cc
  28. audio_encoder.cc
  29. audio_encoder.h
  30. audio_encoder.idl
  31. audio_encoder_config.idl
  32. audio_encoder_fuzzer.cc
  33. audio_encoder_init.idl
  34. audio_encoder_support.idl
  35. audio_sample_format.idl
  36. avc_encoder_config.idl
  37. background_readback.cc
  38. background_readback.h
  39. BUILD.gn
  40. codec_config_eval.h
  41. codec_logger.cc
  42. codec_logger.h
  43. codec_pressure_gauge.cc
  44. codec_pressure_gauge.h
  45. codec_pressure_gauge_test.cc
  46. codec_pressure_manager.cc
  47. codec_pressure_manager.h
  48. codec_pressure_manager_provider.cc
  49. codec_pressure_manager_provider.h
  50. codec_pressure_manager_test.cc
  51. codec_state.idl
  52. codec_state_helper.cc
  53. codec_state_helper.h
  54. codec_trace_names.h
  55. decoder_buffer_attachment.cc
  56. decoder_buffer_attachment.h
  57. decoder_selector.cc
  58. decoder_selector.h
  59. decoder_selector_test.cc
  60. decoder_template.cc
  61. decoder_template.h
  62. decoder_template_test.cc
  63. decrypt_config.idl
  64. decrypt_config_util.cc
  65. decrypt_config_util.h
  66. decrypt_config_util_test.cc
  67. DEPS
  68. DIR_METADATA
  69. encoded_audio_chunk.cc
  70. encoded_audio_chunk.h
  71. encoded_audio_chunk.idl
  72. encoded_audio_chunk_init.idl
  73. encoded_audio_chunk_metadata.idl
  74. encoded_audio_chunk_output_callback.idl
  75. encoded_audio_chunk_test.cc
  76. encoded_video_chunk.cc
  77. encoded_video_chunk.h
  78. encoded_video_chunk.idl
  79. encoded_video_chunk_init.idl
  80. encoded_video_chunk_metadata.idl
  81. encoded_video_chunk_output_callback.idl
  82. encoded_video_chunk_test.cc
  83. encoder_base.cc
  84. encoder_base.h
  85. encryption_pattern.idl
  86. fuzzer_inputs.proto
  87. fuzzer_utils.cc
  88. fuzzer_utils.h
  89. gpu_factories_retriever.cc
  90. gpu_factories_retriever.h
  91. hardware_preference.cc
  92. hardware_preference.h
  93. hardware_preference.idl
  94. hevc_encoder_config.idl
  95. image_decode_options.idl
  96. image_decode_result.idl
  97. image_decoder.idl
  98. image_decoder_base.textproto
  99. image_decoder_core.cc
  100. image_decoder_core.h
  101. image_decoder_core_test.cc
  102. image_decoder_external.cc
  103. image_decoder_external.h
  104. image_decoder_external_test.cc
  105. image_decoder_fuzzer.cc
  106. image_decoder_init.idl
  107. image_track.cc
  108. image_track.h
  109. image_track.idl
  110. image_track_list.cc
  111. image_track_list.h
  112. image_track_list.idl
  113. latency_mode.idl
  114. media_effect_info.idl
  115. opus_encoder_config.idl
  116. OWNERS
  117. plane_layout.idl
  118. README.md
  119. reclaimable_codec.cc
  120. reclaimable_codec.h
  121. reclaimable_codec_test.cc
  122. subsample_entry.idl
  123. svc_output_metadata.idl
  124. test_helpers.cc
  125. test_helpers.h
  126. video_color_primaries.idl
  127. video_color_space.cc
  128. video_color_space.h
  129. video_color_space.idl
  130. video_color_space_init.idl
  131. video_decoder.cc
  132. video_decoder.h
  133. video_decoder.idl
  134. video_decoder_broker.cc
  135. video_decoder_broker.h
  136. video_decoder_broker_test.cc
  137. video_decoder_config.idl
  138. video_decoder_fuzzer.cc
  139. video_decoder_helper.cc
  140. video_decoder_helper.h
  141. video_decoder_init.idl
  142. video_decoder_support.idl
  143. video_decoder_test.cc
  144. video_encoder.cc
  145. video_encoder.h
  146. video_encoder.idl
  147. video_encoder_buffer.cc
  148. video_encoder_buffer.h
  149. video_encoder_buffer.idl
  150. video_encoder_config.idl
  151. video_encoder_encode_options.idl
  152. video_encoder_encode_options_for_av1.idl
  153. video_encoder_encode_options_for_avc.idl
  154. video_encoder_encode_options_for_hevc.idl
  155. video_encoder_encode_options_for_vp9.idl
  156. video_encoder_fuzzer.cc
  157. video_encoder_init.idl
  158. video_encoder_support.idl
  159. video_encoder_test.cc
  160. video_frame.cc
  161. video_frame.h
  162. video_frame.idl
  163. video_frame_attachment.cc
  164. video_frame_attachment.h
  165. video_frame_buffer_init.idl
  166. video_frame_copy_to_fuzzer.cc
  167. video_frame_copy_to_options.idl
  168. video_frame_handle.cc
  169. video_frame_handle.h
  170. video_frame_init.idl
  171. video_frame_init_util.cc
  172. video_frame_init_util.h
  173. video_frame_layout.cc
  174. video_frame_layout.h
  175. video_frame_metadata.idl
  176. video_frame_monitor.cc
  177. video_frame_monitor.h
  178. video_frame_monitor_test.cc
  179. video_frame_output_callback.idl
  180. video_frame_rect_util.cc
  181. video_frame_rect_util.h
  182. video_frame_test.cc
  183. video_frame_transfer_list.cc
  184. video_frame_transfer_list.h
  185. video_matrix_coefficients.idl
  186. video_pixel_format.idl
  187. video_transfer_characteristics.idl
  188. webcodecs_error_callback.idl
  189. webcodecs_logger.cc
  190. webcodecs_logger.h
third_party/blink/renderer/modules/webcodecs/README.md

WebCodecs API

This directory contains the Blink implementation of the WebCodecs API. It provides low-level access to browser media encoders and decoders, both software and GPU-accelerated.

Core Interfaces

The main IDL interfaces of the API and their corresponding C++ implementation

  • VideoFrame: (video_frame.h/.cc) - A wrapper around media::VideoFrame for use in Blink and JavaScript.
  • AudioData: (audio_data.h/.cc) - A wrapper around media::AudioBuffer for uncompressed audio data.
  • EncodedVideoChunk: (encoded_video_chunk.h/.cc) - A wrapper for a media::DecoderBuffer containing a chunk of encoded video.
  • EncodedAudioChunk: (encoded_audio_chunk.h/.cc) - A wrapper for a media::DecoderBuffer containing a chunk of encoded audio.
  • VideoDecoder: (video_decoder.h/.cc) - Manages the video decoding process by calling media::VideoDecoders.
  • VideoEncoder: (video_encoder.h/.cc) - Manages the video encoding process by calling media::VideoEncoders.
  • AudioDecoder: (audio_decoder.h/.cc) - Manages the audio decoding process by calling media::AudioDecoders.
  • AudioEncoder: (audio_encoder.h/.cc) - Manages the audio encoding process by calling media::AudioEncoders.
  • ImageDecoder: (image_decoder_external.h/.cc) - Manages decoding of image formats (e.g., PNG, JPEG, GIF).