From 7d977b77bbe1c9bbe5efa564922348b4df8a58ca Mon Sep 17 00:00:00 2001 From: Ralf Zerres Date: Sun, 17 Mar 2019 20:14:19 +0100 Subject: [PATCH] initial Markdown documentation Signed-off-by: Ralf Zerres --- README.md | 87 ++++++++++++++++++++++++++++++++++++++++++ lang/french/README.md | 87 ++++++++++++++++++++++++++++++++++++++++++ lang/german/README.md | 89 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 263 insertions(+) create mode 100644 README.md create mode 100644 lang/french/README.md create mode 100644 lang/german/README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..d2e31b2 --- /dev/null +++ b/README.md @@ -0,0 +1,87 @@ + + + +# v4l2-request-test + +

+ English | + Français | --> + Deutsch +

+ +## About + +`v4l2-request-test` was designed as a standalone tool to help with development +and testing of the `Cedrus driver`. The tool supports the Video Engine found on most +Allwinner SoCs. It implements the Linux [V4L2 Request API](https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/mediactl/request-api.html). +So it can help to test any driver being developed using that API. + +It currently supports decoding MPEG2 and H264 frames from their slice data +(stored as files) and associated metadata, as well as displaying the decoded +frames through a dedicated DRM plane. + +The behavior of the tool can be configured through command line arguments, that +are precised by its usage help. + +## How does it work + +TODO: summarize the functional structure of the code. + +## Presets + +### Preset Definition +To ease the testing of supported codecs, `v4l2-request-test` defines a preset structure. +This structure classifies its member as declarative or control fields. + +* declarative fields + +Declarative struct members document the source of the coded frames. + + * name + * description + * license + * attribution + * control fields + +Each `preset` stores attributes that correspond to the nature of decoded frames. This +infomation will be used to process with correct algorithms. + + * codec type + * buffer_count, + * frames + * frames_count + * data path + +The series of coded frames are stored as files in the `data subdirecotry`. The name of +the subdirectory correspond to the preset `name`. + +### Preset Data + +There are subdirectories with coded frames for the following presets: + +* bbb-mpeg2 +* bbb-happy-mpeg2 +* ed-mpeg2 +* bbb-h264-32 +* bbb-h264-all-i-32 +* bbb-h264-high-32 +* caminandes-fall-h265 +* caminandes-h265 + +## Contributing + +Help is very welcome! Feel free to fork and issue a pull request to add +features or tackle open issues. + +## License + + +[Logo-CC_BY]: https://i.creativecommons.org/l/by/4.0/88x31.png "Creative Common Logo" +[License-CC_BY]: https://creativecommons.org/licenses/by/4.0/legalcode "Creative Common License" + +This work is licensed under a [Creative Common License 4.0][License-CC_BY] + +![Creative Common Logo][Logo-CC_BY] + +© 2017 - 2019 Paul Kocialkowski (bootlin); +© 2019 Ralf Zerres (networkx) diff --git a/lang/french/README.md b/lang/french/README.md new file mode 100644 index 0000000..e8ecaa5 --- /dev/null +++ b/lang/french/README.md @@ -0,0 +1,87 @@ + + + +# v4l2-request-test + +

+ English | + Français | --> + Deutsch +

+ +## Sur + +`v4l2-request-test` was designed as a standalone tool to help with development +and testing of the `Cedrus driver`. The tool supports the Video Engine found on most +Allwinner SoCs. It implements the Linux [V4L2 Request API](https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/mediactl/request-api.html). +So it can help to test any driver being developed using that API. + +It currently supports decoding MPEG2 and H264 frames from their slice data +(stored as files) and associated metadata, as well as displaying the decoded +frames through a dedicated DRM plane. + +The behavior of the tool can be configured through command line arguments, that +are precised by its usage help. + +## How does it work + +TODO: summarize the functional structure of the code. + +## Presets + +### Preset Definition +To ease the testing of supported codecs, `v4l2-request-test` defines a preset structure. +This structure classifies its member as declarative or control fields. + +* declarative fields + +Declarative struct members document the source of the coded frames. + + * name + * description + * license + * attribution + * control fields + +Each `preset` stores attributes that correspond to the nature of decoded frames. This +infomation will be used to process with correct algorithms. + + * codec type + * buffer_count, + * frames + * frames_count + * data path + +The series of coded frames are stored as files in the `data subdirecotry`. The name of +the subdirectory correspond to the preset `name`. + +### Preset Data + +There are subdirectories with coded frames for the following presets: + +* bbb-mpeg2 +* bbb-happy-mpeg2 +* ed-mpeg2 +* bbb-h264-32 +* bbb-h264-all-i-32 +* bbb-h264-high-32 +* caminandes-fall-h265 +* caminandes-h265 + +## Contributing + +Help is very welcome! Feel free to fork and issue a pull request to add +features or tackle open issues. + +## License + + +[Logo-CC_BY]: https://i.creativecommons.org/l/by/4.0/88x31.png "Creative Common Logo" +[License-CC_BY]: https://creativecommons.org/licenses/by/4.0/legalcode "Creative Common License" + +This work is licensed under a [Creative Common License 4.0][License-CC_BY] + +![Creative Common Logo][Logo-CC_BY] + +© 2017 - 2019 Paul Kocialkowski (bootlin); +© 2019 Ralf Zerres (networkx) diff --git a/lang/german/README.md b/lang/german/README.md new file mode 100644 index 0000000..45d679d --- /dev/null +++ b/lang/german/README.md @@ -0,0 +1,89 @@ + + + +# v4l2-request-test + +

+ English | + Français | --> + Deutsch +

+ +## Über + +`v4l2-request-test` wurde als eigenständiges Tool entwickelt, das bei der Entwickung +und dem Test des Video Treibers `Cedrus` zum Einsatz kommt. +Das Tool unterstützt die Video Engine, wie sie in den meisten Allwinner SOCs verbaut ist. +Es implementiert die Linux [V4L2 Request API](https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/mediactl/request-api.html). +Dadurch kann es eingesetzt werden, um auch andere Treiber zu testen, die auf diesem API aufbauen. + +Derzeit unterstützt `v4l2-request-test` die Decodierung von MPEG-2 und H264 Daten-Frames. Diese sind +als Dateien (slice data), inclusive zugehöriger Metadaten gespeichert. Die Dateien werden decodiert +und anschließend auf einem dedizierten DRM Plane ausgegeben. + +Das Verhalten des Tools kann über Komandozeilen Argumente konfiguriert werden. Der Hilfetext +beschreibt mögliche Werte. + +## Wie es funktioniert + +TODO: summarize the functional structure of the code. + +## Presets + +### Preset Definitionen + +Um den Test der unterstützen Codecs zu erleichtern definiert `v4l2-request-test` eine sogenannte +`Preset` Struktur. Diese Struktur ordnet ihre Attribute als Deklarative-, bzw. als Kontroll-Felder. + +* declarative fields + +Deklarative Strukturelemente beschreiben die Herkunft des kodierten Frame-Sets. + + * name + * description + * license + * attribution + * control fields + +Jedes `Preset` speichert Attribute, die der Natur des zu dekodierenden Frames entsprechen. Dies +Informationen werden für die Verarbeitung mit dem korrekten Algorithmus herangezogen. + + * codec type + * buffer_count, + * frames + * frames_count + * data path + +Eine Serie kodierter Frames wurden als Dateien im `data` Unterverzeichnes gespeichert. Die Namen +der Unterverzeichisse entsprechen dem Preset `name` Attribut. + +### Preset Daten + +Es existieren Unterverzeichnisse mit codierten Frames für die folgenden `Presets`: + +* bbb-mpeg2 +* bbb-happy-mpeg2 +* ed-mpeg2 +* bbb-h264-32 +* bbb-h264-all-i-32 +* bbb-h264-high-32 +* caminandes-fall-h265 +* caminandes-h265 + +## Mitarbeit + +Hilfe ist sehr willkommen! Gerne könnt Ihr das Projekt forken und PR's einreichen, +um neue Funktion zu implementieren oder Fehler zu bereinigen. + +## Lizenz + + +[Logo-CC_BY]: https://i.creativecommons.org/l/by/4.0/88x31.png "Creative Common Logo" +[License-CC_BY]: https://creativecommons.org/licenses/by/4.0/legalcode "Creative Common License" + +Diese Arbeit ist unter der [Creative Common License 4.0][License-CC_BY] lizensiert. + +![Creative Common Logo][Logo-CC_BY] + +© 2017 - 2019 Paul Kocialkowski (bootlin); +© 2019 Ralf Zerres (networkx)