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 * ======== IVIDDEC ========
35 * IVIDDEC-compliant video decoder interface
36 *
37 * All IVIDDEC-compliant video decoder modules must implement this
38 * interface.
39 */
40 metaonly interface IVIDDEC inherits ti.sdo.ce.ICodec
41 {
42 override config String serverFxns = "VIDDEC_SKEL";
43 override config String stubFxns = "VIDDEC_STUBS";
44
45 override readonly config Int rpcProtocolVersion = 3;
46
47 override readonly config Bool codecClassConfigurable = true;
48
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 ];
72
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 ];
94
95 /*!
96 * ======== manageDisplayBufsCache =======
97 * Codec Class configuration param
98 *
99 * Determines whether cache will be managed on the DSP for each of the
100 * (up to 16) display 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 display 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 display buffers, specify this setting in
108 * your configuration file:
109 * <your video encoder codec symbol>.manageDisplayBufsCache[ 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 manageDisplayBufsCache[ 16 ] = [
116 true, true, true, true, true, true, true, true,
117 true, true, true, true, true, true, true, true,
118 ];
119 }
120 121 122 123
124