Add configuration for ReadtheDocs

This commit is contained in:
Sam Wu
2023-11-21 11:08:36 -07:00
förälder 012f96c8c5
incheckning 3f7e3fe7d8
12 ändrade filer med 3104 tillägg och 19 borttagningar
+19
Visa fil
@@ -0,0 +1,19 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
version: 2
updates:
- package-ecosystem: "pip" # See documentation for possible values
directory: "/docs/sphinx" # Location of package manifests
open-pull-requests-limit: 10
schedule:
interval: "daily"
target-branch: "master"
labels:
- "documentation"
- "dependencies"
- "ci:docs-only"
reviewers:
- "samjwu"
+18
Visa fil
@@ -0,0 +1,18 @@
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
version: 2
sphinx:
configuration: docs/conf.py
formats: [htmlzip, pdf, epub]
python:
install:
- requirements: docs/sphinx/requirements.txt
build:
os: ubuntu-22.04
tools:
python: "3.8"
+39 -19
Visa fil
@@ -1,13 +1,15 @@
# rocDecode
rocDecode is a high performance video decode SDK for AMD hardware. rocDecode API lets developers access the video decoding features available on the GPU.
## Supported Codecs
* H.265 (HEVC) - 8 bit, and 10 bit
## Prerequisites:
## Prerequisites
* Linux distribution
+ Ubuntu - `20.04` / `22.04`
* Ubuntu - `20.04` / `22.04`
* [ROCm supported hardware](https://rocm.docs.amd.com/en/latest/release/gpu_os_support.html)
@@ -16,21 +18,24 @@ rocDecode is a high performance video decode SDK for AMD hardware. rocDecode API
* CMake `3.5` or later
* libva-dev `2.7` or later
```
```shell
sudo apt install libva-dev
```
* libdrm-dev `2.4` or later
```
```shell
sudo apt install libdrm-dev
```
* **Note** [rocDecode-setup.py](rocDecode-setup.py) script can be used for installing all the dependencies
## Build instructions:
## Build instructions
Please follow the instructions below to build and install the rocDecode library.
```
```shell
cd rocDecode
mkdir build; cd build
cmake ..
@@ -39,13 +44,16 @@ Please follow the instructions below to build and install the rocDecode library.
```
* run tests - Requires `FFMPEG` install
```
```shell
make test
```
**NOTE:** run tests with verbose option `make test ARGS="-VV"`
* make package
```
```shell
sudo make test package
```
@@ -60,43 +68,55 @@ The installer will copy
Build and run sample
```
```shell
mkdir rocdecode-sample && cd rocdecode-sample
cmake /opt/rocm/share/rocdecode/samples/videoDecode/
make -j8
./videodecode -i /opt/rocm/share/rocdecode/video/AMD_driving_virtual_20-H265.mp4
```
## Samples:
## Samples
The tool provides a few samples to decode videos [here](samples/). Please refer to the individual folders to build and run the samples.
### Prerequisites
### Sample Prerequisites
* [FFMPEG](https://ffmpeg.org/about.html) - required to run sample applications & make test
```
```shell
sudo apt install ffmpeg
```
## Docker:
## Docker
Docker files to build rocDecode containers are available [here](docker/)
## Documentation
Run the steps below to build documentation locally.
* Doxygen
* Sphinx
```shell
cd docs
pip3 install -r sphinx/requirements.txt
python3 -m sphinx -T -E -b html -d _build/doctrees -D language=en . _build/html
```
* Doxygen
```shell
doxygen .Doxyfile
```
## Tested configurations
* Linux distribution
+ Ubuntu - `20.04` / `22.04`
* ROCm:
+ rocm-core - `5.6.1.50601-93`
+ amdgpu-core - `1:5.6.50601-1649308`
* Ubuntu - `20.04` / `22.04`
* ROCm:
* rocm-core - `5.6.1.50601-93`
* amdgpu-core - `1:5.6.50601-1649308`
* FFMPEG - `4.2.7` / `4.4.2-0`
* libva-dev - `2.7.0-2` / `2.14.0-1`
* libdrm-dev - `2.4.107` / `2.4.113`
* rocDecode Setup Script - `V1.2`
* rocDecode Setup Script - `V1.2`
+2
Visa fil
@@ -0,0 +1,2 @@
_build/
_doxygen/
+57
Visa fil
@@ -0,0 +1,57 @@
# MIT License
# Copyright (c) 2023 Advanced Micro Devices, Inc.
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
# Configuration file for the Sphinx documentation builder.
#
# This file only contains a selection of the most common options. For a full
# list see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html
import re
from rocm_docs import ROCmDocs
with open('../CMakeLists.txt', encoding='utf-8') as f:
match = re.search(r'.*\bset\(VERSION\s+\"?([0-9.]+)[^0-9.]+', f.read())
if not match:
raise ValueError("VERSION not found!")
version_number = match[1]
left_nav_title = f"rocDecode {version_number} Documentation"
# for PDF output on Read the Docs
project = "rocDecode Documentation"
author = "Advanced Micro Devices, Inc."
copyright = "Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved."
version = version_number
release = version_number
external_toc_path = "./sphinx/_toc.yml"
docs_core = ROCmDocs(left_nav_title)
docs_core.run_doxygen(doxygen_root="doxygen", doxygen_path="doxygen/xml")
docs_core.enable_api_reference()
docs_core.setup()
external_projects_current_project = "rocdecode"
for sphinx_var in ROCmDocs.SPHINX_VARS:
globals()[sphinx_var] = getattr(docs_core, sphinx_var)
+3
Visa fil
@@ -0,0 +1,3 @@
html/
latex/
xml/
+2774
Visa fil
Filskillnaden har hållits tillbaka eftersom den är för stor Load Diff
+4
Visa fil
@@ -0,0 +1,4 @@
# License
```{include} ../LICENSE
```
+1
Visa fil
@@ -0,0 +1 @@
_toc.yml
+7
Visa fil
@@ -0,0 +1,7 @@
# Anywhere {branch} is used, the branch name will be substituted.
# These comments will also be removed.
root: doxygen/html/index
subtrees:
- caption: About
entries:
- file: license
+1
Visa fil
@@ -0,0 +1 @@
rocm-docs-core[api_reference]==0.28.0
+179
Visa fil
@@ -0,0 +1,179 @@
#
# This file is autogenerated by pip-compile with Python 3.8
# by the following command:
#
# pip-compile requirements.in
#
accessible-pygments==0.0.4
# via pydata-sphinx-theme
alabaster==0.7.13
# via sphinx
babel==2.13.1
# via
# pydata-sphinx-theme
# sphinx
beautifulsoup4==4.12.2
# via pydata-sphinx-theme
breathe==4.35.0
# via rocm-docs-core
certifi==2023.11.17
# via requests
cffi==1.16.0
# via
# cryptography
# pynacl
charset-normalizer==3.3.2
# via requests
click==8.1.7
# via
# click-log
# doxysphinx
# sphinx-external-toc
click-log==0.4.0
# via doxysphinx
cryptography==41.0.5
# via pyjwt
deprecated==1.2.14
# via pygithub
docutils==0.19
# via
# breathe
# myst-parser
# pydata-sphinx-theme
# sphinx
doxysphinx==3.3.7
# via rocm-docs-core
fastjsonschema==2.19.0
# via rocm-docs-core
gitdb==4.0.11
# via gitpython
gitpython==3.1.40
# via rocm-docs-core
idna==3.4
# via requests
imagesize==1.4.1
# via sphinx
importlib-metadata==6.8.0
# via sphinx
importlib-resources==6.1.1
# via rocm-docs-core
jinja2==3.1.2
# via
# myst-parser
# sphinx
libsass==0.22.0
# via doxysphinx
lxml==4.9.3
# via doxysphinx
markdown-it-py==2.2.0
# via
# mdit-py-plugins
# myst-parser
markupsafe==2.1.3
# via jinja2
mdit-py-plugins==0.3.5
# via myst-parser
mdurl==0.1.2
# via markdown-it-py
mpire==2.8.1
# via doxysphinx
myst-parser==1.0.0
# via rocm-docs-core
packaging==23.2
# via
# pydata-sphinx-theme
# sphinx
pycparser==2.21
# via cffi
pydata-sphinx-theme==0.14.3
# via
# rocm-docs-core
# sphinx-book-theme
pygithub==2.1.1
# via rocm-docs-core
pygments==2.17.1
# via
# accessible-pygments
# mpire
# pydata-sphinx-theme
# sphinx
pyjson5==1.6.4
# via doxysphinx
pyjwt[crypto]==2.8.0
# via pygithub
pynacl==1.5.0
# via pygithub
pyparsing==3.1.1
# via doxysphinx
python-dateutil==2.8.2
# via pygithub
pytz==2023.3.post1
# via babel
pyyaml==6.0.1
# via
# myst-parser
# rocm-docs-core
# sphinx-external-toc
requests==2.31.0
# via
# pygithub
# sphinx
rocm-docs-core[api_reference]==0.28.0
# via -r requirements.in
six==1.16.0
# via python-dateutil
smmap==5.0.1
# via gitdb
snowballstemmer==2.2.0
# via sphinx
soupsieve==2.5
# via beautifulsoup4
sphinx==5.3.0
# via
# breathe
# myst-parser
# pydata-sphinx-theme
# rocm-docs-core
# sphinx-book-theme
# sphinx-copybutton
# sphinx-design
# sphinx-external-toc
# sphinx-notfound-page
sphinx-book-theme==1.0.1
# via rocm-docs-core
sphinx-copybutton==0.5.2
# via rocm-docs-core
sphinx-design==0.5.0
# via rocm-docs-core
sphinx-external-toc==0.3.1
# via rocm-docs-core
sphinx-notfound-page==1.0.0
# via rocm-docs-core
sphinxcontrib-applehelp==1.0.4
# via sphinx
sphinxcontrib-devhelp==1.0.2
# via sphinx
sphinxcontrib-htmlhelp==2.0.1
# via sphinx
sphinxcontrib-jsmath==1.0.1
# via sphinx
sphinxcontrib-qthelp==1.0.3
# via sphinx
sphinxcontrib-serializinghtml==1.1.5
# via sphinx
tqdm==4.66.1
# via mpire
typing-extensions==4.8.0
# via
# pydata-sphinx-theme
# pygithub
urllib3==2.1.0
# via
# pygithub
# requests
wrapt==1.16.0
# via deprecated
zipp==3.17.0
# via
# importlib-metadata
# importlib-resources