diff --git a/proprietary/vendor/etc/media_codecs_diwali_v0.xml b/proprietary/vendor/etc/media_codecs_diwali_v0.xml new file mode 100644 index 0000000..bc22ff0 --- /dev/null +++ b/proprietary/vendor/etc/media_codecs_diwali_v0.xml @@ -0,0 +1,318 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/proprietary/vendor/etc/media_codecs_diwali_v1.xml b/proprietary/vendor/etc/media_codecs_diwali_v1.xml new file mode 100644 index 0000000..97f0198 --- /dev/null +++ b/proprietary/vendor/etc/media_codecs_diwali_v1.xml @@ -0,0 +1,303 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/proprietary/vendor/etc/media_codecs_diwali_v2.xml b/proprietary/vendor/etc/media_codecs_diwali_v2.xml new file mode 100644 index 0000000..2d6c393 --- /dev/null +++ b/proprietary/vendor/etc/media_codecs_diwali_v2.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/proprietary/vendor/etc/media_codecs_performance_diwali_v0.xml b/proprietary/vendor/etc/media_codecs_performance_diwali_v0.xml new file mode 100644 index 0000000..b67d116 --- /dev/null +++ b/proprietary/vendor/etc/media_codecs_performance_diwali_v0.xml @@ -0,0 +1,186 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/proprietary/vendor/etc/media_codecs_performance_diwali_v1.xml b/proprietary/vendor/etc/media_codecs_performance_diwali_v1.xml new file mode 100644 index 0000000..b67d116 --- /dev/null +++ b/proprietary/vendor/etc/media_codecs_performance_diwali_v1.xml @@ -0,0 +1,186 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/proprietary/vendor/etc/media_codecs_performance_diwali_v2.xml b/proprietary/vendor/etc/media_codecs_performance_diwali_v2.xml new file mode 100644 index 0000000..f4a7348 --- /dev/null +++ b/proprietary/vendor/etc/media_codecs_performance_diwali_v2.xml @@ -0,0 +1,186 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/proprietary/vendor/etc/media_diwali_v0/video_system_specs.json b/proprietary/vendor/etc/media_diwali_v0/video_system_specs.json new file mode 100644 index 0000000..12d00c0 --- /dev/null +++ b/proprietary/vendor/etc/media_diwali_v0/video_system_specs.json @@ -0,0 +1,230 @@ +// If you modify this file, +// 1. Push it to /vendor/etc/video_system_specs.json on the device +// 2. Kill media.hwcodec to get the new changed values. +// Note: Please do not use hexadecimal values 0x in this file. +{ + "Video": { + // feature list used for enable/disable + "Features": { + // This enables single buffer multi-offset feature for decoder input buffer + "api_same_input_buffer_support": true, + // This is used for encoder color space conversion with custom matrix. + // custom matrix is defined in kernel driver + // this triggers to enable CSC to 709LR with custom matrix + "enc_csc_custom_matrix": false, + // this enables adaptive blur if possible by encoder. + // this is preprocessing of encoder input YUV buffers + "enc_auto_blur": true, + // this enables encoding rotate by C2D. it is used for some low tier end chipsets which + // don't support rotate feature in video core. TODO - Rename as enc_vpss_rotation + "enc_c2d_rotation": false, + // target supports cvp for all encode usecases. + "enc_cvp_enable": true, + // encoder csc enable + "enc_csc_enable": false, + // perf hints support for decoder + "perf_control_enable": true, + // this enables pipeline code for querying capabilities and creating codecs + "pipelining": true, + // this enables pre-processing pipeline + "pre_processing_pipelining": false, + // It is used to enable fastCV engine for flip support in the absence of VPSS hardware + // support. + "enc_vpss_flip": true, + // this enables RGB conversion with image convertor + "rgb_image_converter": true, + // perf controller support for decoder and encoder + "perf_control_enable": true, + // this will enable the graphics pipeline for + // CSC and converting images to other format and + // Rotating the frame etc + "vtxr_enable": true, + // this will enable software I/O chache coherency + "sw_cache_coherency": false + }, + "Presets": { + // this is used for secure decoding performance boost handling + // prefech sizes of internal & output buffers + // internal : 200 MB (200 X 1) + // output : 200 MB (12.5 X 16) + "dec_sec_prefetch_size_internal": 209715200, + "dec_sec_prefetch_size_output": 13434880, + // control to force enable linear color format for decoder + // if this is enable, then decoder will produce linear color format output. + // it is bitmask: + // 0x0: no override, + // 0x1: enable 8 bit: linear format. 10 bit: compressed format + // 0x2: 8 bit: compressed format. 10 bit: linear format + // 0x3: 8 bit: linear format. 10 bit: linear format + "dec_linear_color_format": 0, + // maximum MB/sec for default single non-ref b-frame enablement case + // 3840x2160@30fps + "enc_single_nonref_b_max_mbs_per_sec": 972000, + // maximum MB/frame for default adaptive b-frame enablement case + // 3840x2160/256 + "enc_single_nonref_b_max_mbs_per_frame": 32400, + // maximum width for default adaptive b-frame enablement case + // Max Width=3840, Max Height=3840 + "enc_single_nonref_b_max_width": 3840, + // maximum MB/sec for default Hier-B enablement case + // 1920x1088@60fps + "enc_hier_b_max_mbs_per_sec": 489600, + // maximum MB/frame for default Hier-B enablement case + // 1920x1088/256 + "enc_hier_b_max_mbs_per_frame": 8160, + // maximum width for default Hier-B enablement case + // Max Width=1920, Max Height=1920 + "enc_hier_b_max_width": 1920, + // maximum decoder output rate if it is Nuplayer path and + // player sets max refresh rate + "max_supported_render_rate": 120, + // control to force enable linear color format for encoder + // if this is enable, then encoder will ask camera via + // consumer flag to inform usage of linear color format. + // it is used only for camera path. can't be used for non-camera producer case + // it is bitmask: + // 0x0: no override, + // 0x1: enable 8 bit: linear format. 10 bit: compressed format + // 0x2: 8 bit: compressed format. 10 bit: linear format + // 0x3: 8 bit: linear format. 10 bit: linear format + "enc_linear_color_format": 0, + // override chroma qp offset value for 8 and 10 bits: + // default: 0 + // allowed override value: -12 + "enc_chroma_qp_offset_10_bit": 0, + "enc_chroma_qp_offset_8_bit": 0, + //encoder bitrate savings control (CAC) - content adaptive coding feature + // it is bitmask. + // 0x0: disable CAC + // 0x1: 8 bit: enable. 10 bit: disable + // 0x2: 8 bit: disable. 10 bit: enable + // 0x3: 8 bit: enable. 10 bit: enable + "enc_bitrate_savings": 3, + // minimum encoder bitrate boost + "enc_bitrate_boost": 25, + // maximum and minimum QPs for Encoders + // default: 10 - 40 + // allowed override value: 0 - 51 + "enc_qp_min": 10, + "enc_qp_max": 40, + // additional buffers to be added while computing pipeline delays + "pipeline_extra_output_buffers": 2, + // time threshold of output buffer allocation loop since last input buffer queued(ms) + // 0 --> no such limitation (loop until allocation done) + "max_retry_alloc_output_timeout": 10000, + // Frameworks adds 4 buffers to achive smoothness for all resolutions. To reduce memory usage + // for higher resolutions(> 4k) reduce the output delay by smoothnessFactor. + "smoothnessFactor": 4, + // override default primaries to BT709 for >=UHD decode + "default_primaries_override" : 0, + + // WARNING: + // Please DON'T change these values, if you don't know what you are doing. + // These are the Video HAL capabilities. Video HAL may not function properly with wrong values. + // below are various capability used + "num_vpp_pipes": 2, + // video driver version capability used for skype MediaCodec + // Hex Value : 0xPPPPYYMM + // PPPP [2 Bytes] - Product ID + // YY [1 Byte ] - Year (last two digits of year {00..99}) + // MM [1 Byte ] - Month (01..12) + "vt_driver_version": 553784585, + // maximum LTR cont for encoder + "ltr_max_count": 2, + // Encoder preprocessing: maximum encoder downscalar factor possible in width or height or both direction + "preprocess_max_downscale_factor": 8, + // encoder support rotation as preprocessing + "preprocess_rotation": 1, + // Allowed encoder Hier-P maximum layer count: [0 - 6] + "enc_hier_p_max_temporal_layer_count": 6, + // Allowed encoder Hier-B maximum layer count: [0 - 4] + "enc_hier_b_max_temporal_layer_count": 4 + }, + // list of codec plugin libraries to be loaded into codec registry + "QC2CodecPlugins": [ + "libqc2vppfilter.so" + ], + + // list of filters used in pre processing + // each filter shall have properties codec_name/lib_name/input_streams/output_streams + // input_streams lists the id of input streams those are consumed by the filter + // output streams lists the is of output streams those are generated by the filter + // main stream id must be 0 + // An example multiple-stream topology: + // "QC2PreProcessingFilters": [ + // { + // // do not include .secure filter + // // both non-secure and secure filters are covered by non-secure filter name + // "codec_name": "mock.c2.qti.filter.colorconverter", + // "lib_name": "libqcodec2_mock_color_converter.so", + // // the initial input stream must be main stream (id 0) + // "input_streams": [0], + // "output_streams": [0, 1] + // }, + // { + // "codec_name": "mock.c2.qti.filter.vpp", + // "lib_name": "libqcodec2_mock_vpp.so", + // "input_streams": [0], + // "output_streams": [0] + // }, + // { + // "codec_name": "mock.c2.qti.filter.saliency", + // "lib_name": "libqcodec2_mock_saliency.so", + // "input_streams": [1], + // "output_streams": [1] + // }, + // { + // "codec_name": "mock.c2.qti.filter.streamintegrator", + // "lib_name": "libqcodec2_mock_stream_integrator.so", + // "input_streams": [0, 1], + // "output_streams": [0] + // } + // ], + // + "QC2PreProcessingFilters": [ + { + // do not include .secure filter + // both non-secure and secure filters are covered by non-secure filter name + "codec_name": "c2.qti.colorconvert.filter", + "lib_name": "libqc2colorconvertfilter.so", + "input_streams": [0], + "output_streams": [0] + }, + { + "codec_name": "mock.c2.qti.filter", + "lib_name": "libqcodec2_mockfilter.so", + "input_streams": [0], + "output_streams": [0] + } + ], + + // List of HW codecs enabled for this target + "codecs-available": { + "decoders": [ + "c2.qti.avc.decoder", + "c2.qti.avc.decoder.low_latency", + "c2.qti.hevc.decoder", + "c2.qti.hevc.decoder.low_latency", + "c2.qti.vp9.decoder", + "c2.qti.vp9.decoder.low_latency", + "c2.qti.avc.decoder.secure", + "c2.qti.hevc.decoder.secure", + "c2.qti.vp9.decoder.secure" + ], + "encoders": [ + "c2.qti.avc.encoder", + "c2.qti.hevc.encoder", + "c2.qti.hevc.encoder.cq", + "c2.qti.heic.encoder", + "c2.qti.avc.encoder.secure", + "c2.qti.hevc.encoder.secure" + ] + }, + "QC2PostProcessingFilters": { + "vppFilter": [ + "c2.qti.vpp.filter", + "c2.qti.vpp.filter.secure" + ] + } + } +} diff --git a/proprietary/vendor/etc/media_diwali_v1/video_system_specs.json b/proprietary/vendor/etc/media_diwali_v1/video_system_specs.json new file mode 100644 index 0000000..f4b2f30 --- /dev/null +++ b/proprietary/vendor/etc/media_diwali_v1/video_system_specs.json @@ -0,0 +1,230 @@ +// If you modify this file, +// 1. Push it to /vendor/etc/video_system_specs.json on the device +// 2. Kill media.hwcodec to get the new changed values. +// Note: Please do not use hexadecimal values 0x in this file. +{ + "Video": { + // feature list used for enable/disable + "Features": { + // This enables single buffer multi-offset feature for decoder input buffer + "api_same_input_buffer_support": true, + // This is used for encoder color space conversion with custom matrix. + // custom matrix is defined in kernel driver + // this triggers to enable CSC to 709LR with custom matrix + "enc_csc_custom_matrix": false, + // this enables adaptive blur if possible by encoder. + // this is preprocessing of encoder input YUV buffers + "enc_auto_blur": true, + // this enables encoding rotate by C2D. it is used for some low tier end chipsets which + // don't support rotate feature in video core. TODO - Rename as enc_vpss_rotation + "enc_c2d_rotation": false, + // target supports cvp for all encode usecases. + "enc_cvp_enable": true, + // encoder csc enable + "enc_csc_enable": false, + // perf hints support for decoder + "perf_control_enable": true, + // this enables pipeline code for querying capabilities and creating codecs + "pipelining": true, + // this enables pre-processing pipeline + "pre_processing_pipelining": false, + // It is used to enable fastCV engine for flip support in the absence of VPSS hardware + // support. + "enc_vpss_flip": true, + // this enables RGB conversion with image convertor + "rgb_image_converter": true, + // perf controller support for decoder and encoder + "perf_control_enable": true, + // this will enable the graphics pipeline for + // CSC and converting images to other format and + // Rotating the frame etc + "vtxr_enable": true, + // this will enable software I/O chache coherency + "sw_cache_coherency": false + }, + "Presets": { + // this is used for secure decoding performance boost handling + // prefech sizes of internal & output buffers + // internal : 200 MB (200 X 1) + // output : 200 MB (12.5 X 16) + "dec_sec_prefetch_size_internal": 209715200, + "dec_sec_prefetch_size_output": 13434880, + // control to force enable linear color format for decoder + // if this is enable, then decoder will produce linear color format output. + // it is bitmask: + // 0x0: no override, + // 0x1: enable 8 bit: linear format. 10 bit: compressed format + // 0x2: 8 bit: compressed format. 10 bit: linear format + // 0x3: 8 bit: linear format. 10 bit: linear format + "dec_linear_color_format": 0, + // maximum MB/sec for default single non-ref b-frame enablement case + // 3840x2160@30fps + "enc_single_nonref_b_max_mbs_per_sec": 972000, + // maximum MB/frame for default adaptive b-frame enablement case + // 3840x2160/256 + "enc_single_nonref_b_max_mbs_per_frame": 32400, + // maximum width for default adaptive b-frame enablement case + // Max Width=3840, Max Height=3840 + "enc_single_nonref_b_max_width": 3840, + // maximum MB/sec for default Hier-B enablement case + // 1920x1088@60fps + "enc_hier_b_max_mbs_per_sec": 489600, + // maximum MB/frame for default Hier-B enablement case + // 1920x1088/256 + "enc_hier_b_max_mbs_per_frame": 8160, + // maximum width for default Hier-B enablement case + // Max Width=1920, Max Height=1920 + "enc_hier_b_max_width": 1920, + // maximum decoder output rate if it is Nuplayer path and + // player sets max refresh rate + "max_supported_render_rate": 120, + // control to force enable linear color format for encoder + // if this is enable, then encoder will ask camera via + // consumer flag to inform usage of linear color format. + // it is used only for camera path. can't be used for non-camera producer case + // it is bitmask: + // 0x0: no override, + // 0x1: enable 8 bit: linear format. 10 bit: compressed format + // 0x2: 8 bit: compressed format. 10 bit: linear format + // 0x3: 8 bit: linear format. 10 bit: linear format + "enc_linear_color_format": 0, + // override chroma qp offset value for 8 and 10 bits: + // default: 0 + // allowed override value: -12 + "enc_chroma_qp_offset_10_bit": 0, + "enc_chroma_qp_offset_8_bit": 0, + //encoder bitrate savings control (CAC) - content adaptive coding feature + // it is bitmask. + // 0x0: disable CAC + // 0x1: 8 bit: enable. 10 bit: disable + // 0x2: 8 bit: disable. 10 bit: enable + // 0x3: 8 bit: enable. 10 bit: enable + "enc_bitrate_savings": 3, + // minimum encoder bitrate boost + "enc_bitrate_boost": 25, + // maximum and minimum QPs for Encoders + // default: 10 - 40 + // allowed override value: 0 - 51 + "enc_qp_min": 10, + "enc_qp_max": 40, + // additional buffers to be added while computing pipeline delays + "pipeline_extra_output_buffers": 2, + // time threshold of output buffer allocation loop since last input buffer queued(ms) + // 0 --> no such limitation (loop until allocation done) + "max_retry_alloc_output_timeout": 10000, + // Frameworks adds 4 buffers to achive smoothness for all resolutions. To reduce memory usage + // for higher resolutions(> 4k) reduce the output delay by smoothnessFactor. + "smoothnessFactor": 0, + // override default primaries to BT709 for >=UHD decode + "default_primaries_override" : 0, + + // WARNING: + // Please DON'T change these values, if you don't know what you are doing. + // These are the Video HAL capabilities. Video HAL may not function properly with wrong values. + // below are various capability used + "num_vpp_pipes": 2, + // video driver version capability used for skype MediaCodec + // Hex Value : 0xPPPPYYMM + // PPPP [2 Bytes] - Product ID + // YY [1 Byte ] - Year (last two digits of year {00..99}) + // MM [1 Byte ] - Month (01..12) + "vt_driver_version": 553784585, + // maximum LTR cont for encoder + "ltr_max_count": 2, + // Encoder preprocessing: maximum encoder downscalar factor possible in width or height or both direction + "preprocess_max_downscale_factor": 8, + // encoder support rotation as preprocessing + "preprocess_rotation": 1, + // Allowed encoder Hier-P maximum layer count: [0 - 6] + "enc_hier_p_max_temporal_layer_count": 6, + // Allowed encoder Hier-B maximum layer count: [0 - 4] + "enc_hier_b_max_temporal_layer_count": 4 + }, + // list of codec plugin libraries to be loaded into codec registry + "QC2CodecPlugins": [ + "libqc2vppfilter.so" + ], + + // list of filters used in pre processing + // each filter shall have properties codec_name/lib_name/input_streams/output_streams + // input_streams lists the id of input streams those are consumed by the filter + // output streams lists the is of output streams those are generated by the filter + // main stream id must be 0 + // An example multiple-stream topology: + // "QC2PreProcessingFilters": [ + // { + // // do not include .secure filter + // // both non-secure and secure filters are covered by non-secure filter name + // "codec_name": "mock.c2.qti.filter.colorconverter", + // "lib_name": "libqcodec2_mock_color_converter.so", + // // the initial input stream must be main stream (id 0) + // "input_streams": [0], + // "output_streams": [0, 1] + // }, + // { + // "codec_name": "mock.c2.qti.filter.vpp", + // "lib_name": "libqcodec2_mock_vpp.so", + // "input_streams": [0], + // "output_streams": [0] + // }, + // { + // "codec_name": "mock.c2.qti.filter.saliency", + // "lib_name": "libqcodec2_mock_saliency.so", + // "input_streams": [1], + // "output_streams": [1] + // }, + // { + // "codec_name": "mock.c2.qti.filter.streamintegrator", + // "lib_name": "libqcodec2_mock_stream_integrator.so", + // "input_streams": [0, 1], + // "output_streams": [0] + // } + // ], + // + "QC2PreProcessingFilters": [ + { + // do not include .secure filter + // both non-secure and secure filters are covered by non-secure filter name + "codec_name": "c2.qti.colorconvert.filter", + "lib_name": "libqc2colorconvertfilter.so", + "input_streams": [0], + "output_streams": [0] + }, + { + "codec_name": "mock.c2.qti.filter", + "lib_name": "libqcodec2_mockfilter.so", + "input_streams": [0], + "output_streams": [0] + } + ], + + // List of HW codecs enabled for this target + "codecs-available": { + "decoders": [ + "c2.qti.avc.decoder", + "c2.qti.avc.decoder.low_latency", + "c2.qti.hevc.decoder", + "c2.qti.hevc.decoder.low_latency", + "c2.qti.vp9.decoder", + "c2.qti.vp9.decoder.low_latency", + "c2.qti.avc.decoder.secure", + "c2.qti.hevc.decoder.secure", + "c2.qti.vp9.decoder.secure" + ], + "encoders": [ + "c2.qti.avc.encoder", + "c2.qti.hevc.encoder", + "c2.qti.hevc.encoder.cq", + "c2.qti.heic.encoder", + "c2.qti.avc.encoder.secure", + "c2.qti.hevc.encoder.secure" + ] + }, + "QC2PostProcessingFilters": { + "vppFilter": [ + "c2.qti.vpp.filter", + "c2.qti.vpp.filter.secure" + ] + } + } +} diff --git a/proprietary/vendor/etc/media_diwali_v2/video_system_specs.json b/proprietary/vendor/etc/media_diwali_v2/video_system_specs.json new file mode 100644 index 0000000..f4b2f30 --- /dev/null +++ b/proprietary/vendor/etc/media_diwali_v2/video_system_specs.json @@ -0,0 +1,230 @@ +// If you modify this file, +// 1. Push it to /vendor/etc/video_system_specs.json on the device +// 2. Kill media.hwcodec to get the new changed values. +// Note: Please do not use hexadecimal values 0x in this file. +{ + "Video": { + // feature list used for enable/disable + "Features": { + // This enables single buffer multi-offset feature for decoder input buffer + "api_same_input_buffer_support": true, + // This is used for encoder color space conversion with custom matrix. + // custom matrix is defined in kernel driver + // this triggers to enable CSC to 709LR with custom matrix + "enc_csc_custom_matrix": false, + // this enables adaptive blur if possible by encoder. + // this is preprocessing of encoder input YUV buffers + "enc_auto_blur": true, + // this enables encoding rotate by C2D. it is used for some low tier end chipsets which + // don't support rotate feature in video core. TODO - Rename as enc_vpss_rotation + "enc_c2d_rotation": false, + // target supports cvp for all encode usecases. + "enc_cvp_enable": true, + // encoder csc enable + "enc_csc_enable": false, + // perf hints support for decoder + "perf_control_enable": true, + // this enables pipeline code for querying capabilities and creating codecs + "pipelining": true, + // this enables pre-processing pipeline + "pre_processing_pipelining": false, + // It is used to enable fastCV engine for flip support in the absence of VPSS hardware + // support. + "enc_vpss_flip": true, + // this enables RGB conversion with image convertor + "rgb_image_converter": true, + // perf controller support for decoder and encoder + "perf_control_enable": true, + // this will enable the graphics pipeline for + // CSC and converting images to other format and + // Rotating the frame etc + "vtxr_enable": true, + // this will enable software I/O chache coherency + "sw_cache_coherency": false + }, + "Presets": { + // this is used for secure decoding performance boost handling + // prefech sizes of internal & output buffers + // internal : 200 MB (200 X 1) + // output : 200 MB (12.5 X 16) + "dec_sec_prefetch_size_internal": 209715200, + "dec_sec_prefetch_size_output": 13434880, + // control to force enable linear color format for decoder + // if this is enable, then decoder will produce linear color format output. + // it is bitmask: + // 0x0: no override, + // 0x1: enable 8 bit: linear format. 10 bit: compressed format + // 0x2: 8 bit: compressed format. 10 bit: linear format + // 0x3: 8 bit: linear format. 10 bit: linear format + "dec_linear_color_format": 0, + // maximum MB/sec for default single non-ref b-frame enablement case + // 3840x2160@30fps + "enc_single_nonref_b_max_mbs_per_sec": 972000, + // maximum MB/frame for default adaptive b-frame enablement case + // 3840x2160/256 + "enc_single_nonref_b_max_mbs_per_frame": 32400, + // maximum width for default adaptive b-frame enablement case + // Max Width=3840, Max Height=3840 + "enc_single_nonref_b_max_width": 3840, + // maximum MB/sec for default Hier-B enablement case + // 1920x1088@60fps + "enc_hier_b_max_mbs_per_sec": 489600, + // maximum MB/frame for default Hier-B enablement case + // 1920x1088/256 + "enc_hier_b_max_mbs_per_frame": 8160, + // maximum width for default Hier-B enablement case + // Max Width=1920, Max Height=1920 + "enc_hier_b_max_width": 1920, + // maximum decoder output rate if it is Nuplayer path and + // player sets max refresh rate + "max_supported_render_rate": 120, + // control to force enable linear color format for encoder + // if this is enable, then encoder will ask camera via + // consumer flag to inform usage of linear color format. + // it is used only for camera path. can't be used for non-camera producer case + // it is bitmask: + // 0x0: no override, + // 0x1: enable 8 bit: linear format. 10 bit: compressed format + // 0x2: 8 bit: compressed format. 10 bit: linear format + // 0x3: 8 bit: linear format. 10 bit: linear format + "enc_linear_color_format": 0, + // override chroma qp offset value for 8 and 10 bits: + // default: 0 + // allowed override value: -12 + "enc_chroma_qp_offset_10_bit": 0, + "enc_chroma_qp_offset_8_bit": 0, + //encoder bitrate savings control (CAC) - content adaptive coding feature + // it is bitmask. + // 0x0: disable CAC + // 0x1: 8 bit: enable. 10 bit: disable + // 0x2: 8 bit: disable. 10 bit: enable + // 0x3: 8 bit: enable. 10 bit: enable + "enc_bitrate_savings": 3, + // minimum encoder bitrate boost + "enc_bitrate_boost": 25, + // maximum and minimum QPs for Encoders + // default: 10 - 40 + // allowed override value: 0 - 51 + "enc_qp_min": 10, + "enc_qp_max": 40, + // additional buffers to be added while computing pipeline delays + "pipeline_extra_output_buffers": 2, + // time threshold of output buffer allocation loop since last input buffer queued(ms) + // 0 --> no such limitation (loop until allocation done) + "max_retry_alloc_output_timeout": 10000, + // Frameworks adds 4 buffers to achive smoothness for all resolutions. To reduce memory usage + // for higher resolutions(> 4k) reduce the output delay by smoothnessFactor. + "smoothnessFactor": 0, + // override default primaries to BT709 for >=UHD decode + "default_primaries_override" : 0, + + // WARNING: + // Please DON'T change these values, if you don't know what you are doing. + // These are the Video HAL capabilities. Video HAL may not function properly with wrong values. + // below are various capability used + "num_vpp_pipes": 2, + // video driver version capability used for skype MediaCodec + // Hex Value : 0xPPPPYYMM + // PPPP [2 Bytes] - Product ID + // YY [1 Byte ] - Year (last two digits of year {00..99}) + // MM [1 Byte ] - Month (01..12) + "vt_driver_version": 553784585, + // maximum LTR cont for encoder + "ltr_max_count": 2, + // Encoder preprocessing: maximum encoder downscalar factor possible in width or height or both direction + "preprocess_max_downscale_factor": 8, + // encoder support rotation as preprocessing + "preprocess_rotation": 1, + // Allowed encoder Hier-P maximum layer count: [0 - 6] + "enc_hier_p_max_temporal_layer_count": 6, + // Allowed encoder Hier-B maximum layer count: [0 - 4] + "enc_hier_b_max_temporal_layer_count": 4 + }, + // list of codec plugin libraries to be loaded into codec registry + "QC2CodecPlugins": [ + "libqc2vppfilter.so" + ], + + // list of filters used in pre processing + // each filter shall have properties codec_name/lib_name/input_streams/output_streams + // input_streams lists the id of input streams those are consumed by the filter + // output streams lists the is of output streams those are generated by the filter + // main stream id must be 0 + // An example multiple-stream topology: + // "QC2PreProcessingFilters": [ + // { + // // do not include .secure filter + // // both non-secure and secure filters are covered by non-secure filter name + // "codec_name": "mock.c2.qti.filter.colorconverter", + // "lib_name": "libqcodec2_mock_color_converter.so", + // // the initial input stream must be main stream (id 0) + // "input_streams": [0], + // "output_streams": [0, 1] + // }, + // { + // "codec_name": "mock.c2.qti.filter.vpp", + // "lib_name": "libqcodec2_mock_vpp.so", + // "input_streams": [0], + // "output_streams": [0] + // }, + // { + // "codec_name": "mock.c2.qti.filter.saliency", + // "lib_name": "libqcodec2_mock_saliency.so", + // "input_streams": [1], + // "output_streams": [1] + // }, + // { + // "codec_name": "mock.c2.qti.filter.streamintegrator", + // "lib_name": "libqcodec2_mock_stream_integrator.so", + // "input_streams": [0, 1], + // "output_streams": [0] + // } + // ], + // + "QC2PreProcessingFilters": [ + { + // do not include .secure filter + // both non-secure and secure filters are covered by non-secure filter name + "codec_name": "c2.qti.colorconvert.filter", + "lib_name": "libqc2colorconvertfilter.so", + "input_streams": [0], + "output_streams": [0] + }, + { + "codec_name": "mock.c2.qti.filter", + "lib_name": "libqcodec2_mockfilter.so", + "input_streams": [0], + "output_streams": [0] + } + ], + + // List of HW codecs enabled for this target + "codecs-available": { + "decoders": [ + "c2.qti.avc.decoder", + "c2.qti.avc.decoder.low_latency", + "c2.qti.hevc.decoder", + "c2.qti.hevc.decoder.low_latency", + "c2.qti.vp9.decoder", + "c2.qti.vp9.decoder.low_latency", + "c2.qti.avc.decoder.secure", + "c2.qti.hevc.decoder.secure", + "c2.qti.vp9.decoder.secure" + ], + "encoders": [ + "c2.qti.avc.encoder", + "c2.qti.hevc.encoder", + "c2.qti.hevc.encoder.cq", + "c2.qti.heic.encoder", + "c2.qti.avc.encoder.secure", + "c2.qti.hevc.encoder.secure" + ] + }, + "QC2PostProcessingFilters": { + "vppFilter": [ + "c2.qti.vpp.filter", + "c2.qti.vpp.filter.secure" + ] + } + } +} diff --git a/proprietary/vendor/etc/media_profiles_diwali_v0.xml b/proprietary/vendor/etc/media_profiles_diwali_v0.xml new file mode 100644 index 0000000..cb84d3d --- /dev/null +++ b/proprietary/vendor/etc/media_profiles_diwali_v0.xml @@ -0,0 +1,1801 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/proprietary/vendor/etc/media_profiles_diwali_v1.xml b/proprietary/vendor/etc/media_profiles_diwali_v1.xml new file mode 100644 index 0000000..cb84d3d --- /dev/null +++ b/proprietary/vendor/etc/media_profiles_diwali_v1.xml @@ -0,0 +1,1801 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/proprietary/vendor/etc/media_profiles_diwali_v2.xml b/proprietary/vendor/etc/media_profiles_diwali_v2.xml new file mode 100644 index 0000000..f02f501 --- /dev/null +++ b/proprietary/vendor/etc/media_profiles_diwali_v2.xml @@ -0,0 +1,1762 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sm8450-common-vendor.mk b/sm8450-common-vendor.mk index dbb1ed6..7bfef38 100644 --- a/sm8450-common-vendor.mk +++ b/sm8450-common-vendor.mk @@ -380,12 +380,24 @@ PRODUCT_COPY_FILES += \ vendor/xiaomi/sm8450-common/proprietary/vendor/etc/lm/sPLHFeature.xml:$(TARGET_COPY_OUT_VENDOR)/etc/lm/sPLHFeature.xml \ vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_cape/video_system_specs.json:$(TARGET_COPY_OUT_VENDOR)/etc/media_cape/video_system_specs.json \ vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_codecs_cape.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_cape.xml \ + vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_codecs_diwali_v0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_diwali_v0.xml \ + vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_codecs_diwali_v1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_diwali_v1.xml \ + vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_codecs_diwali_v2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_diwali_v2.xml \ vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_codecs_performance_cape.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_cape.xml \ + vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_codecs_performance_diwali_v0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_diwali_v0.xml \ + vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_codecs_performance_diwali_v1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_diwali_v1.xml \ + vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_codecs_performance_diwali_v2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_diwali_v2.xml \ vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_codecs_performance_taro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_taro.xml \ vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_codecs_performance_ukee.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_ukee.xml \ vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_codecs_taro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_taro.xml \ vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_codecs_ukee.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_ukee.xml \ + vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_diwali_v0/video_system_specs.json:$(TARGET_COPY_OUT_VENDOR)/etc/media_diwali_v0/video_system_specs.json \ + vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_diwali_v1/video_system_specs.json:$(TARGET_COPY_OUT_VENDOR)/etc/media_diwali_v1/video_system_specs.json \ + vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_diwali_v2/video_system_specs.json:$(TARGET_COPY_OUT_VENDOR)/etc/media_diwali_v2/video_system_specs.json \ vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_profiles_cape.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_cape.xml \ + vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_profiles_diwali_v0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_diwali_v0.xml \ + vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_profiles_diwali_v1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_diwali_v1.xml \ + vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_profiles_diwali_v2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_diwali_v2.xml \ vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_profiles_taro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_taro.xml \ vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_profiles_ukee.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_ukee.xml \ vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_taro/video_system_specs.json:$(TARGET_COPY_OUT_VENDOR)/etc/media_taro/video_system_specs.json \