Loading media/libstagefright/FrameDecoder.cpp +14 −10 Original line number Diff line number Diff line Loading @@ -725,12 +725,6 @@ status_t ImageDecoder::onOutputReceived( } converter.setSrcColorSpace(standard, range, transfer); int32_t dstLeft, dstTop, dstRight, dstBottom; dstLeft = mTilesDecoded % mGridCols * width; dstTop = mTilesDecoded / mGridCols * height; dstRight = dstLeft + width - 1; dstBottom = dstTop + height - 1; int32_t crop_left, crop_top, crop_right, crop_bottom; if (!outputFormat->findRect("crop", &crop_left, &crop_top, &crop_right, &crop_bottom)) { crop_left = crop_top = 0; Loading @@ -738,15 +732,25 @@ status_t ImageDecoder::onOutputReceived( crop_bottom = height - 1; } int32_t crop_width, crop_height; crop_width = crop_right - crop_left + 1; crop_height = crop_bottom - crop_top + 1; int32_t dstLeft, dstTop, dstRight, dstBottom; dstLeft = mTilesDecoded % mGridCols * crop_width; dstTop = mTilesDecoded / mGridCols * crop_height; dstRight = dstLeft + crop_width - 1; dstBottom = dstTop + crop_height - 1; // apply crop on bottom-right // TODO: need to move this into the color converter itself. if (dstRight >= mWidth) { crop_right = mWidth - dstLeft - 1; dstRight = dstLeft + crop_right; crop_right = crop_left + mWidth - dstLeft - 1; dstRight = mWidth - 1; } if (dstBottom >= mHeight) { crop_bottom = mHeight - dstTop - 1; dstBottom = dstTop + crop_bottom; crop_bottom = crop_top + mHeight - dstTop - 1; dstBottom = mHeight - 1; } *done = (++mTilesDecoded >= mTargetTiles); Loading Loading
media/libstagefright/FrameDecoder.cpp +14 −10 Original line number Diff line number Diff line Loading @@ -725,12 +725,6 @@ status_t ImageDecoder::onOutputReceived( } converter.setSrcColorSpace(standard, range, transfer); int32_t dstLeft, dstTop, dstRight, dstBottom; dstLeft = mTilesDecoded % mGridCols * width; dstTop = mTilesDecoded / mGridCols * height; dstRight = dstLeft + width - 1; dstBottom = dstTop + height - 1; int32_t crop_left, crop_top, crop_right, crop_bottom; if (!outputFormat->findRect("crop", &crop_left, &crop_top, &crop_right, &crop_bottom)) { crop_left = crop_top = 0; Loading @@ -738,15 +732,25 @@ status_t ImageDecoder::onOutputReceived( crop_bottom = height - 1; } int32_t crop_width, crop_height; crop_width = crop_right - crop_left + 1; crop_height = crop_bottom - crop_top + 1; int32_t dstLeft, dstTop, dstRight, dstBottom; dstLeft = mTilesDecoded % mGridCols * crop_width; dstTop = mTilesDecoded / mGridCols * crop_height; dstRight = dstLeft + crop_width - 1; dstBottom = dstTop + crop_height - 1; // apply crop on bottom-right // TODO: need to move this into the color converter itself. if (dstRight >= mWidth) { crop_right = mWidth - dstLeft - 1; dstRight = dstLeft + crop_right; crop_right = crop_left + mWidth - dstLeft - 1; dstRight = mWidth - 1; } if (dstBottom >= mHeight) { crop_bottom = mHeight - dstTop - 1; dstBottom = dstTop + crop_bottom; crop_bottom = crop_top + mHeight - dstTop - 1; dstBottom = mHeight - 1; } *done = (++mTilesDecoded >= mTargetTiles); Loading