1 2 3 4
5
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
38 /*!
39 * ======== IVIDENC ========
40 * IVIDENC-compliant video encoder interface
41 *
42 * All IVIDENC-compliant video encoder modules must implement this
43 * interface.
44 */
45 metaonly interface IVIDENC inherits ti.sdo.ce.ICodec
46 {
47 override config String serverFxns = "VIDENC_SKEL";
48 override config String stubFxns = "VIDENC_STUBS";
49
50 override readonly config Int rpcProtocolVersion = 3;
51
52 override readonly config Bool codecClassConfigurable = true;
53
54 /*!
55 * ======== manageInBufsCache =======
56 * Codec Class configuration param
57 *
58 * Determines whether cache will be managed on the DSP for each of the
59 * (up to 16) input buffers given to the codec's "process()" call.
60 *
61 * If this flag is set to "false" for one or more
62 * elements, the cache for the corresponding input buffer will not be
63 * invalidated before the process() call. Skipping unnecessary cache
64 * invalidation improves performance, especially if a buffer is large.
65 *
66 * (If element "i" in this array is set to true, cache for inBufs[i] will
67 * be invalidated only if the buffer is supplied, of course.)
68 *
69 * For example, if you know that a particular codec of this class always
70 * reads the data from its inBufs[1] buffer only via DMA, you can set
71 * manageInBufsCache[1] = false;
72 */
73 config Bool manageInBufsCache[ 16 ] = [
74 true, true, true, true, true, true, true, true,
75 true, true, true, true, true, true, true, true,
76 ];
77
78 /*!
79 * ======== manageOutBufsCache =======
80 * Codec Class configuration param
81 *
82 * Determines whether cache will be managed on the DSP for each of the
83 * (up to 16) output buffers given to the codec's "process()" call.
84 *
85 * If this flag is set to "false" for one or more
86 * elements, the cache for the corresponding output buffer will not be
87 * invalidated before the process() call nor flushed after the process()
88 * call. Skipping unnecessary cache invalidation and flushing improves
89 * performance.
90 *
91 * For example, if you know that a particular codec of this class always
92 * writes the data to its outBufs[2] buffer only via DMA, you can set
93 * manageOutBufsCache[2] = false;
94 */
95 config Bool manageOutBufsCache[ 16 ] = [
96 true, true, true, true, true, true, true, true,
97 true, true, true, true, true, true, true, true,
98 ];
99
100 /*!
101 * ======== manageReconBufsCache =======
102 * Codec Class configuration param
103 *
104 * Determines whether cache will be managed on the DSP for each of the
105 * (up to 16) reconstruction buffers given to the codec's "process()" call.
106 *
107 * If this flag is set to "false" for one or more
108 * elements, the cache for the corresponding recon buffer will not be
109 * flushed after the process() call. Skipping unnecessary cache
110 * flushing improves performance.
111 *
112 * If you are uninterested in the recon buffers, specify this setting in
113 * your configuration file:
114 * <your video encoder codec symbol>.manageReconBufsCache[ 16 ] = [
115 * false, false, false, false, false, false, false, false,
116 * false, false, false, false, false, false, false, false,
117 * ];
118 ];
119 */
120 config Bool manageReconBufsCache[ 16 ] = [
121 true, true, true, true, true, true, true, true,
122 true, true, true, true, true, true, true, true,
123 ];
124 }
125 126 127 128
129