1 %%{
2 /*
3 * Copyright (c) 2013, Texas Instruments Incorporated
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 *
10 * * Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 *
13 * * Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the distribution.
16 *
17 * * Neither the name of Texas Instruments Incorporated nor the names of
18 * its contributors may be used to endorse or promote products derived
19 * from this software without specific prior written permission.
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
23 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
24 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
25 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
26 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
27 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
28 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
29 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
30 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
31 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 *
33 */
34 %%}
35 %%{
36 /*
37 * Generate run-time config settings for VISA codecs of this type
38 */
39 %%}
41 % for (var codec in this.codecsList) {
42 /* this data structure has codec-specific names and values, but class-specific
43 * fields -- it's indentical to struct IVIDDEC2_CodecClassConfig from viddec2.h.
44 * Its name doesn't matter, only that the address of data is captured in the
45 * "codecClassConfig" field of the algorithm description
46 */
47 struct `codec`_CodecClassConfig {
48 Bool manageInBufsCache [ XDM_MAX_IO_BUFFERS ];
49 Bool manageOutBufsCache [ XDM_MAX_IO_BUFFERS ];
50 } `codec`_codecClassConfig = {
51 %
52 % var manageInBufsCache = this.codecsList[ codec ].manageInBufsCache;
53 % var manageOutBufsCache = this.codecsList[ codec ].manageOutBufsCache;
54 % var sin = "{";
55 % var sout = "{";
56 % for (var j = 0; j < manageInBufsCache.length; j++) {
57 % sin += (manageInBufsCache[j] ? "TRUE" : "FALSE") + ",";
58 % sout += (manageOutBufsCache[j] ? "TRUE" : "FALSE") + ",";
59 % }
60 % sin = sin.replace( /,$/, "}" );
61 % sout = sout.replace( /,$/, "}" );
62 `sin`,
63 `sout`
64 };
65 % }