libctru/mvd_8h_source.html
2024-11-03 20:36:34 +00:00

298 lines
60 KiB
HTML

<!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>libctru: include/3ds/services/mvd.h Source File</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">libctru
&#160;<span id="projectnumber">v2.4.1</span>
</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_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_d475325f6a9fe3bfc3a495c72a9e475e.html">3ds</a></li><li class="navelem"><a class="el" href="dir_0e005207343684f6967052d1f51a7e66.html">services</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">mvd.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="mvd_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * @file mvd.h</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * @brief MVD service.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="preprocessor">#pragma once</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160; </div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">//New3DS-only, see also: http://3dbrew.org/wiki/MVD_Services</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">///These values are the data returned as &quot;result-codes&quot; by MVDSTD.</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"><a class="line" href="mvd_8h.html#a6bf61258865ef1ef89c538f128a2ad7b"> 10</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define MVD_STATUS_OK 0x17000</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#define MVD_STATUS_PARAMSET 0x17001 </span><span class="comment">///&quot;Returned after processing NAL-unit parameter-sets.&quot;</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#define MVD_STATUS_BUSY 0x17002</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#define MVD_STATUS_FRAMEREADY 0x17003</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#define MVD_STATUS_INCOMPLETEPROCESSING 0x17004 </span><span class="comment">///&quot;Returned when not all of the input NAL-unit buffer was processed.&quot;</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#define MVD_STATUS_NALUPROCFLAG 0x17007 </span><span class="comment">///See here: https://www.3dbrew.org/wiki/MVDSTD:ProcessNALUnit</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment">///This can be used to check whether mvdstdProcessVideoFrame() was successful.</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"><a class="line" href="mvd_8h.html#a788267f8f5eaba57aeaea4b7c514a90d"> 18</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define MVD_CHECKNALUPROC_SUCCESS(x) (x==MVD_STATUS_OK || x==MVD_STATUS_PARAMSET || x==MVD_STATUS_FRAMEREADY || x==MVD_STATUS_INCOMPLETEPROCESSING || x==MVD_STATUS_NALUPROCFLAG)</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">/// Default input size for mvdstdInit(). This is what the New3DS Internet Browser uses, from the MVDSTD:CalculateWorkBufSize output.</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"><a class="line" href="mvd_8h.html#a469adc5b4ae6402f2f762504efcb28f6"> 21</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define MVD_DEFAULT_WORKBUF_SIZE 0x9006C8</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">/// Processing mode.</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="mvd_8h.html#a3a1b3742822153a4f62c1f79d228a861"> 24</a></span>&#160;<span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
<div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="mvd_8h.html#a3a1b3742822153a4f62c1f79d228a861a60d87a7f2151cd67f8b0710ec39f7583"> 25</a></span>&#160; <a class="code" href="mvd_8h.html#a3a1b3742822153a4f62c1f79d228a861a60d87a7f2151cd67f8b0710ec39f7583">MVDMODE_COLORFORMATCONV</a>, <span class="comment">///&lt; Converting color formats.</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <a class="code" href="mvd_8h.html#a3a1b3742822153a4f62c1f79d228a861a4a87a822d91b28e9468c0147c90be30f">MVDMODE_VIDEOPROCESSING</a> <span class="comment">///&lt; Processing video.</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="mvd_8h.html#a3a1b3742822153a4f62c1f79d228a861a4a87a822d91b28e9468c0147c90be30f"> 27</a></span>&#160;} <a class="code" href="mvd_8h.html#a3a1b3742822153a4f62c1f79d228a861">MVDSTD_Mode</a>;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment">/// Input format.</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="mvd_8h.html#abcd3d62338d21a3b7d26bd96fd850f29"> 30</a></span>&#160;<span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
<div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="mvd_8h.html#abcd3d62338d21a3b7d26bd96fd850f29aacf22aec18ff7e379b7b1578f9e10b12"> 31</a></span>&#160; <a class="code" href="mvd_8h.html#abcd3d62338d21a3b7d26bd96fd850f29aacf22aec18ff7e379b7b1578f9e10b12">MVD_INPUT_YUYV422</a> = 0x00010001, <span class="comment">///&lt; YUYV422</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <a class="code" href="mvd_8h.html#abcd3d62338d21a3b7d26bd96fd850f29a8487699e0ef9c80df41d1ae321a509ac">MVD_INPUT_H264</a> = 0x00020001 <span class="comment">///&lt; H264</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="mvd_8h.html#abcd3d62338d21a3b7d26bd96fd850f29a8487699e0ef9c80df41d1ae321a509ac"> 33</a></span>&#160;} <a class="code" href="mvd_8h.html#abcd3d62338d21a3b7d26bd96fd850f29">MVDSTD_InputFormat</a>;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="comment">/// Output format.</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="mvd_8h.html#ac91b4c4db9f9763dc972e0ca9dc70644"> 36</a></span>&#160;<span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="mvd_8h.html#ac91b4c4db9f9763dc972e0ca9dc70644ac3c8c4b72f05742531a4135ccd80e71e"> 37</a></span>&#160; <a class="code" href="mvd_8h.html#ac91b4c4db9f9763dc972e0ca9dc70644ac3c8c4b72f05742531a4135ccd80e71e">MVD_OUTPUT_YUYV422</a> = 0x00010001, <span class="comment">///&lt; YUYV422</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="mvd_8h.html#ac91b4c4db9f9763dc972e0ca9dc70644abc211cc1ddeb33aa942e33bbada487b6"> 38</a></span>&#160; <a class="code" href="mvd_8h.html#ac91b4c4db9f9763dc972e0ca9dc70644abc211cc1ddeb33aa942e33bbada487b6">MVD_OUTPUT_BGR565</a> = 0x00040002, <span class="comment">///&lt; BGR565</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <a class="code" href="mvd_8h.html#ac91b4c4db9f9763dc972e0ca9dc70644a46a87383a22fc66ee051a77455f774b3">MVD_OUTPUT_RGB565</a> = 0x00040004 <span class="comment">///&lt; RGB565</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="mvd_8h.html#ac91b4c4db9f9763dc972e0ca9dc70644a46a87383a22fc66ee051a77455f774b3"> 40</a></span>&#160;} <a class="code" href="mvd_8h.html#ac91b4c4db9f9763dc972e0ca9dc70644">MVDSTD_OutputFormat</a>;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="comment">/// Processing configuration.</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="structMVDSTD__Config.html"> 43</a></span>&#160;<span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="structMVDSTD__Config.html#a171165800b9d0bd0e4778c0bbd52f93c"> 44</a></span>&#160; <a class="code" href="mvd_8h.html#abcd3d62338d21a3b7d26bd96fd850f29">MVDSTD_InputFormat</a> <a class="code" href="structMVDSTD__Config.html#a171165800b9d0bd0e4778c0bbd52f93c">input_type</a>; <span class="comment">///&lt; Input type.</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="structMVDSTD__Config.html#a044475bde408bf873f9a6da6b3bd7ecc"> 45</a></span>&#160; <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> <a class="code" href="structMVDSTD__Config.html#a044475bde408bf873f9a6da6b3bd7ecc">unk_x04</a>; <span class="comment">///&lt; Unknown.</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="structMVDSTD__Config.html#a8c6ca76186b85dee3ac2585df2c3af94"> 46</a></span>&#160; <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> <a class="code" href="structMVDSTD__Config.html#a8c6ca76186b85dee3ac2585df2c3af94">unk_x08</a>; <span class="comment">///&lt; Unknown. Referred to as &quot;H264 range&quot; in SKATER.</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="structMVDSTD__Config.html#ae0e0ca7079f9e3d880683595b1ff5be9"> 47</a></span>&#160; <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> <a class="code" href="structMVDSTD__Config.html#ae0e0ca7079f9e3d880683595b1ff5be9">inwidth</a>; <span class="comment">///&lt; Input width.</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="structMVDSTD__Config.html#a7ff4a05a674f504a7586c2620acc0985"> 48</a></span>&#160; <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> <a class="code" href="structMVDSTD__Config.html#a7ff4a05a674f504a7586c2620acc0985">inheight</a>; <span class="comment">///&lt; Input height.</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="structMVDSTD__Config.html#acc0efe6ef74f6700b2218802c82cccc7"> 49</a></span>&#160; <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> <a class="code" href="structMVDSTD__Config.html#acc0efe6ef74f6700b2218802c82cccc7">physaddr_colorconv_indata</a>; <span class="comment">///&lt; Physical address of color conversion input data.</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="structMVDSTD__Config.html#a9e57a4e3e06e25d3334800849b5b68c6"> 50</a></span>&#160; <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> <a class="code" href="structMVDSTD__Config.html#a9e57a4e3e06e25d3334800849b5b68c6">physaddr_colorconv_unk0</a>; <span class="comment">///&lt; Physical address used with color conversion.</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="structMVDSTD__Config.html#acecaaab60a580e14b217e47e515994d6"> 51</a></span>&#160; <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> <a class="code" href="structMVDSTD__Config.html#acecaaab60a580e14b217e47e515994d6">physaddr_colorconv_unk1</a>; <span class="comment">///&lt; Physical address used with color conversion.</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="structMVDSTD__Config.html#a130356fcf7652ac201118113d3f774e6"> 52</a></span>&#160; <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> <a class="code" href="structMVDSTD__Config.html#a130356fcf7652ac201118113d3f774e6">physaddr_colorconv_unk2</a>; <span class="comment">///&lt; Physical address used with color conversion.</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="structMVDSTD__Config.html#af44b408003b1f4ee13030715fca31b0a"> 53</a></span>&#160; <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> <a class="code" href="structMVDSTD__Config.html#af44b408003b1f4ee13030715fca31b0a">physaddr_colorconv_unk3</a>; <span class="comment">///&lt; Physical address used with color conversion.</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="structMVDSTD__Config.html#a283c0c326ad9d68ba5f368bbbd212772"> 54</a></span>&#160; <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> unk_x28[0x18&gt;&gt;2]; <span class="comment">///&lt; Unknown.</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="structMVDSTD__Config.html#a95647b6dc9d9e1c251877b002de9a54d"> 55</a></span>&#160; <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> <a class="code" href="structMVDSTD__Config.html#a95647b6dc9d9e1c251877b002de9a54d">enable_cropping</a>; <span class="comment">///&lt; Enables cropping with the input image when non-zero via the following 4 words.</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> input_crop_x_pos;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> input_crop_y_pos;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> input_crop_height;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> input_crop_width;</div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="structMVDSTD__Config.html#ac7f77cca83c7ebcef102a34d43a26d8f"> 60</a></span>&#160; <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> <a class="code" href="structMVDSTD__Config.html#ac7f77cca83c7ebcef102a34d43a26d8f">unk_x54</a>; <span class="comment">///&lt; Unknown.</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="structMVDSTD__Config.html#a55049ad1eaa7f0692f9ad9afe3929899"> 61</a></span>&#160; <a class="code" href="mvd_8h.html#ac91b4c4db9f9763dc972e0ca9dc70644">MVDSTD_OutputFormat</a> <a class="code" href="structMVDSTD__Config.html#a55049ad1eaa7f0692f9ad9afe3929899">output_type</a>; <span class="comment">///&lt; Output type.</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="structMVDSTD__Config.html#a3f4a9fe7df7591626302733dde425aca"> 62</a></span>&#160; <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> <a class="code" href="structMVDSTD__Config.html#a3f4a9fe7df7591626302733dde425aca">outwidth</a>; <span class="comment">///&lt; Output width.</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="structMVDSTD__Config.html#a8fd8bc0fe31eb652e2e503dacf9f8f12"> 63</a></span>&#160; <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> <a class="code" href="structMVDSTD__Config.html#a8fd8bc0fe31eb652e2e503dacf9f8f12">outheight</a>; <span class="comment">///&lt; Output height.</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="structMVDSTD__Config.html#a64d63a72354a8696d771d406339d1fc6"> 64</a></span>&#160; <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> <a class="code" href="structMVDSTD__Config.html#a64d63a72354a8696d771d406339d1fc6">physaddr_outdata0</a>; <span class="comment">///&lt; Physical address of output data.</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="structMVDSTD__Config.html#af5af9d1d8d63c3632c7b794d8226e9eb"> 65</a></span>&#160; <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> <a class="code" href="structMVDSTD__Config.html#af5af9d1d8d63c3632c7b794d8226e9eb">physaddr_outdata1</a>; <span class="comment">///&lt; Additional physical address for output data, only used when the output format type is value 0x00020001.</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="structMVDSTD__Config.html#aeee9227719fa0cedb5b5d70b67795487"> 66</a></span>&#160; <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> unk_x6c[0x98&gt;&gt;2]; <span class="comment">///&lt; Unknown.</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="structMVDSTD__Config.html#a2b08b2834be94d8e2de90f6fb11490fa"> 67</a></span>&#160; <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> <a class="code" href="structMVDSTD__Config.html#a2b08b2834be94d8e2de90f6fb11490fa">flag_x104</a>; <span class="comment">///&lt; This enables using the following 4 words when non-zero.</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="structMVDSTD__Config.html#ac40072f7499c766aea1727b617548233"> 68</a></span>&#160; <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> <a class="code" href="structMVDSTD__Config.html#ac40072f7499c766aea1727b617548233">output_x_pos</a>; <span class="comment">///&lt; Output X position in the output buffer.</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="structMVDSTD__Config.html#a005b173401eb063e9d6544cf66713b37"> 69</a></span>&#160; <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> <a class="code" href="structMVDSTD__Config.html#a005b173401eb063e9d6544cf66713b37">output_y_pos</a>; <span class="comment">///&lt; Same as above except for the Y pos.</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="structMVDSTD__Config.html#aef58ef873cb7c4bee41f101d5dec26f7"> 70</a></span>&#160; <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> <a class="code" href="structMVDSTD__Config.html#aef58ef873cb7c4bee41f101d5dec26f7">output_width_override</a>; <span class="comment">///&lt; Used for aligning the output width when larger than the output width. Overrides the output width when smaller than the output width.</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="structMVDSTD__Config.html#a14b39fd20aaf54fd20fc410596e63b2c"> 71</a></span>&#160; <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> <a class="code" href="structMVDSTD__Config.html#a14b39fd20aaf54fd20fc410596e63b2c">output_height_override</a>; <span class="comment">///&lt; Same as output_width_override except for the output height.</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> unk_x118;</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;} <a class="code" href="structMVDSTD__Config.html">MVDSTD_Config</a>;</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; </div>
<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="structMVDSTD__ProcessNALUnitOut.html"> 75</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> end_vaddr;<span class="comment">//&quot;End-address of the processed NAL-unit(internal MVD heap vaddr).&quot;</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> end_physaddr;<span class="comment">//&quot;End-address of the processed NAL-unit(physaddr following the input physaddr).&quot;</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> remaining_size;<span class="comment">//&quot;Total remaining unprocessed input data. Buffer_end_pos=bufsize-&lt;this value&gt;.&quot;</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;} <a class="code" href="structMVDSTD__ProcessNALUnitOut.html">MVDSTD_ProcessNALUnitOut</a>;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; </div>
<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="structMVDSTD__OutputBuffersEntry.html"> 81</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordtype">void</span>* outdata0;<span class="comment">//Linearmem vaddr equivalent to config *_outdata0.</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordtype">void</span>* outdata1;<span class="comment">//Linearmem vaddr equivalent to config *_outdata1.</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;} <a class="code" href="structMVDSTD__OutputBuffersEntry.html">MVDSTD_OutputBuffersEntry</a>;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; </div>
<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="structMVDSTD__OutputBuffersEntryList.html"> 86</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> total_entries;<span class="comment">//Total actual used entries below.</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <a class="code" href="structMVDSTD__OutputBuffersEntry.html">MVDSTD_OutputBuffersEntry</a> entries[17];</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;} <a class="code" href="structMVDSTD__OutputBuffersEntryList.html">MVDSTD_OutputBuffersEntryList</a>;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="comment">/// This can be used to override the default input values for MVDSTD commands during initialization with video-processing. The default for these fields are all-zero, except for cmd1b_inval which is 1. See also here: https://www.3dbrew.org/wiki/MVD_Services</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="structMVDSTD__InitStruct.html"> 92</a></span>&#160;<span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <a class="code" href="types_8h.html#a9e382f207c65ca13ab4ae98363aeda80">s8</a> cmd5_inval0, cmd5_inval1, cmd5_inval2;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> cmd5_inval3;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; </div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> cmd1b_inval;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;} <a class="code" href="structMVDSTD__InitStruct.html">MVDSTD_InitStruct</a>;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"> * @brief Initializes MVDSTD.</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> * @param mode Mode to initialize MVDSTD to.</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> * @param input_type Type of input to process.</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> * @param output_type Type of output to produce.</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> * @param size Size of the work buffer, MVD_DEFAULT_WORKBUF_SIZE can be used for this. Only used when type == MVDMODE_VIDEOPROCESSING.</span></div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> * @param initstruct Optional MVDSTD_InitStruct, this should be NULL normally.</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="mvd_8h.html#ab03653fc6535a3eea8df35fd232a6074"> 107</a></span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="mvd_8h.html#ab03653fc6535a3eea8df35fd232a6074">mvdstdInit</a>(<a class="code" href="mvd_8h.html#a3a1b3742822153a4f62c1f79d228a861">MVDSTD_Mode</a> mode, <a class="code" href="mvd_8h.html#abcd3d62338d21a3b7d26bd96fd850f29">MVDSTD_InputFormat</a> input_type, <a class="code" href="mvd_8h.html#ac91b4c4db9f9763dc972e0ca9dc70644">MVDSTD_OutputFormat</a> output_type, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> size, <a class="code" href="structMVDSTD__InitStruct.html">MVDSTD_InitStruct</a> *initstruct);</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="comment">/// Shuts down MVDSTD.</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="mvd_8h.html#a0268fc860c200937a3519b8aba79af95"> 110</a></span>&#160;<span class="comment"></span><span class="keywordtype">void</span> <a class="code" href="mvd_8h.html#a0268fc860c200937a3519b8aba79af95">mvdstdExit</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"> * @brief Generates a default MVDSTD configuration.</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> * @param config Pointer to output the generated config to.</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> * @param input_width Input width.</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> * @param input_height Input height.</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"> * @param output_width Output width.</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> * @param output_height Output height.</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * @param vaddr_colorconv_indata Virtual address of the color conversion input data.</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> * @param vaddr_outdata0 Virtual address of the output data.</span></div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"> * @param vaddr_outdata1 Additional virtual address for output data, only used when the output format type is value 0x00020001.</span></div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="mvd_8h.html#a8d335b785a9731e0184c5975c59ed1d8"> 123</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="mvd_8h.html#a8d335b785a9731e0184c5975c59ed1d8">mvdstdGenerateDefaultConfig</a>(<a class="code" href="structMVDSTD__Config.html">MVDSTD_Config</a>*config, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> input_width, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> input_height, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> output_width, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> output_height, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *vaddr_colorconv_indata, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *vaddr_outdata0, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *vaddr_outdata1);</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * @brief Run color-format-conversion.</span></div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> * @param config Pointer to the configuration to use.</span></div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="mvd_8h.html#af0dbfd085a2f01e66820d2883a5e6231"> 129</a></span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="mvd_8h.html#af0dbfd085a2f01e66820d2883a5e6231">mvdstdConvertImage</a>(<a class="code" href="structMVDSTD__Config.html">MVDSTD_Config</a>* config);</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> * @brief Processes a video frame(specifically a NAL-unit).</span></div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> * @param inbuf_vaddr Input NAL-unit starting with the 3-byte &quot;00 00 01&quot; prefix. Must be located in linearmem.</span></div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> * @param size Size of the input buffer.</span></div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> * @param flag See here regarding this input flag: https://www.3dbrew.org/wiki/MVDSTD:ProcessNALUnit</span></div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> * @param out Optional output MVDSTD_ProcessNALUnitOut structure.</span></div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="mvd_8h.html#afa23e5c76c315a032cf010a335669015"> 138</a></span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="mvd_8h.html#afa23e5c76c315a032cf010a335669015">mvdstdProcessVideoFrame</a>(<span class="keywordtype">void</span>* inbuf_vaddr, <span class="keywordtype">size_t</span> size, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> flag, <a class="code" href="structMVDSTD__ProcessNALUnitOut.html">MVDSTD_ProcessNALUnitOut</a> *out);</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="comment"> * @brief Renders the video frame.</span></div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> * @param config Optional pointer to the configuration to use. When NULL, MVDSTD_SetConfig() should have been used previously for this video.</span></div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> * @param wait When true, wait for rendering to finish. When false, you can manually call this function repeatedly until it stops returning MVD_STATUS_BUSY.</span></div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="mvd_8h.html#a540d504cc4bbe5f199bc32d32a5a87e1"> 145</a></span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="mvd_8h.html#a540d504cc4bbe5f199bc32d32a5a87e1">mvdstdRenderVideoFrame</a>(<a class="code" href="structMVDSTD__Config.html">MVDSTD_Config</a>* config, <span class="keywordtype">bool</span> wait);</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"> * @brief Sets the current configuration of MVDSTD.</span></div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"> * @param config Pointer to the configuration to set.</span></div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="mvd_8h.html#a0d0db5e2224e50518ceb498847a0f17b"> 151</a></span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="mvd_8h.html#a0d0db5e2224e50518ceb498847a0f17b">MVDSTD_SetConfig</a>(<a class="code" href="structMVDSTD__Config.html">MVDSTD_Config</a>* config);</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"> * @brief New3DS Internet Browser doesn&#39;t use this. Once done, rendered frames will be written to the output buffers specified by the entrylist instead of the output specified by configuration. See here: https://www.3dbrew.org/wiki/MVDSTD:SetupOutputBuffers</span></div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> * @param entrylist Input entrylist.</span></div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> * @param bufsize Size of each buffer from the entrylist.</span></div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="mvd_8h.html#a200b8c00ddffc127e6d7f47152974d54"> 158</a></span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="mvd_8h.html#a200b8c00ddffc127e6d7f47152974d54">mvdstdSetupOutputBuffers</a>(<a class="code" href="structMVDSTD__OutputBuffersEntryList.html">MVDSTD_OutputBuffersEntryList</a> *entrylist, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> bufsize);</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> * @brief New3DS Internet Browser doesn&#39;t use this. This overrides the entry0 output buffers originally setup by mvdstdSetupOutputBuffers(). See also here: https://www.3dbrew.org/wiki/MVDSTD:OverrideOutputBuffers</span></div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> * @param cur_outdata0 Linearmem vaddr. The current outdata0 for this entry must match this value.</span></div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="comment"> * @param cur_outdata1 Linearmem vaddr. The current outdata1 for this entry must match this value.</span></div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> * @param new_outdata0 Linearmem vaddr. This is the new address to use for outaddr0.</span></div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> * @param new_outdata1 Linearmem vaddr. This is the new address to use for outaddr1.</span></div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="mvd_8h.html#adb7636ba2c6192d82923f13b6d4c73ea"> 167</a></span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="mvd_8h.html#adb7636ba2c6192d82923f13b6d4c73ea">mvdstdOverrideOutputBuffers</a>(<span class="keywordtype">void</span>* cur_outdata0, <span class="keywordtype">void</span>* cur_outdata1, <span class="keywordtype">void</span>* new_outdata0, <span class="keywordtype">void</span>* new_outdata1);</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; </div>
<div class="ttc" id="amvd_8h_html_a0268fc860c200937a3519b8aba79af95"><div class="ttname"><a href="mvd_8h.html#a0268fc860c200937a3519b8aba79af95">mvdstdExit</a></div><div class="ttdeci">void mvdstdExit(void)</div><div class="ttdoc">Shuts down MVDSTD.</div></div>
<div class="ttc" id="amvd_8h_html_a0d0db5e2224e50518ceb498847a0f17b"><div class="ttname"><a href="mvd_8h.html#a0d0db5e2224e50518ceb498847a0f17b">MVDSTD_SetConfig</a></div><div class="ttdeci">Result MVDSTD_SetConfig(MVDSTD_Config *config)</div><div class="ttdoc">Sets the current configuration of MVDSTD.</div></div>
<div class="ttc" id="amvd_8h_html_a200b8c00ddffc127e6d7f47152974d54"><div class="ttname"><a href="mvd_8h.html#a200b8c00ddffc127e6d7f47152974d54">mvdstdSetupOutputBuffers</a></div><div class="ttdeci">Result mvdstdSetupOutputBuffers(MVDSTD_OutputBuffersEntryList *entrylist, u32 bufsize)</div><div class="ttdoc">New3DS Internet Browser doesn't use this.</div></div>
<div class="ttc" id="amvd_8h_html_a3a1b3742822153a4f62c1f79d228a861"><div class="ttname"><a href="mvd_8h.html#a3a1b3742822153a4f62c1f79d228a861">MVDSTD_Mode</a></div><div class="ttdeci">MVDSTD_Mode</div><div class="ttdoc">Processing mode.</div><div class="ttdef"><b>Definition:</b> mvd.h:24</div></div>
<div class="ttc" id="amvd_8h_html_a3a1b3742822153a4f62c1f79d228a861a4a87a822d91b28e9468c0147c90be30f"><div class="ttname"><a href="mvd_8h.html#a3a1b3742822153a4f62c1f79d228a861a4a87a822d91b28e9468c0147c90be30f">MVDMODE_VIDEOPROCESSING</a></div><div class="ttdeci">@ MVDMODE_VIDEOPROCESSING</div><div class="ttdoc">Processing video.</div><div class="ttdef"><b>Definition:</b> mvd.h:26</div></div>
<div class="ttc" id="amvd_8h_html_a3a1b3742822153a4f62c1f79d228a861a60d87a7f2151cd67f8b0710ec39f7583"><div class="ttname"><a href="mvd_8h.html#a3a1b3742822153a4f62c1f79d228a861a60d87a7f2151cd67f8b0710ec39f7583">MVDMODE_COLORFORMATCONV</a></div><div class="ttdeci">@ MVDMODE_COLORFORMATCONV</div><div class="ttdoc">Converting color formats.</div><div class="ttdef"><b>Definition:</b> mvd.h:25</div></div>
<div class="ttc" id="amvd_8h_html_a540d504cc4bbe5f199bc32d32a5a87e1"><div class="ttname"><a href="mvd_8h.html#a540d504cc4bbe5f199bc32d32a5a87e1">mvdstdRenderVideoFrame</a></div><div class="ttdeci">Result mvdstdRenderVideoFrame(MVDSTD_Config *config, bool wait)</div><div class="ttdoc">Renders the video frame.</div></div>
<div class="ttc" id="amvd_8h_html_a8d335b785a9731e0184c5975c59ed1d8"><div class="ttname"><a href="mvd_8h.html#a8d335b785a9731e0184c5975c59ed1d8">mvdstdGenerateDefaultConfig</a></div><div class="ttdeci">void mvdstdGenerateDefaultConfig(MVDSTD_Config *config, u32 input_width, u32 input_height, u32 output_width, u32 output_height, u32 *vaddr_colorconv_indata, u32 *vaddr_outdata0, u32 *vaddr_outdata1)</div><div class="ttdoc">Generates a default MVDSTD configuration.</div></div>
<div class="ttc" id="amvd_8h_html_ab03653fc6535a3eea8df35fd232a6074"><div class="ttname"><a href="mvd_8h.html#ab03653fc6535a3eea8df35fd232a6074">mvdstdInit</a></div><div class="ttdeci">Result mvdstdInit(MVDSTD_Mode mode, MVDSTD_InputFormat input_type, MVDSTD_OutputFormat output_type, u32 size, MVDSTD_InitStruct *initstruct)</div><div class="ttdoc">Initializes MVDSTD.</div></div>
<div class="ttc" id="amvd_8h_html_abcd3d62338d21a3b7d26bd96fd850f29"><div class="ttname"><a href="mvd_8h.html#abcd3d62338d21a3b7d26bd96fd850f29">MVDSTD_InputFormat</a></div><div class="ttdeci">MVDSTD_InputFormat</div><div class="ttdoc">Input format.</div><div class="ttdef"><b>Definition:</b> mvd.h:30</div></div>
<div class="ttc" id="amvd_8h_html_abcd3d62338d21a3b7d26bd96fd850f29a8487699e0ef9c80df41d1ae321a509ac"><div class="ttname"><a href="mvd_8h.html#abcd3d62338d21a3b7d26bd96fd850f29a8487699e0ef9c80df41d1ae321a509ac">MVD_INPUT_H264</a></div><div class="ttdeci">@ MVD_INPUT_H264</div><div class="ttdoc">H264.</div><div class="ttdef"><b>Definition:</b> mvd.h:32</div></div>
<div class="ttc" id="amvd_8h_html_abcd3d62338d21a3b7d26bd96fd850f29aacf22aec18ff7e379b7b1578f9e10b12"><div class="ttname"><a href="mvd_8h.html#abcd3d62338d21a3b7d26bd96fd850f29aacf22aec18ff7e379b7b1578f9e10b12">MVD_INPUT_YUYV422</a></div><div class="ttdeci">@ MVD_INPUT_YUYV422</div><div class="ttdoc">YUYV422.</div><div class="ttdef"><b>Definition:</b> mvd.h:31</div></div>
<div class="ttc" id="amvd_8h_html_ac91b4c4db9f9763dc972e0ca9dc70644"><div class="ttname"><a href="mvd_8h.html#ac91b4c4db9f9763dc972e0ca9dc70644">MVDSTD_OutputFormat</a></div><div class="ttdeci">MVDSTD_OutputFormat</div><div class="ttdoc">Output format.</div><div class="ttdef"><b>Definition:</b> mvd.h:36</div></div>
<div class="ttc" id="amvd_8h_html_ac91b4c4db9f9763dc972e0ca9dc70644a46a87383a22fc66ee051a77455f774b3"><div class="ttname"><a href="mvd_8h.html#ac91b4c4db9f9763dc972e0ca9dc70644a46a87383a22fc66ee051a77455f774b3">MVD_OUTPUT_RGB565</a></div><div class="ttdeci">@ MVD_OUTPUT_RGB565</div><div class="ttdoc">RGB565.</div><div class="ttdef"><b>Definition:</b> mvd.h:39</div></div>
<div class="ttc" id="amvd_8h_html_ac91b4c4db9f9763dc972e0ca9dc70644abc211cc1ddeb33aa942e33bbada487b6"><div class="ttname"><a href="mvd_8h.html#ac91b4c4db9f9763dc972e0ca9dc70644abc211cc1ddeb33aa942e33bbada487b6">MVD_OUTPUT_BGR565</a></div><div class="ttdeci">@ MVD_OUTPUT_BGR565</div><div class="ttdoc">BGR565.</div><div class="ttdef"><b>Definition:</b> mvd.h:38</div></div>
<div class="ttc" id="amvd_8h_html_ac91b4c4db9f9763dc972e0ca9dc70644ac3c8c4b72f05742531a4135ccd80e71e"><div class="ttname"><a href="mvd_8h.html#ac91b4c4db9f9763dc972e0ca9dc70644ac3c8c4b72f05742531a4135ccd80e71e">MVD_OUTPUT_YUYV422</a></div><div class="ttdeci">@ MVD_OUTPUT_YUYV422</div><div class="ttdoc">YUYV422.</div><div class="ttdef"><b>Definition:</b> mvd.h:37</div></div>
<div class="ttc" id="amvd_8h_html_adb7636ba2c6192d82923f13b6d4c73ea"><div class="ttname"><a href="mvd_8h.html#adb7636ba2c6192d82923f13b6d4c73ea">mvdstdOverrideOutputBuffers</a></div><div class="ttdeci">Result mvdstdOverrideOutputBuffers(void *cur_outdata0, void *cur_outdata1, void *new_outdata0, void *new_outdata1)</div><div class="ttdoc">New3DS Internet Browser doesn't use this.</div></div>
<div class="ttc" id="amvd_8h_html_af0dbfd085a2f01e66820d2883a5e6231"><div class="ttname"><a href="mvd_8h.html#af0dbfd085a2f01e66820d2883a5e6231">mvdstdConvertImage</a></div><div class="ttdeci">Result mvdstdConvertImage(MVDSTD_Config *config)</div><div class="ttdoc">Run color-format-conversion.</div></div>
<div class="ttc" id="amvd_8h_html_afa23e5c76c315a032cf010a335669015"><div class="ttname"><a href="mvd_8h.html#afa23e5c76c315a032cf010a335669015">mvdstdProcessVideoFrame</a></div><div class="ttdeci">Result mvdstdProcessVideoFrame(void *inbuf_vaddr, size_t size, u32 flag, MVDSTD_ProcessNALUnitOut *out)</div><div class="ttdoc">Processes a video frame(specifically a NAL-unit).</div></div>
<div class="ttc" id="astructMVDSTD__Config_html"><div class="ttname"><a href="structMVDSTD__Config.html">MVDSTD_Config</a></div><div class="ttdoc">Processing configuration.</div><div class="ttdef"><b>Definition:</b> mvd.h:43</div></div>
<div class="ttc" id="astructMVDSTD__Config_html_a005b173401eb063e9d6544cf66713b37"><div class="ttname"><a href="structMVDSTD__Config.html#a005b173401eb063e9d6544cf66713b37">MVDSTD_Config::output_y_pos</a></div><div class="ttdeci">u32 output_y_pos</div><div class="ttdoc">Same as above except for the Y pos.</div><div class="ttdef"><b>Definition:</b> mvd.h:69</div></div>
<div class="ttc" id="astructMVDSTD__Config_html_a044475bde408bf873f9a6da6b3bd7ecc"><div class="ttname"><a href="structMVDSTD__Config.html#a044475bde408bf873f9a6da6b3bd7ecc">MVDSTD_Config::unk_x04</a></div><div class="ttdeci">u32 unk_x04</div><div class="ttdoc">Unknown.</div><div class="ttdef"><b>Definition:</b> mvd.h:45</div></div>
<div class="ttc" id="astructMVDSTD__Config_html_a130356fcf7652ac201118113d3f774e6"><div class="ttname"><a href="structMVDSTD__Config.html#a130356fcf7652ac201118113d3f774e6">MVDSTD_Config::physaddr_colorconv_unk2</a></div><div class="ttdeci">u32 physaddr_colorconv_unk2</div><div class="ttdoc">Physical address used with color conversion.</div><div class="ttdef"><b>Definition:</b> mvd.h:52</div></div>
<div class="ttc" id="astructMVDSTD__Config_html_a14b39fd20aaf54fd20fc410596e63b2c"><div class="ttname"><a href="structMVDSTD__Config.html#a14b39fd20aaf54fd20fc410596e63b2c">MVDSTD_Config::output_height_override</a></div><div class="ttdeci">u32 output_height_override</div><div class="ttdoc">Same as output_width_override except for the output height.</div><div class="ttdef"><b>Definition:</b> mvd.h:71</div></div>
<div class="ttc" id="astructMVDSTD__Config_html_a171165800b9d0bd0e4778c0bbd52f93c"><div class="ttname"><a href="structMVDSTD__Config.html#a171165800b9d0bd0e4778c0bbd52f93c">MVDSTD_Config::input_type</a></div><div class="ttdeci">MVDSTD_InputFormat input_type</div><div class="ttdoc">Input type.</div><div class="ttdef"><b>Definition:</b> mvd.h:44</div></div>
<div class="ttc" id="astructMVDSTD__Config_html_a2b08b2834be94d8e2de90f6fb11490fa"><div class="ttname"><a href="structMVDSTD__Config.html#a2b08b2834be94d8e2de90f6fb11490fa">MVDSTD_Config::flag_x104</a></div><div class="ttdeci">u32 flag_x104</div><div class="ttdoc">This enables using the following 4 words when non-zero.</div><div class="ttdef"><b>Definition:</b> mvd.h:67</div></div>
<div class="ttc" id="astructMVDSTD__Config_html_a3f4a9fe7df7591626302733dde425aca"><div class="ttname"><a href="structMVDSTD__Config.html#a3f4a9fe7df7591626302733dde425aca">MVDSTD_Config::outwidth</a></div><div class="ttdeci">u32 outwidth</div><div class="ttdoc">Output width.</div><div class="ttdef"><b>Definition:</b> mvd.h:62</div></div>
<div class="ttc" id="astructMVDSTD__Config_html_a55049ad1eaa7f0692f9ad9afe3929899"><div class="ttname"><a href="structMVDSTD__Config.html#a55049ad1eaa7f0692f9ad9afe3929899">MVDSTD_Config::output_type</a></div><div class="ttdeci">MVDSTD_OutputFormat output_type</div><div class="ttdoc">Output type.</div><div class="ttdef"><b>Definition:</b> mvd.h:61</div></div>
<div class="ttc" id="astructMVDSTD__Config_html_a64d63a72354a8696d771d406339d1fc6"><div class="ttname"><a href="structMVDSTD__Config.html#a64d63a72354a8696d771d406339d1fc6">MVDSTD_Config::physaddr_outdata0</a></div><div class="ttdeci">u32 physaddr_outdata0</div><div class="ttdoc">Physical address of output data.</div><div class="ttdef"><b>Definition:</b> mvd.h:64</div></div>
<div class="ttc" id="astructMVDSTD__Config_html_a7ff4a05a674f504a7586c2620acc0985"><div class="ttname"><a href="structMVDSTD__Config.html#a7ff4a05a674f504a7586c2620acc0985">MVDSTD_Config::inheight</a></div><div class="ttdeci">u32 inheight</div><div class="ttdoc">Input height.</div><div class="ttdef"><b>Definition:</b> mvd.h:48</div></div>
<div class="ttc" id="astructMVDSTD__Config_html_a8c6ca76186b85dee3ac2585df2c3af94"><div class="ttname"><a href="structMVDSTD__Config.html#a8c6ca76186b85dee3ac2585df2c3af94">MVDSTD_Config::unk_x08</a></div><div class="ttdeci">u32 unk_x08</div><div class="ttdoc">Unknown. Referred to as &quot;H264 range&quot; in SKATER.</div><div class="ttdef"><b>Definition:</b> mvd.h:46</div></div>
<div class="ttc" id="astructMVDSTD__Config_html_a8fd8bc0fe31eb652e2e503dacf9f8f12"><div class="ttname"><a href="structMVDSTD__Config.html#a8fd8bc0fe31eb652e2e503dacf9f8f12">MVDSTD_Config::outheight</a></div><div class="ttdeci">u32 outheight</div><div class="ttdoc">Output height.</div><div class="ttdef"><b>Definition:</b> mvd.h:63</div></div>
<div class="ttc" id="astructMVDSTD__Config_html_a95647b6dc9d9e1c251877b002de9a54d"><div class="ttname"><a href="structMVDSTD__Config.html#a95647b6dc9d9e1c251877b002de9a54d">MVDSTD_Config::enable_cropping</a></div><div class="ttdeci">u32 enable_cropping</div><div class="ttdoc">Enables cropping with the input image when non-zero via the following 4 words.</div><div class="ttdef"><b>Definition:</b> mvd.h:55</div></div>
<div class="ttc" id="astructMVDSTD__Config_html_a9e57a4e3e06e25d3334800849b5b68c6"><div class="ttname"><a href="structMVDSTD__Config.html#a9e57a4e3e06e25d3334800849b5b68c6">MVDSTD_Config::physaddr_colorconv_unk0</a></div><div class="ttdeci">u32 physaddr_colorconv_unk0</div><div class="ttdoc">Physical address used with color conversion.</div><div class="ttdef"><b>Definition:</b> mvd.h:50</div></div>
<div class="ttc" id="astructMVDSTD__Config_html_ac40072f7499c766aea1727b617548233"><div class="ttname"><a href="structMVDSTD__Config.html#ac40072f7499c766aea1727b617548233">MVDSTD_Config::output_x_pos</a></div><div class="ttdeci">u32 output_x_pos</div><div class="ttdoc">Output X position in the output buffer.</div><div class="ttdef"><b>Definition:</b> mvd.h:68</div></div>
<div class="ttc" id="astructMVDSTD__Config_html_ac7f77cca83c7ebcef102a34d43a26d8f"><div class="ttname"><a href="structMVDSTD__Config.html#ac7f77cca83c7ebcef102a34d43a26d8f">MVDSTD_Config::unk_x54</a></div><div class="ttdeci">u32 unk_x54</div><div class="ttdoc">Unknown.</div><div class="ttdef"><b>Definition:</b> mvd.h:60</div></div>
<div class="ttc" id="astructMVDSTD__Config_html_acc0efe6ef74f6700b2218802c82cccc7"><div class="ttname"><a href="structMVDSTD__Config.html#acc0efe6ef74f6700b2218802c82cccc7">MVDSTD_Config::physaddr_colorconv_indata</a></div><div class="ttdeci">u32 physaddr_colorconv_indata</div><div class="ttdoc">Physical address of color conversion input data.</div><div class="ttdef"><b>Definition:</b> mvd.h:49</div></div>
<div class="ttc" id="astructMVDSTD__Config_html_acecaaab60a580e14b217e47e515994d6"><div class="ttname"><a href="structMVDSTD__Config.html#acecaaab60a580e14b217e47e515994d6">MVDSTD_Config::physaddr_colorconv_unk1</a></div><div class="ttdeci">u32 physaddr_colorconv_unk1</div><div class="ttdoc">Physical address used with color conversion.</div><div class="ttdef"><b>Definition:</b> mvd.h:51</div></div>
<div class="ttc" id="astructMVDSTD__Config_html_ae0e0ca7079f9e3d880683595b1ff5be9"><div class="ttname"><a href="structMVDSTD__Config.html#ae0e0ca7079f9e3d880683595b1ff5be9">MVDSTD_Config::inwidth</a></div><div class="ttdeci">u32 inwidth</div><div class="ttdoc">Input width.</div><div class="ttdef"><b>Definition:</b> mvd.h:47</div></div>
<div class="ttc" id="astructMVDSTD__Config_html_aef58ef873cb7c4bee41f101d5dec26f7"><div class="ttname"><a href="structMVDSTD__Config.html#aef58ef873cb7c4bee41f101d5dec26f7">MVDSTD_Config::output_width_override</a></div><div class="ttdeci">u32 output_width_override</div><div class="ttdoc">Used for aligning the output width when larger than the output width. Overrides the output width when...</div><div class="ttdef"><b>Definition:</b> mvd.h:70</div></div>
<div class="ttc" id="astructMVDSTD__Config_html_af44b408003b1f4ee13030715fca31b0a"><div class="ttname"><a href="structMVDSTD__Config.html#af44b408003b1f4ee13030715fca31b0a">MVDSTD_Config::physaddr_colorconv_unk3</a></div><div class="ttdeci">u32 physaddr_colorconv_unk3</div><div class="ttdoc">Physical address used with color conversion.</div><div class="ttdef"><b>Definition:</b> mvd.h:53</div></div>
<div class="ttc" id="astructMVDSTD__Config_html_af5af9d1d8d63c3632c7b794d8226e9eb"><div class="ttname"><a href="structMVDSTD__Config.html#af5af9d1d8d63c3632c7b794d8226e9eb">MVDSTD_Config::physaddr_outdata1</a></div><div class="ttdeci">u32 physaddr_outdata1</div><div class="ttdoc">Additional physical address for output data, only used when the output format type is value 0x0002000...</div><div class="ttdef"><b>Definition:</b> mvd.h:65</div></div>
<div class="ttc" id="astructMVDSTD__InitStruct_html"><div class="ttname"><a href="structMVDSTD__InitStruct.html">MVDSTD_InitStruct</a></div><div class="ttdoc">This can be used to override the default input values for MVDSTD commands during initialization with ...</div><div class="ttdef"><b>Definition:</b> mvd.h:92</div></div>
<div class="ttc" id="astructMVDSTD__OutputBuffersEntryList_html"><div class="ttname"><a href="structMVDSTD__OutputBuffersEntryList.html">MVDSTD_OutputBuffersEntryList</a></div><div class="ttdef"><b>Definition:</b> mvd.h:86</div></div>
<div class="ttc" id="astructMVDSTD__OutputBuffersEntry_html"><div class="ttname"><a href="structMVDSTD__OutputBuffersEntry.html">MVDSTD_OutputBuffersEntry</a></div><div class="ttdef"><b>Definition:</b> mvd.h:81</div></div>
<div class="ttc" id="astructMVDSTD__ProcessNALUnitOut_html"><div class="ttname"><a href="structMVDSTD__ProcessNALUnitOut.html">MVDSTD_ProcessNALUnitOut</a></div><div class="ttdef"><b>Definition:</b> mvd.h:75</div></div>
<div class="ttc" id="atypes_8h_html_a92c50087ca0e64fa93fc59402c55f8ca"><div class="ttname"><a href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a></div><div class="ttdeci">uint8_t u8</div><div class="ttdoc">would be nice if newlib had this already</div><div class="ttdef"><b>Definition:</b> types.h:21</div></div>
<div class="ttc" id="atypes_8h_html_a9e382f207c65ca13ab4ae98363aeda80"><div class="ttname"><a href="types_8h.html#a9e382f207c65ca13ab4ae98363aeda80">s8</a></div><div class="ttdeci">int8_t s8</div><div class="ttdoc">8-bit signed integer</div><div class="ttdef"><b>Definition:</b> types.h:26</div></div>
<div class="ttc" id="atypes_8h_html_ac830bf5a4f2cf8273f61ab99a46cf163"><div class="ttname"><a href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a></div><div class="ttdeci">s32 Result</div><div class="ttdoc">Function result.</div><div class="ttdef"><b>Definition:</b> types.h:42</div></div>
<div class="ttc" id="atypes_8h_html_afaa62991928fb9fb18ff0db62a040aba"><div class="ttname"><a href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a></div><div class="ttdeci">uint32_t u32</div><div class="ttdoc">32-bit unsigned integer</div><div class="ttdef"><b>Definition:</b> types.h:23</div></div>
</div><!-- fragment --></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>