Merge "ACodec: query grid config from component even if grid is disabled"

gugelfrei
Treehugger Robot 5 years ago committed by Gerrit Code Review
commit b43bb0b1d9

@ -4505,22 +4505,38 @@ status_t ACodec::setupAVCEncoderParameters(const sp<AMessage> &msg) {
status_t ACodec::configureImageGrid(
const sp<AMessage> &msg, sp<AMessage> &outputFormat) {
int32_t tileWidth, tileHeight, gridRows, gridCols;
if (!msg->findInt32("tile-width", &tileWidth) ||
!msg->findInt32("tile-height", &tileHeight) ||
!msg->findInt32("grid-rows", &gridRows) ||
!msg->findInt32("grid-cols", &gridCols)) {
OMX_BOOL useGrid = OMX_FALSE;
if (msg->findInt32("tile-width", &tileWidth) &&
msg->findInt32("tile-height", &tileHeight) &&
msg->findInt32("grid-rows", &gridRows) &&
msg->findInt32("grid-cols", &gridCols)) {
useGrid = OMX_TRUE;
} else {
// when bEnabled is false, the tile info is not used,
// but clear out these too.
tileWidth = tileHeight = gridRows = gridCols = 0;
}
if (!mIsImage && !useGrid) {
return OK;
}
OMX_VIDEO_PARAM_ANDROID_IMAGEGRIDTYPE gridType;
InitOMXParams(&gridType);
gridType.nPortIndex = kPortIndexOutput;
gridType.bEnabled = OMX_TRUE;
gridType.bEnabled = useGrid;
gridType.nTileWidth = tileWidth;
gridType.nTileHeight = tileHeight;
gridType.nGridRows = gridRows;
gridType.nGridCols = gridCols;
ALOGV("sending image grid info to component: bEnabled %d, tile %dx%d, grid %dx%d",
gridType.bEnabled,
gridType.nTileWidth,
gridType.nTileHeight,
gridType.nGridRows,
gridType.nGridCols);
status_t err = mOMXNode->setParameter(
(OMX_INDEXTYPE)OMX_IndexParamVideoAndroidImageGrid,
&gridType, sizeof(gridType));
@ -4541,6 +4557,13 @@ status_t ACodec::configureImageGrid(
(OMX_INDEXTYPE)OMX_IndexParamVideoAndroidImageGrid,
&gridType, sizeof(gridType));
ALOGV("received image grid info from component: bEnabled %d, tile %dx%d, grid %dx%d",
gridType.bEnabled,
gridType.nTileWidth,
gridType.nTileHeight,
gridType.nGridRows,
gridType.nGridCols);
if (err == OK && gridType.bEnabled) {
outputFormat->setInt32("tile-width", gridType.nTileWidth);
outputFormat->setInt32("tile-height", gridType.nTileHeight);

Loading…
Cancel
Save