From a6f9ebb1c1a07da59cf0eb3339b696fc7c2ec21f Mon Sep 17 00:00:00 2001 From: "minjie.yu" Date: Mon, 20 Mar 2023 10:46:26 +0800 Subject: [PATCH] fix hats dependency media_codec Signed-off-by: minjie.yu --- .../codec_adapter_capabilities.hcs | 386 ++++++++++++++++++ .../codec_component_capabilities.hcs | 296 ++++++++++++++ .../media_codec/media_codec_capabilities.hcs | 260 ++++++++++++ 3 files changed, 942 insertions(+) create mode 100755 unionpi_tiger/hdf_config/uhdf/media_codec/codec_adapter_capabilities.hcs create mode 100755 unionpi_tiger/hdf_config/uhdf/media_codec/codec_component_capabilities.hcs create mode 100755 unionpi_tiger/hdf_config/uhdf/media_codec/media_codec_capabilities.hcs diff --git a/unionpi_tiger/hdf_config/uhdf/media_codec/codec_adapter_capabilities.hcs b/unionpi_tiger/hdf_config/uhdf/media_codec/codec_adapter_capabilities.hcs new file mode 100755 index 00000000..5196992c --- /dev/null +++ b/unionpi_tiger/hdf_config/uhdf/media_codec/codec_adapter_capabilities.hcs @@ -0,0 +1,386 @@ +root { + module = "master"; + codec_adapter_config { + match_attr = "codec_adapter_capabilities"; + use_openmax = false; + // capsMask: 0x01, Adaptive playback; 0x02, Secure playback; 0x04, Tunnel playback. + // allocateMask: 0x01, Input buffer allocated within the Codec module; + // allocateMask: 0x02, Input buffer allocated by an external user; + // allocateMask: 0x04, Output buffer allocated within the Codec module; + // allocateMask: 0x08, Output buffer allocated by an external user. + + VideoHwEncoders { + /* node name explaination -- HDF_video_hw_enc_avc_rk: + ** + ** HDF____________video__________________hw____________________enc____________avc_______rk + ** | | | | | | + ** HDF or OMX video or audio hardware or software encoder or decoder mime vendor + */ + HDF_video_hw_enc_avc_rk { + role = 1; + type = 1; + name = "rk.video_encoder.avc"; + supportProfiles = [1, 32768, 2, 32768, 8, 32768]; + maxInst = 4; + isSoftwareCodec = false; + processModeMask = []; + capsMask = [0x01]; + minBitRate = 1; + maxBitRate = 40000000; + bufferSize = 40960; + minWidth = 176; + minHeight = 144; + maxWidth = 1920; + maxHeight = 1088; + widthAlignment = 16; + heightAlignment = 8; + allocateMask = [0x01, 0x04, 0x08]; + minInputBufferNum = 1; + maxInputBufferNum = 20; + minOutputBufferNum = 1; + maxOutputBufferNum = 40; + minBlockCount = 0xFFFFFFFF; + maxBlockCount = 0xFFFFFFFF; + minBlocksPerSecond = 0xFFFFFFFF; + maxBlocksPerSecond = 0xFFFFFFFF; + blockSizeWidth = 0xFFFFFFFF; + blockSizeHeight = 0xFFFFFFFF; + supportPixelFmts = [28, 24, 30, 22, 7, 3, 14, 13, 20, 26, 27, 12]; + measuredFrameRate = [320, 240, 165, 165, 720, 480, 149, 149, 1280, 720, 73, 73, 1920, 1080, 18, 18]; + bitRateMode = [1, 2]; + minFrameRate = 0; + maxFrameRate = 0; + inputBufferCount = 4; + inputBufferSize = 614400; + outputBufferCount = 4; + outputBufferSize = 40960; + } + } + VideoHwDecoders { + HDF_video_hw_dec_avc_rk { + role = 1; + type = 0; + name = "rk.video_decoder.avc"; + supportProfiles = [1, 32768, 2, 32768, 8, 32768]; + maxInst = 6; + isSoftwareCodec = false; + processModeMask = []; + capsMask = [0x01]; + minBitRate = 1; + maxBitRate = 10000000; + bufferSize = 40960; + minWidth = 176; + minHeight = 144; + maxWidth = 4096; + maxHeight = 2160; + widthAlignment = 8; + heightAlignment = 8; + allocateMask = [0x01, 0x04, 0x08]; + minInputBufferNum = 1; + maxInputBufferNum = 20; + minOutputBufferNum = 1; + maxOutputBufferNum = 40; + minBlockCount = 0xFFFFFFFF; + maxBlockCount = 0xFFFFFFFF; + minBlocksPerSecond = 1; + maxBlocksPerSecond = 244800; + blockSizeWidth = 16; + blockSizeHeight = 16; + supportPixelFmts = [24]; + measuredFrameRate = [320, 240, 617, 617, 720, 480, 559, 559, 1280, 720, 276, 276, 1920, 1080, 164, 164, 3840, 2160, 30, 30]; + bitRateMode = []; + minFrameRate = 0; + maxFrameRate = 0; + inputBufferCount = 4; + inputBufferSize = 409600; + outputBufferCount = 10; + outputBufferSize = 614400; + } + HDF_video_hw_dec_mpeg2_rk { + role = 0xFFFFFFFF; + type = 0; + name = "rk.video_decoder.m2v"; + supportProfiles = [0, 3, 1, 3]; + maxInst = 6; + isSoftwareCodec = false; + processModeMask = []; + capsMask = [0x01]; + minBitRate = 1; + maxBitRate = 10000000; + bufferSize = 40960; + minWidth = 176; + minHeight = 144; + maxWidth = 1920; + maxHeight = 1088; + widthAlignment = 8; + heightAlignment = 8; + allocateMask = [0x01, 0x04, 0x08]; + minInputBufferNum = 1; + maxInputBufferNum = 20; + minOutputBufferNum = 1; + maxOutputBufferNum = 40; + minBlockCount = 0xFFFFFFFF; + maxBlockCount = 0xFFFFFFFF; + minBlocksPerSecond = 1; + maxBlocksPerSecond = 244800; + blockSizeWidth = 16; + blockSizeHeight = 8; + supportPixelFmts = [24]; + measuredFrameRate = []; + bitRateMode = []; + minFrameRate = 0; + maxFrameRate = 0; + inputBufferCount = 4; + inputBufferSize = 4096; + outputBufferCount = 10; + outputBufferSize = 614400; + } + HDF_video_hw_dec_v8p_rk { + role = 0xFFFFFFFF; + type = 0; + name = "rk.video_decoder.vp8"; + supportProfiles = []; + maxInst = 6; + isSoftwareCodec = false; + processModeMask = []; + capsMask = [0x01]; + minBitRate = 1; + maxBitRate = 10000000; + bufferSize = 40960; + minWidth = 176; + minHeight = 144; + maxWidth = 1920; + maxHeight = 1088; + widthAlignment = 8; + heightAlignment = 8; + allocateMask = [0x01, 0x04, 0x08]; + minInputBufferNum = 1; + maxInputBufferNum = 20; + minOutputBufferNum = 1; + maxOutputBufferNum = 40; + minBlockCount = 0xFFFFFFFF; + maxBlockCount = 0xFFFFFFFF; + minBlocksPerSecond = 1; + maxBlocksPerSecond = 244800; + blockSizeWidth = 16; + blockSizeHeight = 16; + supportPixelFmts = [24]; + measuredFrameRate = [320, 180, 500, 500, 640, 360, 387, 387, 1280, 720, 112, 112, 1920, 1080, 77, 77]; + bitRateMode = []; + minFrameRate = 0; + maxFrameRate = 0; + inputBufferCount = 4; + inputBufferSize = 4096; + outputBufferCount = 10; + outputBufferSize = 614400; + } + HDF_video_hw_dec_h263_rk { + role = 0xFFFFFFFF; + type = 0; + name = "rk.video_decoder.h263"; + supportProfiles = [1, 1, 1, 2, 1, 4, 1, 16, 8, 1, 8, 2, 8, 4, 8, 16]; + maxInst = 6; + isSoftwareCodec = false; + processModeMask = []; + capsMask = [0x01]; + minBitRate = 1; + maxBitRate = 10000000; + bufferSize = 40960; + minWidth = 176; + minHeight = 144; + maxWidth = 1920; + maxHeight = 1088; + widthAlignment = 8; + heightAlignment = 8; + allocateMask = [0x01, 0x04, 0x08]; + minInputBufferNum = 1; + maxInputBufferNum = 20; + minOutputBufferNum = 1; + maxOutputBufferNum = 40; + minBlockCount = 0xFFFFFFFF; + maxBlockCount = 0xFFFFFFFF; + minBlocksPerSecond = 1; + maxBlocksPerSecond = 244800; + blockSizeWidth = 16; + blockSizeHeight = 16; + supportPixelFmts = [24]; + measuredFrameRate = [176, 144, 600, 600, 352, 288, 600, 600]; + bitRateMode = []; + minFrameRate = 0; + maxFrameRate = 0; + inputBufferCount = 4; + inputBufferSize = 4096; + outputBufferCount = 10; + outputBufferSize = 614400; + } + HDF_video_hw_dec_m4v_rk { + role = 0xFFFFFFFF; + type = 0; + name = "rk.video_decoder.m4v"; + supportProfiles = [1, 1, 1, 2, 1, 4, 1, 8, 1, 16]; + maxInst = 6; + isSoftwareCodec = false; + processModeMask = []; + capsMask = [0x01]; + minBitRate = 1; + maxBitRate = 10000000; + bufferSize = 40960; + minWidth = 176; + minHeight = 144; + maxWidth = 1920; + maxHeight = 1088; + widthAlignment = 8; + heightAlignment = 8; + allocateMask = [0x01, 0x04, 0x08]; + minInputBufferNum = 1; + maxInputBufferNum = 20; + minOutputBufferNum = 1; + maxOutputBufferNum = 40; + minBlockCount = 0xFFFFFFFF; + maxBlockCount = 0xFFFFFFFF; + minBlocksPerSecond = 1; + maxBlocksPerSecond = 244800; + blockSizeWidth = 16; + blockSizeHeight = 16; + supportPixelFmts = [24]; + measuredFrameRate = [176, 144, 600, 600]; + bitRateMode = []; + minFrameRate = 0; + maxFrameRate = 0; + inputBufferCount = 4; + inputBufferSize = 4096; + outputBufferCount = 10; + outputBufferSize = 614400; + } + HDF_video_hw_dec_flv_rk { + role = 0xFFFFFFFF; + type = 0; + name = "rk.video_decoder.flv1"; + supportProfiles = []; + maxInst = 6; + isSoftwareCodec = false; + processModeMask = []; + capsMask = [0x01]; + minBitRate = 1; + maxBitRate = 10000000; + bufferSize = 40960; + minWidth = 176; + minHeight = 144; + maxWidth = 1920; + maxHeight = 1088; + widthAlignment = 8; + heightAlignment = 8; + allocateMask = [0x01, 0x04, 0x08]; + minInputBufferNum = 1; + maxInputBufferNum = 20; + minOutputBufferNum = 1; + maxOutputBufferNum = 40; + minBlockCount = 0xFFFFFFFF; + maxBlockCount = 0xFFFFFFFF; + minBlocksPerSecond = 1; + maxBlocksPerSecond = 244800; + blockSizeWidth = 16; + blockSizeHeight = 16; + supportPixelFmts = [24]; + measuredFrameRate = []; + bitRateMode = []; + minFrameRate = 0; + maxFrameRate = 0; + inputBufferCount = 4; + inputBufferSize = 4096; + outputBufferCount = 10; + outputBufferSize = 614400; + } + HDF_video_hw_dec_mjpeg_rk { + role = 0; + type = 0; + name = "rk.video_decoder.mjpeg"; + supportProfiles = []; + maxInst = 6; + isSoftwareCodec = false; + processModeMask = []; + capsMask = [0x01]; + minBitRate = 1; + maxBitRate = 10000000; + bufferSize = 40960; + minWidth = 176; + minHeight = 144; + maxWidth = 1920; + maxHeight = 1088; + widthAlignment = 8; + heightAlignment = 8; + allocateMask = [0x01, 0x04, 0x08]; + minInputBufferNum = 1; + maxInputBufferNum = 20; + minOutputBufferNum = 1; + maxOutputBufferNum = 40; + minBlockCount = 0xFFFFFFFF; + maxBlockCount = 0xFFFFFFFF; + minBlocksPerSecond = 1; + maxBlocksPerSecond = 244800; + blockSizeWidth = 16; + blockSizeHeight = 16; + supportPixelFmts = [24]; + measuredFrameRate = []; + bitRateMode = []; + minFrameRate = 0; + maxFrameRate = 0; + inputBufferCount = 4; + inputBufferSize = 4096; + outputBufferCount = 10; + outputBufferSize = 614400; + } + HDF_video_hw_dec_hevc_rk { + role = 2; + type = 0; + name = "rk.video_decoder.hevc"; + supportProfiles = [1, 1, 1, 4, 1, 16, 1, 64, 1, 256, 1, 1024, 1, 4096, 1, 16384, 1, 65536, 2, 65536]; + maxInst = 6; + isSoftwareCodec = false; + processModeMask = []; + capsMask = [0x01]; + minBitRate = 1; + maxBitRate = 160000000; + bufferSize = 40960; + minWidth = 176; + minHeight = 144; + maxWidth = 1920; + maxHeight = 1088; + widthAlignment = 2; + heightAlignment = 2; + allocateMask = [0x01, 0x04, 0x08]; + minInputBufferNum = 1; + maxInputBufferNum = 20; + minOutputBufferNum = 1; + maxOutputBufferNum = 40; + minBlockCount = 0xFFFFFFFF; + maxBlockCount = 0xFFFFFFFF; + minBlocksPerSecond = 1; + maxBlocksPerSecond = 244800; + blockSizeWidth = 16; + blockSizeHeight = 16; + supportPixelFmts = [24]; + 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]; + bitRateMode = []; + minFrameRate = 0; + maxFrameRate = 0; + inputBufferCount = 4; + inputBufferSize = 4096; + outputBufferCount = 10; + outputBufferSize = 614400; + } + } + VideoSwEncoders { + } + VideoSwDecoders { + } + AudioHwEncoders { + } + AudioHwDecoders { + } + AudioSwEncoders { + } + AudioSwDecoders { + } + } +} diff --git a/unionpi_tiger/hdf_config/uhdf/media_codec/codec_component_capabilities.hcs b/unionpi_tiger/hdf_config/uhdf/media_codec/codec_component_capabilities.hcs new file mode 100755 index 00000000..859f47a1 --- /dev/null +++ b/unionpi_tiger/hdf_config/uhdf/media_codec/codec_component_capabilities.hcs @@ -0,0 +1,296 @@ +root { + module = "master"; + codec_config { + match_attr = "codec_component_capabilities"; + use_openmax = true; + // capsMask: 0x01, Adaptive playback; 0x02, Secure playback; 0x04, Tunnel playback. + // allocateMask: 0x01, Input buffer allocated within the Codec module; + // allocateMask: 0x02, Input buffer allocated by an external user; + // allocateMask: 0x04, Output buffer allocated within the Codec module; + // allocateMask: 0x08, Output buffer allocated by an external user. + + VideoHwEncoders { + /* node name explanation -- HDF_video_hw_enc_avc_rk: + ** + ** HDF____________video__________________hw____________________enc____________avc_______rk + ** | | | | | | + ** HDF or OMX video or audio hardware or software encoder or decoder mime vendor + */ + HDF_video_hw_enc_avc_rk { + role = 1; + type = 1; + name = "OMX.rk.video_encoder.avc"; + supportProfiles = [1, 32768, 2, 32768, 8, 32768]; + maxInst = 4; + isSoftwareCodec = false; + processModeMask = []; + capsMask = [0x01]; + minBitRate = 1; + maxBitRate = 40000000; + minWidth = 176; + minHeight = 144; + maxWidth = 1920; + maxHeight = 1088; + widthAlignment = 16; + heightAlignment = 8; + minBlockCount = 0xFFFFFFFF; + maxBlockCount = 0xFFFFFFFF; + minBlocksPerSecond = 0xFFFFFFFF; + maxBlocksPerSecond = 0xFFFFFFFF; + blockSizeWidth = 0xFFFFFFFF; + blockSizeHeight = 0xFFFFFFFF; + supportPixelFmts = [28, 24, 20, 12]; + measuredFrameRate = [320, 240, 165, 165, 720, 480, 149, 149, 1280, 720, 73, 73, 1920, 1080, 18, 18]; + bitRateMode = [1, 2]; + minFrameRate = 0; + maxFrameRate = 0; + } + } + VideoHwDecoders { + HDF_video_hw_dec_avc_rk { + role = 1; + type = 0; + name = "OMX.rk.video_decoder.avc"; + supportProfiles = [1, 32768, 2, 32768, 8, 32768]; + maxInst = 6; + isSoftwareCodec = false; + processModeMask = []; + capsMask = [0x01]; + minBitRate = 1; + maxBitRate = 10000000; + minWidth = 176; + minHeight = 144; + maxWidth = 4096; + maxHeight = 2160; + widthAlignment = 8; + heightAlignment = 8; + minBlockCount = 0xFFFFFFFF; + maxBlockCount = 0xFFFFFFFF; + minBlocksPerSecond = 1; + maxBlocksPerSecond = 244800; + blockSizeWidth = 16; + blockSizeHeight = 16; + supportPixelFmts = [24]; + measuredFrameRate = [320, 240, 617, 617, 720, 480, 559, 559, 1280, 720, 276, 276, 1920, 1080, 164, 164, 3840, 2160, 30, 30]; + bitRateMode = []; + minFrameRate = 0; + maxFrameRate = 0; + } + HDF_video_hw_dec_mpeg2_rk { + role = 0xFFFFFFFF; + type = 0; + name = "OMX.rk.video_decoder.m2v"; + supportProfiles = [0, 3, 1, 3]; + maxInst = 6; + isSoftwareCodec = false; + processModeMask = []; + capsMask = [0x01]; + minBitRate = 1; + maxBitRate = 10000000; + minWidth = 176; + minHeight = 144; + maxWidth = 1920; + maxHeight = 1088; + widthAlignment = 8; + heightAlignment = 8; + minBlockCount = 0xFFFFFFFF; + maxBlockCount = 0xFFFFFFFF; + minBlocksPerSecond = 1; + maxBlocksPerSecond = 244800; + blockSizeWidth = 16; + blockSizeHeight = 8; + supportPixelFmts = [24]; + measuredFrameRate = []; + bitRateMode = []; + minFrameRate = 0; + maxFrameRate = 0; + } + HDF_video_hw_dec_v8p_rk { + role = 0xFFFFFFFF; + type = 0; + name = "OMX.rk.video_decoder.vp8"; + supportProfiles = []; + maxInst = 6; + isSoftwareCodec = false; + processModeMask = []; + capsMask = [0x01]; + minBitRate = 1; + maxBitRate = 10000000; + minWidth = 176; + minHeight = 144; + maxWidth = 1920; + maxHeight = 1088; + widthAlignment = 8; + heightAlignment = 8; + minBlockCount = 0xFFFFFFFF; + maxBlockCount = 0xFFFFFFFF; + minBlocksPerSecond = 1; + maxBlocksPerSecond = 244800; + blockSizeWidth = 16; + blockSizeHeight = 16; + supportPixelFmts = [24]; + measuredFrameRate = [320, 180, 500, 500, 640, 360, 387, 387, 1280, 720, 112, 112, 1920, 1080, 77, 77]; + bitRateMode = []; + minFrameRate = 0; + maxFrameRate = 0; + } + HDF_video_hw_dec_h263_rk { + role = 0xFFFFFFFF; + type = 0; + name = "OMX.rk.video_decoder.h263"; + supportProfiles = [1, 1, 1, 2, 1, 4, 1, 16, 8, 1, 8, 2, 8, 4, 8, 16]; + maxInst = 6; + isSoftwareCodec = false; + processModeMask = []; + capsMask = [0x01]; + minBitRate = 1; + maxBitRate = 10000000; + minWidth = 176; + minHeight = 144; + maxWidth = 1920; + maxHeight = 1088; + widthAlignment = 8; + heightAlignment = 8; + minBlockCount = 0xFFFFFFFF; + maxBlockCount = 0xFFFFFFFF; + minBlocksPerSecond = 1; + maxBlocksPerSecond = 244800; + blockSizeWidth = 16; + blockSizeHeight = 16; + supportPixelFmts = [24]; + measuredFrameRate = [176, 144, 600, 600, 352, 288, 600, 600]; + bitRateMode = []; + minFrameRate = 0; + maxFrameRate = 0; + } + HDF_video_hw_dec_m4v_rk { + role = 3; + type = 0; + name = "OMX.rk.video_decoder.m4v"; + supportProfiles = [1, 1, 1, 2, 1, 4, 1, 8, 1, 16]; + maxInst = 6; + isSoftwareCodec = false; + processModeMask = []; + capsMask = [0x01]; + minBitRate = 1; + maxBitRate = 10000000; + minWidth = 176; + minHeight = 144; + maxWidth = 1920; + maxHeight = 1088; + widthAlignment = 8; + heightAlignment = 8; + minBlockCount = 0xFFFFFFFF; + maxBlockCount = 0xFFFFFFFF; + minBlocksPerSecond = 1; + maxBlocksPerSecond = 244800; + blockSizeWidth = 16; + blockSizeHeight = 16; + supportPixelFmts = [24]; + measuredFrameRate = [176, 144, 600, 600]; + bitRateMode = []; + minFrameRate = 0; + maxFrameRate = 0; + } + HDF_video_hw_dec_flv_rk { + role = 0xFFFFFFFF; + type = 0; + name = "OMX.rk.video_decoder.flv1"; + supportProfiles = []; + maxInst = 6; + isSoftwareCodec = false; + processModeMask = []; + capsMask = [0x01]; + minBitRate = 1; + maxBitRate = 10000000; + minWidth = 176; + minHeight = 144; + maxWidth = 1920; + maxHeight = 1088; + widthAlignment = 8; + heightAlignment = 8; + minBlockCount = 0xFFFFFFFF; + maxBlockCount = 0xFFFFFFFF; + minBlocksPerSecond = 1; + maxBlocksPerSecond = 244800; + blockSizeWidth = 16; + blockSizeHeight = 16; + supportPixelFmts = [24]; + measuredFrameRate = []; + bitRateMode = []; + minFrameRate = 0; + maxFrameRate = 0; + } + HDF_video_hw_dec_mjpeg_rk { + role = 0; + type = 0; + name = "OMX.rk.video_decoder.mjpeg"; + supportProfiles = []; + maxInst = 6; + isSoftwareCodec = false; + processModeMask = []; + capsMask = [0x01]; + minBitRate = 1; + maxBitRate = 10000000; + minWidth = 176; + minHeight = 144; + maxWidth = 1920; + maxHeight = 1088; + widthAlignment = 8; + heightAlignment = 8; + minBlockCount = 0xFFFFFFFF; + maxBlockCount = 0xFFFFFFFF; + minBlocksPerSecond = 1; + maxBlocksPerSecond = 244800; + blockSizeWidth = 16; + blockSizeHeight = 16; + supportPixelFmts = [24]; + measuredFrameRate = []; + bitRateMode = []; + minFrameRate = 0; + maxFrameRate = 0; + } + HDF_video_hw_dec_hevc_rk { + role = 2; + type = 0; + name = "OMX.rk.video_decoder.hevc"; + supportProfiles = [1, 1, 1, 4, 1, 16, 1, 64, 1, 256, 1, 1024, 1, 4096, 1, 16384, 1, 65536, 2, 65536]; + maxInst = 6; + isSoftwareCodec = false; + processModeMask = []; + capsMask = [0x01]; + minBitRate = 1; + maxBitRate = 160000000; + minWidth = 176; + minHeight = 144; + maxWidth = 1920; + maxHeight = 1088; + widthAlignment = 2; + heightAlignment = 2; + minBlockCount = 0xFFFFFFFF; + maxBlockCount = 0xFFFFFFFF; + minBlocksPerSecond = 1; + maxBlocksPerSecond = 244800; + blockSizeWidth = 16; + blockSizeHeight = 16; + supportPixelFmts = [24]; + 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]; + bitRateMode = []; + minFrameRate = 0; + maxFrameRate = 0; + } + } + VideoSwEncoders { + } + VideoSwDecoders { + } + AudioHwEncoders { + } + AudioHwDecoders { + } + AudioSwEncoders { + } + AudioSwDecoders { + } + } +} diff --git a/unionpi_tiger/hdf_config/uhdf/media_codec/media_codec_capabilities.hcs b/unionpi_tiger/hdf_config/uhdf/media_codec/media_codec_capabilities.hcs new file mode 100755 index 00000000..f8ae80c5 --- /dev/null +++ b/unionpi_tiger/hdf_config/uhdf/media_codec/media_codec_capabilities.hcs @@ -0,0 +1,260 @@ +root { + module = "master"; + codec_config_hdi_1_0 { + match_attr = "media_codec_capabilities"; + use_openmax = false; + // capsMask: 0x01, Adaptive playback; 0x02, Secure playback; 0x04, Tunnel playback. + // allocateMask: 0x01, Input buffer allocated within the Codec module; + // allocateMask: 0x02, Input buffer allocated by an external user; + // allocateMask: 0x04, Output buffer allocated within the Codec module; + // allocateMask: 0x08, Output buffer allocated by an external user. + + VideoHwEncoders { + /* node name explaination -- HDF_video_hw_enc_avc_rk: + ** + ** HDF____________video__________________hw____________________enc____________avc_______rk + ** | | | | | | + ** HDF or OMX video or audio hardware or software encoder or decoder mime vendor + */ + HDF_video_hw_enc_avc_rk { + mime = 1; + type = 1; + name = "codec.avc.hardware.encoder"; + supportProfiles = [1, 32768, 2, 32768, 8, 32768]; + isSoftwareCodec = false; + processModeMask = []; + capsMask = [0x01]; + allocateMask = [0x010, 0x020]; + minInputBufferNum = 4; + maxInputBufferNum = 20; + minOutputBufferNum = 4; + maxOutputBufferNum = 20; + minBitRate = 1; + maxBitRate = 40000000; + inputBufferSize = 20000000; + outputBufferSize = 20000000; + minWidth = 176; + minHeight = 144; + maxWidth = 1920; + maxHeight = 1088; + widthAlignment = 16; + heightAlignment = 8; + supportPixelFmts = [28, 24, 30, 22, 7, 3, 14, 13, 20, 26, 27, 12]; + } + } + VideoHwDecoders { + HDF_video_hw_dec_avc_rk { + mime = 1; + type = 0; + name = "codec.avc.hardware.decoder"; + supportProfiles = [1, 32768, 2, 32768, 8, 32768]; + isSoftwareCodec = false; + processModeMask = []; + capsMask = [0x01]; + allocateMask = [0x010, 0x020]; + minInputBufferNum = 4; + maxInputBufferNum = 20; + minOutputBufferNum = 4; + maxOutputBufferNum = 20; + minBitRate = 1; + maxBitRate = 10000000; + inputBufferSize = 20000000; + outputBufferSize = 20000000; + minWidth = 176; + minHeight = 144; + maxWidth = 4096; + maxHeight = 2160; + widthAlignment = 8; + heightAlignment = 8; + supportPixelFmts = [24]; + } + HDF_video_hw_dec_mpeg2_rk { + mime = 65531; + type = 0; + name = "HDF_video_hw_dec_mpeg2_rk"; + supportProfiles = [0, 3, 1, 3]; + isSoftwareCodec = false; + processModeMask = []; + capsMask = [0x01]; + allocateMask = [0x010, 0x020]; + minInputBufferNum = 4; + maxInputBufferNum = 20; + minOutputBufferNum = 4; + maxOutputBufferNum = 20; + minBitRate = 1; + maxBitRate = 10000000; + inputBufferSize = 20000000; + outputBufferSize = 20000000; + minWidth = 176; + minHeight = 144; + maxWidth = 1920; + maxHeight = 1088; + widthAlignment = 8; + heightAlignment = 8; + supportPixelFmts = [24]; + } + HDF_video_hw_dec_v8p_rk { + mime = 65532; + type = 0; + name = "HDF_video_hw_dec_v8p_rk"; + supportProfiles = []; + isSoftwareCodec = false; + processModeMask = []; + capsMask = [0x01]; + allocateMask = [0x010, 0x020]; + minInputBufferNum = 4; + maxInputBufferNum = 20; + minOutputBufferNum = 4; + maxOutputBufferNum = 20; + minBitRate = 1; + maxBitRate = 10000000; + inputBufferSize = 20000000; + outputBufferSize = 20000000; + minWidth = 176; + minHeight = 144; + maxWidth = 1920; + maxHeight = 1088; + widthAlignment = 8; + heightAlignment = 8; + supportPixelFmts = [24]; + } + HDF_video_hw_dec_h263_rk { + mime = 65533; + type = 0; + name = "HDF_video_hw_dec_h263_rk"; + supportProfiles = [1, 1, 1, 2, 1, 4, 1, 16, 8, 1, 8, 2, 8, 4, 8, 16]; + isSoftwareCodec = false; + processModeMask = []; + capsMask = [0x01]; + allocateMask = [0x010, 0x020]; + minInputBufferNum = 4; + maxInputBufferNum = 20; + minOutputBufferNum = 4; + maxOutputBufferNum = 20; + minBitRate = 1; + maxBitRate = 10000000; + inputBufferSize = 20000000; + outputBufferSize = 20000000; + minWidth = 176; + minHeight = 144; + maxWidth = 1920; + maxHeight = 1088; + widthAlignment = 8; + heightAlignment = 8; + supportPixelFmts = [24]; + } + HDF_video_hw_dec_m4v_rk { + mime = 65534; + type = 0; + name = "HDF_video_hw_dec_m4v_rk"; + supportProfiles = [1, 1, 1, 2, 1, 4, 1, 8, 1, 16]; + isSoftwareCodec = false; + processModeMask = []; + capsMask = [0x01]; + allocateMask = [0x010, 0x020]; + minInputBufferNum = 4; + maxInputBufferNum = 20; + minOutputBufferNum = 4; + maxOutputBufferNum = 20; + minBitRate = 1; + maxBitRate = 10000000; + inputBufferSize = 20000000; + outputBufferSize = 20000000; + minWidth = 176; + minHeight = 144; + maxWidth = 1920; + maxHeight = 1088; + widthAlignment = 8; + heightAlignment = 8; + supportPixelFmts = [24]; + } + HDF_video_hw_dec_flv_rk { + mime = 65535; + type = 0; + name = "HDF_video_hw_dec_flv_rk"; + supportProfiles = []; + isSoftwareCodec = false; + processModeMask = []; + capsMask = [0x01]; + allocateMask = [0x010, 0x020]; + minInputBufferNum = 4; + maxInputBufferNum = 20; + minOutputBufferNum = 4; + maxOutputBufferNum = 20; + minBitRate = 1; + maxBitRate = 10000000; + inputBufferSize = 20000000; + outputBufferSize = 20000000; + minWidth = 176; + minHeight = 144; + maxWidth = 1920; + maxHeight = 1088; + widthAlignment = 8; + heightAlignment = 8; + supportPixelFmts = [24]; + } + HDF_video_hw_dec_mjpeg_rk { + mime = 0; + type = 0; + name = "HDF_video_hw_dec_mjpeg_rk"; + supportProfiles = []; + isSoftwareCodec = false; + processModeMask = []; + capsMask = [0x01]; + allocateMask = [0x010, 0x020]; + minInputBufferNum = 4; + maxInputBufferNum = 20; + minOutputBufferNum = 4; + maxOutputBufferNum = 20; + minBitRate = 1; + maxBitRate = 10000000; + inputBufferSize = 20000000; + outputBufferSize = 20000000; + minWidth = 176; + minHeight = 144; + maxWidth = 1920; + maxHeight = 1088; + widthAlignment = 8; + heightAlignment = 8; + supportPixelFmts = [24]; + } + HDF_video_hw_dec_hevc_rk { + mime = 2; + type = 0; + name = "codec.hevc.hardware.decoder"; + supportProfiles = [1, 1, 1, 4, 1, 16, 1, 64, 1, 256, 1, 1024, 1, 4096, 1, 16384, 1, 65536, 2, 65536]; + isSoftwareCodec = false; + processModeMask = []; + capsMask = [0x01]; + allocateMask = [0x010, 0x020]; + minInputBufferNum = 4; + maxInputBufferNum = 20; + minOutputBufferNum = 4; + maxOutputBufferNum = 20; + minBitRate = 1; + maxBitRate = 160000000; + inputBufferSize = 20000000; + outputBufferSize = 20000000; + minWidth = 176; + minHeight = 144; + maxWidth = 1920; + maxHeight = 1088; + widthAlignment = 2; + heightAlignment = 2; + supportPixelFmts = [24]; + } + } + VideoSwEncoders { + } + VideoSwDecoders { + } + AudioHwEncoders { + } + AudioHwDecoders { + } + AudioSwEncoders { + } + AudioSwDecoders { + } + } +}