]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - mfp/cedev.git/blob - packages/ti/sdo/ce/video/IVIDENC.xdc
BIOS: Initial commit of BIOS-only content
[mfp/cedev.git] / packages / ti / sdo / ce / video / IVIDENC.xdc
1 /*
2  * Copyright (c) 2013, Texas Instruments Incorporated
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  *
9  * *  Redistributions of source code must retain the above copyright
10  *    notice, this list of conditions and the following disclaimer.
11  *
12  * *  Redistributions in binary form must reproduce the above copyright
13  *    notice, this list of conditions and the following disclaimer in the
14  *    documentation and/or other materials provided with the distribution.
15  *
16  * *  Neither the name of Texas Instruments Incorporated nor the names of
17  *    its contributors may be used to endorse or promote products derived
18  *    from this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  *
32  */
33 /*!
34  *  ======== IVIDENC ========
35  *  IVIDENC-compliant video encoder interface
36  *
37  *  All IVIDENC-compliant video encoder modules must implement this
38  *  interface.
39  */
40 metaonly interface IVIDENC inherits ti.sdo.ce.ICodec
41 {
42     override config String serverFxns = "VIDENC_SKEL";
43     override config String stubFxns = "VIDENC_STUBS";
45     override readonly config Int rpcProtocolVersion = 3;
47     override readonly config Bool codecClassConfigurable = true;
49     /*!
50      *  ======== manageInBufsCache =======
51      *  Codec Class configuration param
52      *
53      *  Determines whether cache will be managed on the DSP for each of the
54      *  (up to 16) input buffers given to the codec's "process()" call.
55      *
56      *  If this flag is set to "false" for one or more
57      *  elements, the cache for the corresponding input buffer will not be
58      *  invalidated before the process() call. Skipping unnecessary cache
59      *  invalidation improves performance, especially if a buffer is large.
60      *
61      *  (If element "i" in this array is set to true, cache for inBufs[i] will
62      *  be invalidated only if the buffer is supplied, of course.)
63      *
64      *  For example, if you know that a particular codec of this class always
65      *  reads the data from its inBufs[1] buffer only via DMA, you can set
66      *  manageInBufsCache[1] = false;
67      */
68     config Bool manageInBufsCache[ 16 ] = [
69         true, true, true, true, true, true, true, true,
70         true, true, true, true, true, true, true, true,
71     ];
73     /*!
74      *  ======== manageOutBufsCache =======
75      *  Codec Class configuration param
76      *
77      *  Determines whether cache will be managed on the DSP for each of the
78      *  (up to 16) output buffers given to the codec's "process()" call.
79      *
80      *  If this flag is set to "false" for one or more
81      *  elements, the cache for the corresponding output buffer will not be
82      *  invalidated before the process() call nor flushed after the process()
83      *  call. Skipping unnecessary cache invalidation and flushing improves
84      *  performance.
85      *
86      *  For example, if you know that a particular codec of this class always
87      *  writes the data to its outBufs[2] buffer only via DMA, you can set
88      *  manageOutBufsCache[2] = false;
89      */
90     config Bool manageOutBufsCache[ 16 ] = [
91         true, true, true, true, true, true, true, true,
92         true, true, true, true, true, true, true, true,
93     ];
95     /*!
96      *  ======== manageReconBufsCache =======
97      *  Codec Class configuration param
98      *
99      *  Determines whether cache will be managed on the DSP for each of the
100      *  (up to 16) reconstruction buffers given to the codec's "process()" call.
101      *
102      *  If this flag is set to "false" for one or more
103      *  elements, the cache for the corresponding recon buffer will not be
104      *  flushed after the process() call. Skipping unnecessary cache
105      *  flushing improves performance.
106      *
107      *  If you are uninterested in the recon buffers, specify this setting in
108      *  your configuration file:
109      *      <your video encoder codec symbol>.manageReconBufsCache[ 16 ] = [
110      *          false, false, false, false, false, false, false, false,
111      *          false, false, false, false, false, false, false, false,
112      *      ];
113     ];
114      */
115     config Bool manageReconBufsCache[ 16 ] = [
116         true, true, true, true, true, true, true, true,
117         true, true, true, true, true, true, true, true,
118     ];