Add the offset to the encrypted slice size
BZ: 183508
When the encrypted slice data doesn't start on the
block-aligned address. The offset should be added
to the sizeLength to reflect the true size of the
encrypted slice data.
Change-Id: Ib83de78bf3744f56e82635dbb4ffb3d91a8c3767
Signed-off-by: wfeng6 <wei.feng@intel.com>
diff --git a/videodecoder/securevideo/merrifield/VideoDecoderAVCSecure.cpp b/videodecoder/securevideo/merrifield/VideoDecoderAVCSecure.cpp
index 4ff7771..1d94f47 100755
--- a/videodecoder/securevideo/merrifield/VideoDecoderAVCSecure.cpp
+++ b/videodecoder/securevideo/merrifield/VideoDecoderAVCSecure.cpp
@@ -164,13 +164,13 @@
mSliceInfo[sliceidx].sliceHeaderByte = nalu_type;
mSliceInfo[sliceidx].sliceStartOffset = (nalu_offset >> 4) << 4;
mSliceInfo[sliceidx].sliceByteOffset = nalu_offset - mSliceInfo[sliceidx].sliceStartOffset;
- mSliceInfo[sliceidx].sliceLength = nalu_size;
+ mSliceInfo[sliceidx].sliceLength = mSliceInfo[sliceidx].sliceByteOffset + nalu_size;
mSliceInfo[sliceidx].sliceSize = (mSliceInfo[sliceidx].sliceByteOffset + nalu_size + 0xF) & ~0xF;
VTRACE("sliceHeaderByte = 0x%x", mSliceInfo[sliceidx].sliceHeaderByte);
VTRACE("sliceStartOffset = %d", mSliceInfo[sliceidx].sliceStartOffset);
VTRACE("sliceByteOffset = %d", mSliceInfo[sliceidx].sliceByteOffset);
VTRACE("sliceSize = %d", mSliceInfo[sliceidx].sliceSize);
-
+ VTRACE("sliceLength = %d", mSliceInfo[sliceidx].sliceLength);
#if 0
uint32_t testsize;
uint8_t *testdata;