v4l2_codec2: Reduce Chrome code dependencies.

While developing the V4L2 encode and decode components the design was
based on the V4L2 encoder and decoder in Chrome. To speed up and
simplify the development process parts of the Chrome helper code was
copied to Android. As the components evolved a lot over time, most of
the Chrome code can now be removed.

This CL removes a lot of code from the accel/ folder:
- Some files are no longer used and can just be removed.
- Other files are only partly used but pull in a lot of dependencies.
  This CL removes the unused parts of these files and the associated
  dependencies.
- Other files have been replaced by helpers in the common/ folder and
  can now be removed, e.g. the H.264 NAL SPS parser in ag/13911308.

Bug: 155138142
Test: arc.VideoDecodeAccel.* on hatch
Change-Id: I324088846e00426c4b8e5fbd1ff5b5e7ac200e12
59 files changed
tree: 50c22da9123eccd6126e94525471aa29bd0b4b23
  1. accel/
  2. common/
  3. components/
  4. plugin_store/
  5. service/
  6. tests/
  7. .clang-format
  8. Android.bp
  9. METADATA
  10. MODULE_LICENSE_BSD
  11. NOTICE
  12. OWNERS
  13. PREUPLOAD.cfg
  14. README.md
README.md

V4L2-based Codec2 Component Implementation

Description of Sub-folders

  • accel/ Core V4L2 API and codec utilities, ported from Chromium project.

  • common/ Common helper classes for components.

  • components/ The C2Component implementations based on V4L2 API, and the implementation of C2ComponentStore for creating all the C2Components.

  • service/ The Codec2's V4L2 IComponentStore service. The service initiates the component store implemented at store/ folder, and registers it as the default service.