diff options
author | Santhosh Behara <santhoshbehara@codeaurora.org> | 2018-08-16 17:46:15 +0530 |
---|---|---|
committer | Chong Zhang <chz@google.com> | 2018-09-05 22:52:53 +0000 |
commit | 96454aaa4ab9f17690ecd4f5f147f3afe5e0361d (patch) | |
tree | ea2aaf11052ce1b5e6c2f34ec1b4c1a03a47d644 | |
parent | deb7e33ac65e8a0e0749e657d0586d170e751c3b (diff) | |
download | media-pie-qpr3-b-release.tar.gz |
mm-video-v4l2: vdec: Correct order of reading color primariesandroid-9.0.0_r47android-9.0.0_r46android-9.0.0_r45android-9.0.0_r44android-9.0.0_r43android-9.0.0_r42android-9.0.0_r41android-9.0.0_r40android-9.0.0_r37android-9.0.0_r36pie-qpr3-s1-releasepie-qpr3-releasepie-qpr3-b-releasepie-b4s4-dev
According to H265 spec, the color primaries should be in G,B,R
order. But in the exisisting code they are read in R, G, B order.
Correct the order of reading bitstream as per the specification.
(Cherry-picked from:
https://partner-android-review.googlesource.com/c/platform/hardware/qcom/sdm845/media/+/1120439)
Bug: 111799726
Change-Id: Ic6703dcf7878c27e3e18e437039ddb74cf8d32d6
(cherry picked from commit acb885f628ccf4731d887d47300e5d9ff58b72b4)
-rw-r--r-- | mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp | 24 |
1 files changed, 12 insertions, 12 deletions
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 6590fe11..71db9824 100644 --- a/mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp +++ b/mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp @@ -9671,12 +9671,12 @@ bool omx_vdec::handle_mastering_display_color_info(void* data) HDRStaticInfo* hdr_info = &m_internal_hdr_info.sInfo; bool internal_disp_changed_flag = false; - internal_disp_changed_flag |= (hdr_info->sType1.mR.x != mastering_display_payload->nDisplayPrimariesX[0]) || - (hdr_info->sType1.mR.y != mastering_display_payload->nDisplayPrimariesY[0]); - internal_disp_changed_flag |= (hdr_info->sType1.mG.x != mastering_display_payload->nDisplayPrimariesX[1]) || - (hdr_info->sType1.mG.y != mastering_display_payload->nDisplayPrimariesY[1]); - internal_disp_changed_flag |= (hdr_info->sType1.mB.x != mastering_display_payload->nDisplayPrimariesX[2]) || - (hdr_info->sType1.mB.y != mastering_display_payload->nDisplayPrimariesY[2]); + internal_disp_changed_flag |= (hdr_info->sType1.mG.x != mastering_display_payload->nDisplayPrimariesX[0]) || + (hdr_info->sType1.mG.y != mastering_display_payload->nDisplayPrimariesY[0]); + internal_disp_changed_flag |= (hdr_info->sType1.mB.x != mastering_display_payload->nDisplayPrimariesX[1]) || + (hdr_info->sType1.mB.y != mastering_display_payload->nDisplayPrimariesY[1]); + internal_disp_changed_flag |= (hdr_info->sType1.mR.x != mastering_display_payload->nDisplayPrimariesX[2]) || + (hdr_info->sType1.mR.y != mastering_display_payload->nDisplayPrimariesY[2]); internal_disp_changed_flag |= (hdr_info->sType1.mW.x != mastering_display_payload->nWhitePointX) || (hdr_info->sType1.mW.y != mastering_display_payload->nWhitePointY); @@ -9690,12 +9690,12 @@ bool omx_vdec::handle_mastering_display_color_info(void* data) (hdr_info->sType1.mMinDisplayLuminance != mastering_display_payload->nMinDisplayMasteringLuminance); if (internal_disp_changed_flag) { - hdr_info->sType1.mR.x = mastering_display_payload->nDisplayPrimariesX[0]; - hdr_info->sType1.mR.y = mastering_display_payload->nDisplayPrimariesY[0]; - hdr_info->sType1.mG.x = mastering_display_payload->nDisplayPrimariesX[1]; - hdr_info->sType1.mG.y = mastering_display_payload->nDisplayPrimariesY[1]; - hdr_info->sType1.mB.x = mastering_display_payload->nDisplayPrimariesX[2]; - hdr_info->sType1.mB.y = mastering_display_payload->nDisplayPrimariesY[2]; + hdr_info->sType1.mG.x = mastering_display_payload->nDisplayPrimariesX[0]; + hdr_info->sType1.mG.y = mastering_display_payload->nDisplayPrimariesY[0]; + hdr_info->sType1.mB.x = mastering_display_payload->nDisplayPrimariesX[1]; + hdr_info->sType1.mB.y = mastering_display_payload->nDisplayPrimariesY[1]; + hdr_info->sType1.mR.x = mastering_display_payload->nDisplayPrimariesX[2]; + hdr_info->sType1.mR.y = mastering_display_payload->nDisplayPrimariesY[2]; hdr_info->sType1.mW.x = mastering_display_payload->nWhitePointX; hdr_info->sType1.mW.y = mastering_display_payload->nWhitePointY; |