1root { 2 module = "master"; 3 codec_config { 4 match_attr = "media_codec_capabilities"; 5 use_openmax = true; 6 // capsMask: 0x01, Adaptive playback; 0x02, Secure playback; 0x04, Tunnel playback. 7 // allocateMask: 0x01, Input buffer allocated within the Codec module; 8 // allocateMask: 0x02, Input buffer allocated by an external user; 9 // allocateMask: 0x04, Output buffer allocated within the Codec module; 10 // allocateMask: 0x08, Output buffer allocated by an external user. 11 12 VideoHwEncoders { 13 /* node name explanation -- HDF_video_hw_enc_avc_rk: 14 ** 15 ** HDF____________video__________________hw____________________enc____________avc_______rk 16 ** | | | | | | 17 ** HDF or OMX video or audio hardware or software encoder or decoder mime vendor 18 */ 19 HDF_video_hw_enc_avc_rk { 20 role = 1; 21 type = 1; 22 name = "OMX.rk.video_encoder.avc"; 23 supportProfiles = [1, 32768, 2, 32768, 8, 32768]; 24 maxInst = 4; 25 isSoftwareCodec = false; 26 processModeMask = []; 27 capsMask = [0x01]; 28 minBitRate = 1; 29 maxBitRate = 40000000; 30 minWidth = 144; 31 minHeight = 144; 32 maxWidth = 4096; 33 maxHeight = 4096; 34 widthAlignment = 2; 35 heightAlignment = 2; 36 minBlockCount = 99; 37 maxBlockCount = 34560; 38 minBlocksPerSecond = 99; 39 maxBlocksPerSecond = 2073600; 40 blockSizeWidth = 16; 41 blockSizeHeight = 16; 42 supportPixelFmts = [28, 24, 20, 12]; 43 measuredFrameRate = [320, 240, 165, 165, 720, 480, 149, 149, 1280, 720, 73, 73, 1920, 1080, 18, 18]; 44 bitRateMode = [1, 2]; 45 minFrameRate = 1; 46 maxFrameRate = 60; 47 canSwapWidthHeight = true; 48 } 49 HDF_video_hw_enc_hevc_rk { 50 role = 2; 51 type = 1; 52 name = "OMX.rk.video_encoder.hevc"; 53 supportProfiles = [1, 4096, 2, 4096, 4096, 4096]; 54 maxInst = 4; 55 isSoftwareCodec = false; 56 processModeMask = []; 57 capsMask = [0x01]; 58 minBitRate = 1; 59 maxBitRate = 40000000; 60 minWidth = 144; 61 minHeight = 144; 62 maxWidth = 4096; 63 maxHeight = 4096; 64 widthAlignment = 2; 65 heightAlignment = 2; 66 minBlockCount = 99; 67 maxBlockCount = 34560; 68 minBlocksPerSecond = 99; 69 maxBlocksPerSecond = 2073600; 70 blockSizeWidth = 16; 71 blockSizeHeight = 16; 72 supportPixelFmts = [28, 24, 20, 12]; 73 measuredFrameRate = [320, 240, 165, 165, 720, 480, 149, 149, 1280, 720, 73, 73, 1920, 1080, 18, 18]; 74 bitRateMode = [1, 2]; 75 minFrameRate = 1; 76 maxFrameRate = 60; 77 canSwapWidthHeight = true; 78 } 79 } 80 VideoHwDecoders { 81 HDF_video_hw_dec_avc_rk { 82 role = 1; 83 type = 0; 84 name = "OMX.rk.video_decoder.avc"; 85 supportProfiles = [1, 32768, 2, 32768, 8, 32768]; 86 maxInst = 6; 87 isSoftwareCodec = false; 88 processModeMask = []; 89 capsMask = [0x01]; 90 minBitRate = 1; 91 maxBitRate = 10000000; 92 minWidth = 144; 93 minHeight = 144; 94 maxWidth = 4096; 95 maxHeight = 4096; 96 widthAlignment = 2; 97 heightAlignment = 2; 98 minBlockCount = 99; 99 maxBlockCount = 34560; 100 minBlocksPerSecond = 99; 101 maxBlocksPerSecond = 2073600; 102 blockSizeWidth = 16; 103 blockSizeHeight = 16; 104 supportPixelFmts = [24, 12, 20]; 105 measuredFrameRate = [320, 240, 617, 617, 720, 480, 559, 559, 1280, 720, 276, 276, 1920, 1080, 164, 164, 3840, 2160, 30, 30]; 106 bitRateMode = []; 107 minFrameRate = 1; 108 maxFrameRate = 60; 109 canSwapWidthHeight = true; 110 } 111 HDF_video_hw_dec_mpeg2_rk { 112 role = 0xFFFFFFFF; 113 type = 0; 114 name = "OMX.rk.video_decoder.m2v"; 115 supportProfiles = [0, 3, 1, 3]; 116 maxInst = 6; 117 isSoftwareCodec = false; 118 processModeMask = []; 119 capsMask = [0x01]; 120 minBitRate = 1; 121 maxBitRate = 10000000; 122 minWidth = 176; 123 minHeight = 144; 124 maxWidth = 1920; 125 maxHeight = 1088; 126 widthAlignment = 8; 127 heightAlignment = 8; 128 minBlockCount = 0xFFFFFFFF; 129 maxBlockCount = 0xFFFFFFFF; 130 minBlocksPerSecond = 1; 131 maxBlocksPerSecond = 244800; 132 blockSizeWidth = 16; 133 blockSizeHeight = 8; 134 supportPixelFmts = [24, 12, 20]; 135 measuredFrameRate = []; 136 bitRateMode = []; 137 minFrameRate = 0; 138 maxFrameRate = 0; 139 } 140 HDF_video_hw_dec_v8p_rk { 141 role = 0xFFFFFFFF; 142 type = 0; 143 name = "OMX.rk.video_decoder.vp8"; 144 supportProfiles = []; 145 maxInst = 6; 146 isSoftwareCodec = false; 147 processModeMask = []; 148 capsMask = [0x01]; 149 minBitRate = 1; 150 maxBitRate = 10000000; 151 minWidth = 176; 152 minHeight = 144; 153 maxWidth = 1920; 154 maxHeight = 1088; 155 widthAlignment = 8; 156 heightAlignment = 8; 157 minBlockCount = 0xFFFFFFFF; 158 maxBlockCount = 0xFFFFFFFF; 159 minBlocksPerSecond = 1; 160 maxBlocksPerSecond = 244800; 161 blockSizeWidth = 16; 162 blockSizeHeight = 16; 163 supportPixelFmts = [24, 12, 20]; 164 measuredFrameRate = [320, 180, 500, 500, 640, 360, 387, 387, 1280, 720, 112, 112, 1920, 1080, 77, 77]; 165 bitRateMode = []; 166 minFrameRate = 0; 167 maxFrameRate = 0; 168 } 169 HDF_video_hw_dec_h263_rk { 170 role = 0xFFFFFFFF; 171 type = 0; 172 name = "OMX.rk.video_decoder.h263"; 173 supportProfiles = [1, 1, 1, 2, 1, 4, 1, 16, 8, 1, 8, 2, 8, 4, 8, 16]; 174 maxInst = 6; 175 isSoftwareCodec = false; 176 processModeMask = []; 177 capsMask = [0x01]; 178 minBitRate = 1; 179 maxBitRate = 10000000; 180 minWidth = 176; 181 minHeight = 144; 182 maxWidth = 1920; 183 maxHeight = 1088; 184 widthAlignment = 8; 185 heightAlignment = 8; 186 minBlockCount = 0xFFFFFFFF; 187 maxBlockCount = 0xFFFFFFFF; 188 minBlocksPerSecond = 1; 189 maxBlocksPerSecond = 244800; 190 blockSizeWidth = 16; 191 blockSizeHeight = 16; 192 supportPixelFmts = [24, 12, 20]; 193 measuredFrameRate = [176, 144, 600, 600, 352, 288, 600, 600]; 194 bitRateMode = []; 195 minFrameRate = 0; 196 maxFrameRate = 0; 197 } 198 HDF_video_hw_dec_m4v_rk { 199 role = 3; 200 type = 0; 201 name = "OMX.rk.video_decoder.m4v"; 202 supportProfiles = [1, 1, 1, 2, 1, 4, 1, 8, 1, 16]; 203 maxInst = 6; 204 isSoftwareCodec = false; 205 processModeMask = []; 206 capsMask = [0x01]; 207 minBitRate = 1; 208 maxBitRate = 10000000; 209 minWidth = 176; 210 minHeight = 144; 211 maxWidth = 1920; 212 maxHeight = 1088; 213 widthAlignment = 8; 214 heightAlignment = 8; 215 minBlockCount = 0xFFFFFFFF; 216 maxBlockCount = 0xFFFFFFFF; 217 minBlocksPerSecond = 1; 218 maxBlocksPerSecond = 244800; 219 blockSizeWidth = 16; 220 blockSizeHeight = 16; 221 supportPixelFmts = [24, 12, 20]; 222 measuredFrameRate = [176, 144, 600, 600]; 223 bitRateMode = []; 224 minFrameRate = 0; 225 maxFrameRate = 0; 226 } 227 HDF_video_hw_dec_flv_rk { 228 role = 0xFFFFFFFF; 229 type = 0; 230 name = "OMX.rk.video_decoder.flv1"; 231 supportProfiles = []; 232 maxInst = 6; 233 isSoftwareCodec = false; 234 processModeMask = []; 235 capsMask = [0x01]; 236 minBitRate = 1; 237 maxBitRate = 10000000; 238 minWidth = 176; 239 minHeight = 144; 240 maxWidth = 1920; 241 maxHeight = 1088; 242 widthAlignment = 8; 243 heightAlignment = 8; 244 minBlockCount = 0xFFFFFFFF; 245 maxBlockCount = 0xFFFFFFFF; 246 minBlocksPerSecond = 1; 247 maxBlocksPerSecond = 244800; 248 blockSizeWidth = 16; 249 blockSizeHeight = 16; 250 supportPixelFmts = [24, 12, 20]; 251 measuredFrameRate = []; 252 bitRateMode = []; 253 minFrameRate = 0; 254 maxFrameRate = 0; 255 } 256 HDF_video_hw_dec_mjpeg_rk { 257 role = 0; 258 type = 0; 259 name = "OMX.rk.video_decoder.mjpeg"; 260 supportProfiles = []; 261 maxInst = 6; 262 isSoftwareCodec = false; 263 processModeMask = []; 264 capsMask = [0x01]; 265 minBitRate = 1; 266 maxBitRate = 10000000; 267 minWidth = 176; 268 minHeight = 144; 269 maxWidth = 1920; 270 maxHeight = 1088; 271 widthAlignment = 8; 272 heightAlignment = 8; 273 minBlockCount = 0xFFFFFFFF; 274 maxBlockCount = 0xFFFFFFFF; 275 minBlocksPerSecond = 1; 276 maxBlocksPerSecond = 244800; 277 blockSizeWidth = 16; 278 blockSizeHeight = 16; 279 supportPixelFmts = [24, 12, 20]; 280 measuredFrameRate = []; 281 bitRateMode = []; 282 minFrameRate = 0; 283 maxFrameRate = 0; 284 } 285 HDF_video_hw_dec_hevc_rk { 286 role = 2; 287 type = 0; 288 name = "OMX.rk.video_decoder.hevc"; 289 supportProfiles = [1, 1, 1, 4, 1, 16, 1, 64, 1, 256, 1, 1024, 1, 4096, 1, 16384, 1, 65536, 2, 65536]; 290 maxInst = 6; 291 isSoftwareCodec = false; 292 processModeMask = []; 293 capsMask = [0x01]; 294 minBitRate = 1; 295 maxBitRate = 160000000; 296 minWidth = 144; 297 minHeight = 144; 298 maxWidth = 4096; 299 maxHeight = 4096; 300 widthAlignment = 2; 301 heightAlignment = 2; 302 minBlockCount = 99; 303 maxBlockCount = 34560; 304 minBlocksPerSecond = 99; 305 maxBlocksPerSecond = 2073600; 306 blockSizeWidth = 16; 307 blockSizeHeight = 16; 308 supportPixelFmts = [24, 12, 20]; 309 measuredFrameRate = [352, 288, 700, 700, 720, 480, 700, 700, 640, 360, 980, 980, 1280, 720, 600, 600, 1920, 1080, 130, 130, 3840, 2160, 130, 130]; 310 bitRateMode = []; 311 minFrameRate = 0; 312 maxFrameRate = 0; 313 canSwapWidthHeight = true; 314 } 315 HDF_video_hw_dec_vp9_rk { 316 role = 4; 317 type = 0; 318 name = "OMX.rk.video_decoder.vp9"; 319 supportProfiles = [1, 1, 1, 2, 1, 4, 1, 16, 1, 32, 1, 64, 1, 256, 1, 1024, 1, 2048, 1, 4096, 1, 8192]; 320 maxInst = 6; 321 isSoftwareCodec = false; 322 processModeMask = []; 323 capsMask = [0x01]; 324 minBitRate = 1; 325 maxBitRate = 300000000; 326 minWidth = 96; 327 minHeight = 96; 328 maxWidth = 4096; 329 maxHeight = 2160; 330 widthAlignment = 2; 331 heightAlignment = 2; 332 minBlockCount = 0xFFFFFFFF; 333 maxBlockCount = 0xFFFFFFFF; 334 minBlocksPerSecond = 1; 335 maxBlocksPerSecond = 972000; 336 blockSizeWidth = 16; 337 blockSizeHeight = 16; 338 supportPixelFmts = [24, 12, 20]; 339 measuredFrameRate = [320, 180, 500, 500, 640, 360, 387, 387, 1280, 720, 310, 318, 1920, 1080, 150, 200]; 340 bitRateMode = []; 341 minFrameRate = 0; 342 maxFrameRate = 0; 343 } 344 } 345 VideoSwEncoders { 346 } 347 VideoSwDecoders { 348 } 349 AudioHwEncoders { 350 } 351 AudioHwDecoders { 352 } 353 AudioSwEncoders { 354 } 355 AudioSwDecoders { 356 } 357 } 358} 359