aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Desaulniers <ndesaulniers@google.com>2016-05-05 20:15:05 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2016-05-05 20:15:06 +0000
commit88cd7d22d5c48ebd61d760bebdf5a2e20b0948b5 (patch)
tree8331bd409bbaa27d9f29ca11b5c02eaddd4ceb3b
parent28c14c972425f7d6ec15e86c28a46a2dd8f86320 (diff)
parent3ed03d0de15f3910f40ee799cafc1d6a9b309e8d (diff)
downloadlibmix-88cd7d22d5c48ebd61d760bebdf5a2e20b0948b5.tar.gz
Merge "Fix cts h264 test error" into nyc-dev
-rw-r--r--videodecoder/VideoDecoderAVC.cpp2
-rw-r--r--videodecoder/VideoDecoderBase.cpp8
2 files changed, 9 insertions, 1 deletions
diff --git a/videodecoder/VideoDecoderAVC.cpp b/videodecoder/VideoDecoderAVC.cpp
index 2b0fdf7..ca4b123 100644
--- a/videodecoder/VideoDecoderAVC.cpp
+++ b/videodecoder/VideoDecoderAVC.cpp
@@ -695,7 +695,7 @@ Decode_Status VideoDecoderAVC::startVA(vbp_data_h264 *data) {
// for 1080p, limit the total surface to 19, according the hardware limitation
// change the max surface number from 19->10 to workaround memory shortage
// remove the workaround
- if(mVideoFormatInfo.height == 1088 && DPBSize + AVC_EXTRA_SURFACE_NUMBER > 19) {
+ if(mVideoFormatInfo.surfaceHeight == 1088 && DPBSize + AVC_EXTRA_SURFACE_NUMBER > 19) {
DPBSize = 19 - AVC_EXTRA_SURFACE_NUMBER;
}
diff --git a/videodecoder/VideoDecoderBase.cpp b/videodecoder/VideoDecoderBase.cpp
index 399bc6c..ceb7b60 100644
--- a/videodecoder/VideoDecoderBase.cpp
+++ b/videodecoder/VideoDecoderBase.cpp
@@ -1218,6 +1218,10 @@ Decode_Status VideoDecoderBase::getRawDataFromSurface(VideoRenderBuffer *renderB
// size in NV12 format
uint32_t cropWidth = mVideoFormatInfo.width - (mVideoFormatInfo.cropLeft + mVideoFormatInfo.cropRight);
uint32_t cropHeight = mVideoFormatInfo.height - (mVideoFormatInfo.cropBottom + mVideoFormatInfo.cropTop);
+ if (strcasecmp(mVideoFormatInfo.mimeType,"video/avc") == 0 ||
+ strcasecmp(mVideoFormatInfo.mimeType,"video/h264") == 0) {
+ cropHeight = mVideoFormatInfo.height;
+ }
int32_t size = cropWidth * cropHeight * 3 / 2;
if (internal) {
@@ -1647,6 +1651,10 @@ void VideoDecoderBase::setRenderRect() {
rect.y = mVideoFormatInfo.cropTop;
rect.width = mVideoFormatInfo.width - (mVideoFormatInfo.cropLeft + mVideoFormatInfo.cropRight);
rect.height = mVideoFormatInfo.height - (mVideoFormatInfo.cropBottom + mVideoFormatInfo.cropTop);
+ if (strcasecmp(mVideoFormatInfo.mimeType,"video/avc") == 0 ||
+ strcasecmp(mVideoFormatInfo.mimeType,"video/h264") == 0) {
+ rect.height = mVideoFormatInfo.height;
+ }
VADisplayAttribute render_rect;
render_rect.type = VADisplayAttribRenderRect;