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 * ======== ti.sdo.ce.video2.IVIDENC2 ========
40 * IVIDENC2-compliant video encoder interface
41 *
42 * All IVIDENC2-compliant video encoder modules must implement this
43 * interface.
44 */
45 metaonly interface IVIDENC2 inherits ti.sdo.ce.ICodec
46 {
47 override config String serverFxns = "VIDENC2_SKEL";
48 override config String stubFxns = "VIDENC2_STUBS";
49
50 override readonly config Int rpcProtocolVersion = 0;
51
52 override readonly config Bool codecClassConfigurable = true;
53
54 /*!
55 * ======== manageInBufsPlaneDescCache =======
56 * Codec Class configuration param
57 *
58 * Determines whether cache will be managed on the DSP for each of the
59 * 3 planeDesc[] 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
67 * inBufs->planeDesc[i] will be invalidated only if the buffer is
68 * supplied, of course.)
69 *
70 * For example, if you know that a particular codec of this class always
71 * reads the data from its inBufs->planeDesc[1] buffer only via DMA, you
72 * can set manageInBufsPlaneDescCache[1] = false;
73 */
74 config Bool manageInBufsPlaneDescCache[3] = [ true, true, true ];
75
76 /*!
77 * ======== manageInBufsMetaPlaneDescCache =======
78 * Codec Class configuration param
79 *
80 * Determines whether cache will be managed on the DSP for each of the
81 * 3 metadataPlaneDesc[] input buffers given to the codec's process()
82 * call.
83 *
84 * If this flag is set to "false" for one or more
85 * elements, the cache for the corresponding input buffer will not be
86 * invalidated before the process() call. Skipping unnecessary cache
87 * invalidation improves performance, especially if a buffer is large.
88 *
89 * (If element "i" in this array is set to true, cache for
90 * inBufs->metadataPlaneDesc[i] will be invalidated only if the buffer is
91 * supplied, of course.)
92 *
93 * For example, if you know that a particular codec of this class always
94 * reads the data from its inBufs->metadataPlaneDesc[1] buffer only via
95 * DMA, you can set manageInBufsMetaPlaneDescCache[1] = false;
96 */
97 config Bool manageInBufsMetaPlaneDescCache[3] = [ true, true, true ];
98
99 /*!
100 * ======== manageOutBufsCache =======
101 * Codec Class configuration param
102 *
103 * Determines whether cache will be managed on the DSP for each of the
104 * (up to 16) output buffers given to the codec's "process()" call.
105 *
106 * If this flag is set to "false" for one or more
107 * elements, the cache for the corresponding output buffer will not be
108 * invalidated before the process() call.
109 * Skipping unnecessary cache invalidation improves
110 * performance. Whether the buffer will be written back after the process()
111 * call depends on the algorithm and cannot be controlled here.
112 *
113 * For example, if you know that a particular codec of this class always
114 * writes the data to its outBufs->desc[2] buffer only via DMA, you can
115 * set manageOutBufsCache[2] = false;
116 */
117 config Bool manageOutBufsCache[ 16 ] = [
118 true, true, true, true, true, true, true, true,
119 true, true, true, true, true, true, true, true,
120 ];
121 }
122 123 124 125
126