| commit | d30ad5c6b6c23894aea9965c8a303d977eff8a53 | [log] [tgz] |
|---|---|---|
| author | Alexandre Courbot <acourbot@chromium.org> | Tue Jul 18 12:38:44 2023 +0900 |
| committer | Alexandre Courbot <acourbot@chromium.org> | Tue Jul 18 13:11:37 2023 +0900 |
| tree | a3f06b23085977a652616a2957de1189ff0a23eb | |
| parent | 1485577037f83a4e19dd568280d9910a4a39d5ba [diff] |
decoder/h264: move methods that can be into the state implementation This requires less members to go through and is more legible overall.
A lightweight, simple, low-dependency, and hopefully safe crate for hardware-accelerated video decoding and encoding on Linux.
It is developed for use in ChromeOS (particularly crosvm), but has no dependency to ChromeOS and should be usable anywhere.
This crate is still under heavy development and is not recommended for use yet.
The ccdec example program can decode an encoded stream and write the decoded frames to a file. As such it can be used for testing purposes.
$ cargo build --examples
$ ./target/debug/examples/ccdec --help
Usage: ccdec <input> [--output <output>] --input-format <input-format> [--output-format <output-format>] [--synchronous] [--compute-md5 <compute-md5>]
Simple player using cros-codecs
Positional Arguments:
input input file
Options:
--output output file to write the decoded frames to
--input-format input format to decode from.
--output-format pixel format to decode into. Default: i420
--synchronous whether to decode frames synchronously
--compute-md5 whether to display the MD5 of the decoded stream, and at
which granularity (stream or frame)
--help display usage information
Fluster can be used for testing, using the ccdec example program described above. This branch contains support for cros-codecs testing. Just make sure the ccdec binary is in your PATH, and run Fluster using one of the ccdec decoders, e.g.
$ python fluster.py run -d ccdec-H.264 -ts JVT-AVC_V1