summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf_files/sm6150/media_codecs.xml18
-rw-r--r--conf_files/sm6150/media_codecs_sdmmagpie_v1.xml97
-rw-r--r--conf_files/sm6150/media_codecs_vendor_sdmmagpie_v0.xml2
-rw-r--r--conf_files/sm6150/media_codecs_vendor_sdmmagpie_v1.xml99
-rw-r--r--mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp14
-rw-r--r--mm-video-v4l2/vidc/venc/src/omx_video_encoder.cpp21
-rw-r--r--mm-video-v4l2/vidc/venc/src/video_encoder_device_v4l2.cpp6
7 files changed, 134 insertions, 123 deletions
diff --git a/conf_files/sm6150/media_codecs.xml b/conf_files/sm6150/media_codecs.xml
index c2ba2d2e..030fbc41 100644
--- a/conf_files/sm6150/media_codecs.xml
+++ b/conf_files/sm6150/media_codecs.xml
@@ -88,7 +88,7 @@ Only the three quirks included above are recognized at this point:
| h264 | 4096 2160 24 100 829440 |
| hevc | 4096 2160 24 100 829440 |
| mpeg4-sw | 1920 1088 30 40 244800 |
- | vp8 | 3840 2160 30 100 972000 |
+ | vp8 | 1920 1088 60 100 489600 |
| vp9 | 4096 2160 24 100 829440 |
| vc1 | 1920 1088 30 20 244800 |
| h263-sw | 864 480 30 16 48600 |
@@ -112,7 +112,7 @@ Only the three quirks included above are recognized at this point:
| h264 | 4096 2160 24 100 829440 |
| hevc | 4096 2160 24 100 829440 |
| mpeg4-sw | 1280 720 30 4 108000 |
- | vp8 | 3840 2160 30 100 972000 |
+ | vp8 | 1920 1088 60 40 489600 |
| h263-sw | 864 480 30 2 48600 |
|__________|_________________________________________|
-->
@@ -145,12 +145,12 @@ Only the three quirks included above are recognized at this point:
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
- <Limit name="size" min="96x96" max="3840x2160" />
+ <Limit name="size" min="96x96" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="24" max="979200" />
- <Limit name="bitrate" range="1-120000000" />
- <Limit name="frame-rate" range="1-240" />
+ <Limit name="blocks-per-second" min="24" max="489600" />
+ <Limit name="bitrate" range="1-40000000" />
+ <Limit name="frame-rate" range="1-120" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-3840x2160" value="30" />
</MediaCodec>
@@ -272,12 +272,12 @@ Only the three quirks included above are recognized at this point:
<MediaCodec name="OMX.qcom.video.decoder.vp8" type="video/x-vnd.on2.vp8" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
- <Limit name="size" min="96x96" max="3840x2160" />
+ <Limit name="size" min="96x96" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="24" max="979200" />
+ <Limit name="blocks-per-second" min="24" max="489600" />
<Limit name="bitrate" range="1-100000000" />
- <Limit name="frame-rate" range="1-240" />
+ <Limit name="frame-rate" range="1-120" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-3840x2160" value="30" />
diff --git a/conf_files/sm6150/media_codecs_sdmmagpie_v1.xml b/conf_files/sm6150/media_codecs_sdmmagpie_v1.xml
index 2cff647e..cf99e49a 100644
--- a/conf_files/sm6150/media_codecs_sdmmagpie_v1.xml
+++ b/conf_files/sm6150/media_codecs_sdmmagpie_v1.xml
@@ -87,14 +87,11 @@ Only the three quirks included above are recognized at this point:
_________________________________________________________
| Codec | W H fps Mbps MB/s |
|_____________|_________________________________________|
- | h264 | 4096 2160 60 120 2073600 |
- | | (4096) (2304) (30) (120) |
- | hevc | 4096 2160 60 120 2073600 |
- | | (4096) (2304) (30) (120) |
+ | h264 | 4096 2160 30 100 1036800 |
+ | hevc | 4096 2160 30 100 1036800 |
| mpeg4-sw | 1920 1088 30 40 244800 |
- | vp8 | 4096 2160 30 120 1036800 |
- | | (4096) (2304) (24) (120) |
- | vp9 | 4096 2160 60 120 2073600 |
+ | vp8 | 1920 1088 60 100 489600 |
+ | vp9 | 4096 2160 30 100 1036800 |
| | (4096) (2304) (30) (120) |
| vc1 | 1920 1088 30 20 244800 |
| h263-sw | 864 480 30 16 48600 |
@@ -105,12 +102,9 @@ Only the three quirks included above are recognized at this point:
______________________________________________________
| Codec | W H fps Mbps MB/s |
|__________|_________________________________________|
- | h264 | 4096 2160 60 40 2073600 |
- | | (4096) (2304) (30) (40) |
- | vp9 | 4096 2160 60 40 2073600 |
- | | (4096) (2304) (30) (40) |
- | hevc | 4096 2160 60 40 2073600 |
- | | (4096) (2304) (30) (40) |
+ | h264 | 4096 2160 30 40 1036800 |
+ | vp9 | 4096 2160 30 40 1036800 |
+ | hevc | 4096 2160 30 40 1036800 |
| mpeg2 | 1920 1088 30 40 244800 |
|__________|_________________________________________|
@@ -118,13 +112,10 @@ Only the three quirks included above are recognized at this point:
______________________________________________________
| Codec | W H fps Mbps MB/s |
|__________|_________________________________________|
- | h264 | 4096 2160 60 120 2073600 |
- | | (4096) (2304) (30) (120) |
- | hevc | 4096 2160 60 120 2073600 |
- | | (4096) (2304) (30) (120) |
+ | h264 | 4096 2160 30 100 1036800 |
+ | hevc | 4096 2160 30 100 1036800 |
| mpeg4-sw | 1280 720 30 4 108000 |
- | vp8 | 4096 2160 30 120 1036800 |
- | | (4096) (2304) (24) (120) |
+ | vp8 | 1920 1088 60 40 489600 |
| h263-sw | 864 480 30 2 48600 |
|__________|_________________________________________|
-->
@@ -141,36 +132,36 @@ Only the three quirks included above are recognized at this point:
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
- <Limit name="size" min="96x96" max="4096x2304" />
+ <Limit name="size" min="96x96" max="4096x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="24" max="2073600" />
- <Limit name="bitrate" range="1-120000000" />
- <Limit name="frame-rate" range="1-480" />
+ <Limit name="blocks-per-second" min="24" max="1036800" />
+ <Limit name="bitrate" range="1-100000000" />
+ <Limit name="frame-rate" range="1-240" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.vp8" type="video/x-vnd.on2.vp8" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
- <Limit name="size" min="96x96" max="4096x2304" />
+ <Limit name="size" min="96x96" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="24" max="1036800" />
- <Limit name="bitrate" range="1-120000000" />
- <Limit name="frame-rate" range="1-240" />
+ <Limit name="blocks-per-second" min="24" max="489600" />
+ <Limit name="bitrate" range="1-40000000" />
+ <Limit name="frame-rate" range="1-120" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.hevc" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
- <Limit name="size" min="96x96" max="4096x2304" />
+ <Limit name="size" min="96x96" max="4096x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="24" max="2073600" />
- <Limit name="bitrate" range="1-120000000" />
- <Limit name="frame-rate" range="1-480" />
+ <Limit name="blocks-per-second" min="24" max="1036800" />
+ <Limit name="bitrate" range="1-100000000" />
+ <Limit name="frame-rate" range="1-240" />
<Limit name="concurrent-instances" max="16" />
<Limit name="quality" range="0-100" default="80" />
<Feature name="bitrate-modes" value="VBR,CBR,CQ" />
@@ -206,22 +197,22 @@ Only the three quirks included above are recognized at this point:
<MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
- <Limit name="size" min="96x96" max="4096x2304" />
+ <Limit name="size" min="96x96" max="4096x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="24" max="2073600" />
- <Limit name="bitrate" range="1-120000000" />
- <Limit name="frame-rate" range="1-480" />
+ <Limit name="blocks-per-second" min="24" max="1036800" />
+ <Limit name="bitrate" range="1-100000000" />
+ <Limit name="frame-rate" range="1-240" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.avc.secure" type="video/avc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
- <Limit name="size" min="96x96" max="4096x2304" />
+ <Limit name="size" min="96x96" max="4096x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="24" max="2073600" />
+ <Limit name="blocks-per-second" min="24" max="1036800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
@@ -256,34 +247,34 @@ Only the three quirks included above are recognized at this point:
<MediaCodec name="OMX.qcom.video.decoder.vp8" type="video/x-vnd.on2.vp8" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
- <Limit name="size" min="96x96" max="4096x2304" />
+ <Limit name="size" min="96x96" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="24" max="1036800" />
- <Limit name="bitrate" range="1-120000000" />
- <Limit name="frame-rate" range="1-240" />
+ <Limit name="blocks-per-second" min="24" max="489600" />
+ <Limit name="bitrate" range="1-100000000" />
+ <Limit name="frame-rate" range="1-120" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp9" type="video/x-vnd.on2.vp9" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
- <Limit name="size" min="96x96" max="4096x2304" />
+ <Limit name="size" min="96x96" max="4096x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="24" max="2073600" />
- <Limit name="bitrate" range="1-120000000" />
- <Limit name="frame-rate" range="1-480" />
+ <Limit name="blocks-per-second" min="24" max="1036800" />
+ <Limit name="bitrate" range="1-100000000" />
+ <Limit name="frame-rate" range="1-240" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="6" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp9.secure" type="video/x-vnd.on2.vp9" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
- <Limit name="size" min="96x96" max="4096x2304" />
+ <Limit name="size" min="96x96" max="4096x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="24" max="2073600" />
+ <Limit name="blocks-per-second" min="24" max="1036800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
@@ -293,22 +284,22 @@ Only the three quirks included above are recognized at this point:
<MediaCodec name="OMX.qcom.video.decoder.hevc" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
- <Limit name="size" min="96x96" max="4096x2304" />
+ <Limit name="size" min="96x96" max="4096x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="24" max="2073600" />
- <Limit name="bitrate" range="1-120000000" />
- <Limit name="frame-rate" range="1-480" />
+ <Limit name="blocks-per-second" min="24" max="1036800" />
+ <Limit name="bitrate" range="1-100000000" />
+ <Limit name="frame-rate" range="1-240" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.hevc.secure" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
- <Limit name="size" min="96x96" max="4096x2304" />
+ <Limit name="size" min="96x96" max="4096x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="24" max="2073600" />
+ <Limit name="blocks-per-second" min="24" max="1036800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
diff --git a/conf_files/sm6150/media_codecs_vendor_sdmmagpie_v0.xml b/conf_files/sm6150/media_codecs_vendor_sdmmagpie_v0.xml
index 1901a2e9..1f8b65e6 100644
--- a/conf_files/sm6150/media_codecs_vendor_sdmmagpie_v0.xml
+++ b/conf_files/sm6150/media_codecs_vendor_sdmmagpie_v0.xml
@@ -203,7 +203,7 @@ Only the three quirks included above are recognized at this point:
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
- <Limit name="size" min="512x512" max="4096x2160" />
+ <Limit name="size" min="512x512" max="8192x8192" />
<Limit name="frame-rate" range="1-20" />
<Limit name="concurrent-instances" max="6" />
<Limit name="quality" range="0-100" default="80" />
diff --git a/conf_files/sm6150/media_codecs_vendor_sdmmagpie_v1.xml b/conf_files/sm6150/media_codecs_vendor_sdmmagpie_v1.xml
index 5fe914d5..e20dfecc 100644
--- a/conf_files/sm6150/media_codecs_vendor_sdmmagpie_v1.xml
+++ b/conf_files/sm6150/media_codecs_vendor_sdmmagpie_v1.xml
@@ -87,14 +87,11 @@ Only the three quirks included above are recognized at this point:
_________________________________________________________
| Codec | W H fps Mbps MB/s |
|_____________|_________________________________________|
- | h264 | 4096 2160 60 120 2073600 |
- | | (4096) (2304) (30) (120) |
- | hevc | 4096 2160 60 120 2073600 |
- | | (4096) (2304) (30) (120) |
+ | h264 | 4096 2160 30 100 1036800 |
+ | hevc | 4096 2160 30 100 1036800 |
| mpeg4-sw | 1920 1088 30 40 244800 |
- | vp8 | 4096 2160 30 120 1036800 |
- | | (4096) (2304) (24) (120) |
- | vp9 | 4096 2160 60 120 2073600 |
+ | vp8 | 1920 1088 60 100 489600 |
+ | vp9 | 4096 2160 30 100 1036800 |
| | (4096) (2304) (30) (120) |
| vc1 | 1920 1088 30 20 244800 |
| h263-sw | 864 480 30 16 48600 |
@@ -105,12 +102,9 @@ Only the three quirks included above are recognized at this point:
______________________________________________________
| Codec | W H fps Mbps MB/s |
|__________|_________________________________________|
- | h264 | 4096 2160 60 40 2073600 |
- | | (4096) (2304) (30) (40) |
- | vp9 | 4096 2160 60 40 2073600 |
- | | (4096) (2304) (30) (40) |
- | hevc | 4096 2160 60 40 2073600 |
- | | (4096) (2304) (30) (40) |
+ | h264 | 4096 2160 30 40 1036800 |
+ | vp9 | 4096 2160 30 40 1036800 |
+ | hevc | 4096 2160 30 40 1036800 |
| mpeg2 | 1920 1088 30 40 244800 |
|__________|_________________________________________|
@@ -118,13 +112,10 @@ Only the three quirks included above are recognized at this point:
______________________________________________________
| Codec | W H fps Mbps MB/s |
|__________|_________________________________________|
- | h264 | 4096 2160 60 120 2073600 |
- | | (4096) (2304) (30) (120) |
- | hevc | 4096 2160 60 120 2073600 |
- | | (4096) (2304) (30) (120) |
+ | h264 | 4096 2160 30 100 1036800 |
+ | hevc | 4096 2160 30 100 1036800 |
| mpeg4-sw | 1280 720 30 4 108000 |
- | vp8 | 4096 2160 30 120 1036800 |
- | | (4096) (2304) (24) (120) |
+ | vp8 | 1920 1088 60 40 489600 |
| h263-sw | 864 480 30 2 48600 |
|__________|_________________________________________|
-->
@@ -142,12 +133,12 @@ Only the three quirks included above are recognized at this point:
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
- <Limit name="size" min="96x96" max="4096x2304" />
+ <Limit name="size" min="96x96" max="4096x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="24" max="2073600" />
- <Limit name="bitrate" range="1-120000000" />
- <Limit name="frame-rate" range="1-480" />
+ <Limit name="blocks-per-second" min="24" max="1036800" />
+ <Limit name="bitrate" range="1-100000000" />
+ <Limit name="frame-rate" range="1-240" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2160" value="24" />
<Limit name="performance-point-3840x2160" value="30" />
@@ -158,12 +149,12 @@ Only the three quirks included above are recognized at this point:
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
- <Limit name="size" min="96x96" max="4096x2304" />
+ <Limit name="size" min="96x96" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="24" max="1036800" />
- <Limit name="bitrate" range="1-120000000" />
- <Limit name="frame-rate" range="1-240" />
+ <Limit name="blocks-per-second" min="24" max="489600" />
+ <Limit name="bitrate" range="1-40000000" />
+ <Limit name="frame-rate" range="1-120" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1920x1080" value="60" />
<Limit name="performance-point-1280x720" value="120" />
@@ -172,12 +163,12 @@ Only the three quirks included above are recognized at this point:
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
- <Limit name="size" min="96x96" max="4096x2304" />
+ <Limit name="size" min="96x96" max="4096x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="24" max="2073600" />
- <Limit name="bitrate" range="1-120000000" />
- <Limit name="frame-rate" range="1-480" />
+ <Limit name="blocks-per-second" min="24" max="1036800" />
+ <Limit name="bitrate" range="1-100000000" />
+ <Limit name="frame-rate" range="1-240" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2160" value="24" />
<Limit name="performance-point-3840x2160" value="30" />
@@ -203,7 +194,7 @@ Only the three quirks included above are recognized at this point:
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
- <Limit name="size" min="512x512" max="4096x2160" />
+ <Limit name="size" min="512x512" max="8192x8192" />
<Limit name="frame-rate" range="1-20" />
<Limit name="concurrent-instances" max="6" />
<Limit name="quality" range="0-100" default="80" />
@@ -247,12 +238,12 @@ Only the three quirks included above are recognized at this point:
<MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
- <Limit name="size" min="96x96" max="4096x2304" />
+ <Limit name="size" min="96x96" max="4096x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="24" max="2073600" />
- <Limit name="bitrate" range="1-120000000" />
- <Limit name="frame-rate" range="1-480" />
+ <Limit name="blocks-per-second" min="24" max="1036800" />
+ <Limit name="bitrate" range="1-100000000" />
+ <Limit name="frame-rate" range="1-240" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2160" value="24" />
@@ -263,10 +254,10 @@ Only the three quirks included above are recognized at this point:
<MediaCodec name="OMX.qcom.video.decoder.avc.secure" type="video/avc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
- <Limit name="size" min="96x96" max="4096x2304" />
+ <Limit name="size" min="96x96" max="4096x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="24" max="2073600" />
+ <Limit name="blocks-per-second" min="24" max="1036800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
@@ -306,12 +297,12 @@ Only the three quirks included above are recognized at this point:
<MediaCodec name="OMX.qcom.video.decoder.vp8" type="video/x-vnd.on2.vp8" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
- <Limit name="size" min="96x96" max="4096x2304" />
+ <Limit name="size" min="96x96" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="24" max="1036800" />
- <Limit name="bitrate" range="1-120000000" />
- <Limit name="frame-rate" range="1-240" />
+ <Limit name="blocks-per-second" min="24" max="489600" />
+ <Limit name="bitrate" range="1-100000000" />
+ <Limit name="frame-rate" range="1-120" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1920x1080" value="60" />
@@ -320,12 +311,12 @@ Only the three quirks included above are recognized at this point:
<MediaCodec name="OMX.qcom.video.decoder.vp9" type="video/x-vnd.on2.vp9" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
- <Limit name="size" min="96x96" max="4096x2304" />
+ <Limit name="size" min="96x96" max="4096x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="24" max="2073600" />
- <Limit name="bitrate" range="1-120000000" />
- <Limit name="frame-rate" range="1-480" />
+ <Limit name="blocks-per-second" min="24" max="1036800" />
+ <Limit name="bitrate" range="1-100000000" />
+ <Limit name="frame-rate" range="1-240" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="6" />
<Limit name="performance-point-4096x2160" value="24" />
@@ -336,10 +327,10 @@ Only the three quirks included above are recognized at this point:
<MediaCodec name="OMX.qcom.video.decoder.vp9.secure" type="video/x-vnd.on2.vp9" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
- <Limit name="size" min="96x96" max="4096x2304" />
+ <Limit name="size" min="96x96" max="4096x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="24" max="2073600" />
+ <Limit name="blocks-per-second" min="24" max="1036800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
@@ -352,12 +343,12 @@ Only the three quirks included above are recognized at this point:
<MediaCodec name="OMX.qcom.video.decoder.hevc" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
- <Limit name="size" min="96x96" max="4096x2304" />
+ <Limit name="size" min="96x96" max="4096x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="24" max="2073600" />
- <Limit name="bitrate" range="1-120000000" />
- <Limit name="frame-rate" range="1-480" />
+ <Limit name="blocks-per-second" min="24" max="1036800" />
+ <Limit name="bitrate" range="1-100000000" />
+ <Limit name="frame-rate" range="1-240" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2160" value="24" />
@@ -368,10 +359,10 @@ Only the three quirks included above are recognized at this point:
<MediaCodec name="OMX.qcom.video.decoder.hevc.secure" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
- <Limit name="size" min="96x96" max="4096x2304" />
+ <Limit name="size" min="96x96" max="4096x2160" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="24" max="2073600" />
+ <Limit name="blocks-per-second" min="24" max="1036800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
diff --git a/mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp b/mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp
index 68b48073..5f4d8537 100644
--- a/mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp
+++ b/mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp
@@ -12718,8 +12718,13 @@ OMX_BUFFERHEADERTYPE* omx_vdec::allocate_color_convert_buf::get_il_buf_hdr
{
bool status = true;
pthread_mutex_lock(&omx->c_lock);
+ /* Whenever port mode is set to kPortModeDynamicANWBuffer, Video Frameworks
+ always uses VideoNativeMetadata and OMX recives buffer type as
+ grallocsource via storeMetaDataInBuffers_l API. The buffer_size
+ will be communicated to frameworks via IndexParamPortdefinition. */
if (!enabled)
- buffer_size = omx->drv_ctx.op_buf.buffer_size;
+ buffer_size = omx->dynamic_buf_mode ? sizeof(struct VideoNativeMetadata) :
+ omx->drv_ctx.op_buf.buffer_size;
else {
buffer_size = c2dcc.getBuffSize(C2D_OUTPUT);
}
@@ -12728,9 +12733,10 @@ OMX_BUFFERHEADERTYPE* omx_vdec::allocate_color_convert_buf::get_il_buf_hdr
}
OMX_ERRORTYPE omx_vdec::allocate_color_convert_buf::set_buffer_req(
- OMX_U32 buffer_size, OMX_U32 actual_count) {
- OMX_U32 expectedSize = enabled ? buffer_size_req : omx->drv_ctx.op_buf.buffer_size;
-
+ OMX_U32 buffer_size, OMX_U32 actual_count)
+{
+ OMX_U32 expectedSize = enabled ? buffer_size_req : omx->dynamic_buf_mode ?
+ sizeof(struct VideoDecoderOutputMetaData) : omx->drv_ctx.op_buf.buffer_size;
if (buffer_size < expectedSize) {
DEBUG_PRINT_ERROR("OP Requirements: Client size(%u) insufficient v/s requested(%u)",
buffer_size, expectedSize);
diff --git a/mm-video-v4l2/vidc/venc/src/omx_video_encoder.cpp b/mm-video-v4l2/vidc/venc/src/omx_video_encoder.cpp
index 8f0868b7..346f017f 100644
--- a/mm-video-v4l2/vidc/venc/src/omx_video_encoder.cpp
+++ b/mm-video-v4l2/vidc/venc/src/omx_video_encoder.cpp
@@ -248,8 +248,25 @@ OMX_ERRORTYPE omx_venc::component_init(OMX_STRING role)
codec_type = OMX_VIDEO_CodingHEVC;
} else if (!strncmp((char *)m_nkind, "OMX.qcom.video.encoder.heic", \
OMX_MAX_STRINGNAME_SIZE)) {
- strlcpy((char *)m_cRole, "video_encoder.hevc", OMX_MAX_STRINGNAME_SIZE);
- codec_type = OMX_VIDEO_CodingImageHEIC;
+ char platform_name[PROP_VALUE_MAX] = {0};
+ char version[PROP_VALUE_MAX] = {0};
+ property_get("ro.board.platform", platform_name, "0"); //HW ID
+ if (!strcmp(platform_name, "sm6150"))
+ {
+ if (property_get("vendor.media.target.version", version, "0") &&
+ (atoi(version) == 0))
+ {
+ //Sku version, HEIC is disabled on this target
+ DEBUG_PRINT_ERROR("heic encoder not supported on this target");
+ eRet = OMX_ErrorInvalidComponentName;
+ } else {
+ strlcpy((char *)m_cRole, "video_encoder.hevc", OMX_MAX_STRINGNAME_SIZE);
+ codec_type = OMX_VIDEO_CodingImageHEIC;
+ }
+ } else {
+ strlcpy((char *)m_cRole, "video_encoder.hevc", OMX_MAX_STRINGNAME_SIZE);
+ codec_type = OMX_VIDEO_CodingImageHEIC;
+ }
} else if (!strncmp((char *)m_nkind, "OMX.qcom.video.encoder.hevc.secure", \
OMX_MAX_STRINGNAME_SIZE)) {
strlcpy((char *)m_cRole, "video_encoder.hevc", OMX_MAX_STRINGNAME_SIZE);
diff --git a/mm-video-v4l2/vidc/venc/src/video_encoder_device_v4l2.cpp b/mm-video-v4l2/vidc/venc/src/video_encoder_device_v4l2.cpp
index 5a6c3849..5249ac3c 100644
--- a/mm-video-v4l2/vidc/venc/src/video_encoder_device_v4l2.cpp
+++ b/mm-video-v4l2/vidc/venc/src/video_encoder_device_v4l2.cpp
@@ -2120,6 +2120,12 @@ bool venc_dev::venc_get_buf_req(OMX_U32 *min_buff_count,
DEBUG_PRINT_LOW("Set buffer count = %d as metadata mode and batchmode enabled", minCount);
}
+ // reset min count to 4 for HEIC cases
+ if (mIsGridset) {
+ minCount = 4;
+ DEBUG_PRINT_LOW("Set buffer count = %d for HEIC", minCount);
+ }
+
minCount = MAX((unsigned int)control.value, minCount);
m_sInput_buff_property.mincount = minCount;