Skip to content

Commit

Permalink
Merge pull request #3 from pschatzmann/redesign
Browse files Browse the repository at this point in the history
Convert to header only c++ classes
  • Loading branch information
pschatzmann authored Jan 12, 2025
2 parents 8842a42 + a1e39a3 commit 861de45
Show file tree
Hide file tree
Showing 715 changed files with 53,553 additions and 6,361 deletions.
6 changes: 1 addition & 5 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,7 @@ project(adpcm_ffmpeg)
# lots of warnings and all warnings as errors
# add_compile_options(-Wall -Wextra )

# define as library
#add_library (adpcm_ffmpeg src/adpcm-ffmpeg/adpcm_data.c src/adpcm-ffmpeg/adpcm.c src/adpcm-ffmpeg/adpcmenc.c)

# define location for header files
#target_include_directories(adpcm_ffmpeg PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src/ffmpeg ${CMAKE_CURRENT_SOURCE_DIR}/src/ )
add_subdirectory("src")
add_subdirectory("test")
add_subdirectory("tests/sine")

4 changes: 2 additions & 2 deletions Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -862,9 +862,9 @@ WARN_LOGFILE =
# documented source files. You may enter file names like myfile.cpp or
# directories like /usr/src/myproject. Separate the files or directories with
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
# Note: If this tag is empty the current directory is searched.
# Note: If this tag is empty the current directosrc/adpcm-ffmpegry is searched.

INPUT = README.md src/ADPCM.h src/adpcm-ffmpeg/adpcm_public.h src/adpcm-ffmpeg/compat_public.h
INPUT = README.md src src/adpcm-ffmpeg

# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
Expand Down
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ I was looking for a __complete__ ADPCM codec library that is suitable to be used

The best implementation that I could find is provided by [FFmpeg](https://ffmpeg.org/) but unfortunately FFmpeg itself is unsuited for microcontrollers.

Therefore I decided to extract the implementation and provide it as a stand alone libarary with a simple API.
Therefore I decided to extract the implementation and provide it as a stand alone libarary with a simple API and provide the functionality as header only C++ implementation.

# Usage

Expand Down Expand Up @@ -53,7 +53,6 @@ I recommend to use git because you can easily update to the latest version just
Just add this library to your platformio.ini. You can also activate or deactivate individual encoders and decoders
```
lib_deps = https://github.com/pschatzmann/adpcm
build_flags = CONFIG_ADPCM_ARGO_DECODER=0
```

## CMake
Expand Down
180 changes: 180 additions & 0 deletions docs/html/ADPCMCodec_8h_source.html

Large diffs are not rendered by default.

2,892 changes: 2,892 additions & 0 deletions docs/html/ADPCMDecoder_8h_source.html

Large diffs are not rendered by default.

1,260 changes: 1,260 additions & 0 deletions docs/html/ADPCMEncoder_8h_source.html

Large diffs are not rendered by default.

215 changes: 2 additions & 213 deletions docs/html/ADPCM_8h_source.html

Large diffs are not rendered by default.

1,122 changes: 1,122 additions & 0 deletions docs/html/adpcm_8h_source.html

Large diffs are not rendered by default.

86 changes: 77 additions & 9 deletions docs/html/annotated.html

Large diffs are not rendered by default.

170 changes: 170 additions & 0 deletions docs/html/bswap_8h.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,170 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ADPCM Codecs: src/adpcm-ffmpeg/bswap.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">ADPCM Codecs
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_5b7b926c9b6d23b88dfbef4b644a89f8.html">adpcm-ffmpeg</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#define-members">Macros</a> </div>
<div class="headertitle">
<div class="title">bswap.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;stdint.h&gt;</code><br />
<code>#include &quot;config-adpcm.h&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for bswap.h:</div>
<div class="dyncontent">
<div class="center"><img src="bswap_8h__incl.png" border="0" usemap="#asrc_2adpcm-ffmpeg_2bswap_8h" alt=""/></div>
<map name="asrc_2adpcm-ffmpeg_2bswap_8h" id="asrc_2adpcm-ffmpeg_2bswap_8h">
<area shape="rect" title=" " alt="" coords="5,5,204,32"/>
<area shape="rect" title=" " alt="" coords="9,80,80,107"/>
<area shape="rect" href="config-adpcm_8h_source.html" title=" " alt="" coords="105,80,227,107"/>
</map>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="bswap_8h__dep__incl.png" border="0" usemap="#asrc_2adpcm-ffmpeg_2bswap_8hdep" alt=""/></div>
<map name="asrc_2adpcm-ffmpeg_2bswap_8hdep" id="asrc_2adpcm-ffmpeg_2bswap_8hdep">
<area shape="rect" title=" " alt="" coords="244,5,443,32"/>
<area shape="rect" href="intreadwrite_8h_source.html" title=" " alt="" coords="226,80,461,107"/>
<area shape="rect" href="bytestream_8h_source.html" title=" " alt="" coords="5,162,236,189"/>
<area shape="rect" href="get__bits_8h.html" title=" " alt="" coords="261,155,426,196"/>
<area shape="rect" href="put__bits_8h.html" title=" " alt="" coords="373,244,538,285"/>
<area shape="rect" href="ADPCMCodec_8h_source.html" title=" " alt="" coords="79,251,224,278"/>
<area shape="rect" href="ADPCMDecoder_8h_source.html" title=" " alt="" coords="189,333,348,360"/>
<area shape="rect" href="ADPCMEncoder_8h_source.html" title=" " alt="" coords="191,483,347,509"/>
<area shape="rect" href="ADPCM_8h_source.html" title=" " alt="" coords="216,408,321,435"/>
</map>
</div>
</div>
<p><a href="bswap_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ae814c79414a68cd818fa85b537e512ca"><td class="memItemLeft" align="right" valign="top"><a id="ae814c79414a68cd818fa85b537e512ca"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>AV_BSWAP16C</b>(x)&#160;&#160;&#160;(((x) &lt;&lt; 8 &amp; 0xff00) | ((x) &gt;&gt; 8 &amp; 0x00ff))</td></tr>
<tr class="separator:ae814c79414a68cd818fa85b537e512ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd0be1ea0d53f0e778ba453d6a8a2ba7"><td class="memItemLeft" align="right" valign="top"><a id="acd0be1ea0d53f0e778ba453d6a8a2ba7"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>AV_BSWAP32C</b>(x)&#160;&#160;&#160;(AV_BSWAP16C(x) &lt;&lt; 16 | AV_BSWAP16C((x) &gt;&gt; 16))</td></tr>
<tr class="separator:acd0be1ea0d53f0e778ba453d6a8a2ba7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0231c6b30e9577aa7866e96bd6b14d1d"><td class="memItemLeft" align="right" valign="top"><a id="a0231c6b30e9577aa7866e96bd6b14d1d"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>AV_BSWAP64C</b>(x)&#160;&#160;&#160;(AV_BSWAP32C(x) &lt;&lt; 32 | AV_BSWAP32C((x) &gt;&gt; 32))</td></tr>
<tr class="separator:a0231c6b30e9577aa7866e96bd6b14d1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e7a1254648283f96e02ff832c42b0d1"><td class="memItemLeft" align="right" valign="top"><a id="a4e7a1254648283f96e02ff832c42b0d1"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>AV_BSWAPC</b>(s, x)&#160;&#160;&#160;AV_BSWAP##s##C(x)</td></tr>
<tr class="separator:a4e7a1254648283f96e02ff832c42b0d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02385306e193ec58dc379dfb5d812960"><td class="memItemLeft" align="right" valign="top"><a id="a02385306e193ec58dc379dfb5d812960"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>av_be2ne16</b>(x)&#160;&#160;&#160;av_bswap16(x)</td></tr>
<tr class="separator:a02385306e193ec58dc379dfb5d812960"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1015f36993fc9b1659fe883d3ff3a17"><td class="memItemLeft" align="right" valign="top"><a id="ac1015f36993fc9b1659fe883d3ff3a17"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>av_be2ne32</b>(x)&#160;&#160;&#160;av_bswap32(x)</td></tr>
<tr class="separator:ac1015f36993fc9b1659fe883d3ff3a17"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b21613df6f82952b52f4f0d1fc7b33c"><td class="memItemLeft" align="right" valign="top"><a id="a4b21613df6f82952b52f4f0d1fc7b33c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>av_be2ne64</b>(x)&#160;&#160;&#160;av_bswap64(x)</td></tr>
<tr class="separator:a4b21613df6f82952b52f4f0d1fc7b33c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b43061d66dbb292123e683e37cecab8"><td class="memItemLeft" align="right" valign="top"><a id="a7b43061d66dbb292123e683e37cecab8"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>av_le2ne16</b>(x)&#160;&#160;&#160;(x)</td></tr>
<tr class="separator:a7b43061d66dbb292123e683e37cecab8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a610c453f4731b545a1528ffdddccd349"><td class="memItemLeft" align="right" valign="top"><a id="a610c453f4731b545a1528ffdddccd349"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>av_le2ne32</b>(x)&#160;&#160;&#160;(x)</td></tr>
<tr class="separator:a610c453f4731b545a1528ffdddccd349"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3aa241ad1a5d44df2e550976ffd38dc2"><td class="memItemLeft" align="right" valign="top"><a id="a3aa241ad1a5d44df2e550976ffd38dc2"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>av_le2ne64</b>(x)&#160;&#160;&#160;(x)</td></tr>
<tr class="separator:a3aa241ad1a5d44df2e550976ffd38dc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a462118c252ac8d6acde1676cd711bbda"><td class="memItemLeft" align="right" valign="top"><a id="a462118c252ac8d6acde1676cd711bbda"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>AV_BE2NEC</b>(s, x)&#160;&#160;&#160;AV_BSWAPC(s, x)</td></tr>
<tr class="separator:a462118c252ac8d6acde1676cd711bbda"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5797b32cfd8cbdadd82c51fdc4c933b8"><td class="memItemLeft" align="right" valign="top"><a id="a5797b32cfd8cbdadd82c51fdc4c933b8"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>AV_LE2NEC</b>(s, x)&#160;&#160;&#160;(x)</td></tr>
<tr class="separator:a5797b32cfd8cbdadd82c51fdc4c933b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac35c610c96f7e07cf3d983884559eede"><td class="memItemLeft" align="right" valign="top"><a id="ac35c610c96f7e07cf3d983884559eede"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>AV_BE2NE16C</b>(x)&#160;&#160;&#160;AV_BE2NEC(16, x)</td></tr>
<tr class="separator:ac35c610c96f7e07cf3d983884559eede"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd6a1094eb78b29cb4aba793ffa7ce00"><td class="memItemLeft" align="right" valign="top"><a id="abd6a1094eb78b29cb4aba793ffa7ce00"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>AV_BE2NE32C</b>(x)&#160;&#160;&#160;AV_BE2NEC(32, x)</td></tr>
<tr class="separator:abd6a1094eb78b29cb4aba793ffa7ce00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33520e694e7cb3d62ac95a7120231d4e"><td class="memItemLeft" align="right" valign="top"><a id="a33520e694e7cb3d62ac95a7120231d4e"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>AV_BE2NE64C</b>(x)&#160;&#160;&#160;AV_BE2NEC(64, x)</td></tr>
<tr class="separator:a33520e694e7cb3d62ac95a7120231d4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac59ea1c37c5bc191f526b2afa97e2db2"><td class="memItemLeft" align="right" valign="top"><a id="ac59ea1c37c5bc191f526b2afa97e2db2"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>AV_LE2NE16C</b>(x)&#160;&#160;&#160;AV_LE2NEC(16, x)</td></tr>
<tr class="separator:ac59ea1c37c5bc191f526b2afa97e2db2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab508468ff8b273b8ed5c23ef214ee8dc"><td class="memItemLeft" align="right" valign="top"><a id="ab508468ff8b273b8ed5c23ef214ee8dc"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>AV_LE2NE32C</b>(x)&#160;&#160;&#160;AV_LE2NEC(32, x)</td></tr>
<tr class="separator:ab508468ff8b273b8ed5c23ef214ee8dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac38fbe0d7a17950224f153df82ccda4"><td class="memItemLeft" align="right" valign="top"><a id="aac38fbe0d7a17950224f153df82ccda4"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>AV_LE2NE64C</b>(x)&#160;&#160;&#160;AV_LE2NEC(64, x)</td></tr>
<tr class="separator:aac38fbe0d7a17950224f153df82ccda4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>byte swapping routines </p>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>
11 changes: 11 additions & 0 deletions docs/html/bswap_8h__dep__incl.map
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<map id="src/adpcm&#45;ffmpeg/bswap.h" name="src/adpcm&#45;ffmpeg/bswap.h">
<area shape="rect" id="node1" title=" " alt="" coords="244,5,443,32"/>
<area shape="rect" id="node2" href="$intreadwrite_8h_source.html" title=" " alt="" coords="226,80,461,107"/>
<area shape="rect" id="node3" href="$bytestream_8h_source.html" title=" " alt="" coords="5,162,236,189"/>
<area shape="rect" id="node8" href="$get__bits_8h.html" title=" " alt="" coords="261,155,426,196"/>
<area shape="rect" id="node9" href="$put__bits_8h.html" title=" " alt="" coords="373,244,538,285"/>
<area shape="rect" id="node4" href="$ADPCMCodec_8h_source.html" title=" " alt="" coords="79,251,224,278"/>
<area shape="rect" id="node5" href="$ADPCMDecoder_8h_source.html" title=" " alt="" coords="189,333,348,360"/>
<area shape="rect" id="node7" href="$ADPCMEncoder_8h_source.html" title=" " alt="" coords="191,483,347,509"/>
<area shape="rect" id="node6" href="$ADPCM_8h_source.html" title=" " alt="" coords="216,408,321,435"/>
</map>
1 change: 1 addition & 0 deletions docs/html/bswap_8h__dep__incl.md5
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
b5f81bfd90d107c023f2844c051f26ba
Binary file added docs/html/bswap_8h__dep__incl.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions docs/html/bswap_8h__incl.map
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<map id="src/adpcm&#45;ffmpeg/bswap.h" name="src/adpcm&#45;ffmpeg/bswap.h">
<area shape="rect" id="node1" title=" " alt="" coords="5,5,204,32"/>
<area shape="rect" id="node2" title=" " alt="" coords="9,80,80,107"/>
<area shape="rect" id="node3" href="$config-adpcm_8h_source.html" title=" " alt="" coords="105,80,227,107"/>
</map>
1 change: 1 addition & 0 deletions docs/html/bswap_8h__incl.md5
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
8a67d9d6d69e5df213f0f3fd5a92d773
Binary file added docs/html/bswap_8h__incl.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 861de45

Please sign in to comment.