void TearDown(void);
bool FindLayer(int output_idx, tbm_format fmt, tdm_pos *punch);
+ bool DstPosPrepare(int output_idx, bool half);
bool TestPrepareDefault(void);
bool TestPrepare(int output_idx, int w, int h, tbm_format fmt, tdm_transform t, tdm_capture_type c, int frequency, bool stretch);
void TestDone(void);
tdm_error ret;
int count;
int primary_zpos, zpos;
- tdm_layer *primary = tc_tdm_output_get_primary_layer(outputs[output_idx]);
+ tdm_layer *primary;
+
+ if (tc_tdm_output_is_hwc_enable(outputs[output_idx])) {
+ dst_layer = NULL;
+ return false;
+ }
+
+ primary = tc_tdm_output_get_primary_layer(outputs[output_idx]);
TDM_UT_RETURN_FALSE_IF_FAIL(primary != NULL);
TDM_UT_RETURN_FALSE_IF_FAIL(tdm_output_get_layer_count(outputs[output_idx], &count) == TDM_ERROR_NONE);
TDM_UT_RETURN_FALSE_IF_FAIL(tdm_layer_get_zpos(primary, &primary_zpos) == TDM_ERROR_NONE);
return true;
}
+bool TDMBackendCapture::DstPosPrepare(int output_idx, bool half)
+{
+ const tdm_output_mode *mode;
+ int half_size;
+
+ TDM_UT_RETURN_FALSE_IF_FAIL(tdm_output_get_mode(outputs[output_idx], &mode) == TDM_ERROR_NONE);
+
+ if (half) {
+ half_size = ((mode->hdisplay <= mode->vdisplay) ? mode->hdisplay : mode->vdisplay) / 2;
+
+ dst_pos.x = (mode->hdisplay - half_size) / 2;
+ dst_pos.y = (mode->vdisplay - half_size) / 2;
+ dst_pos.w = half_size;
+ dst_pos.h = half_size;
+ } else {
+ dst_pos.x = 0;
+ dst_pos.y = 0;
+ dst_pos.w = mode->hdisplay;
+ dst_pos.h = mode->vdisplay;
+ }
+
+ return true;
+}
+
bool TDMBackendCapture::TestPrepareDefault(void)
{
tdm_error ret;
continue;
for (int f = 0; f < format_count; f++) {
- if (tc_tdm_output_is_hwc_enable(outputs[o]))
- dst_layer = NULL;
- else
- FindLayer(o, formats[f], &dst_pos);
+ FindLayer(o, formats[f], &dst_pos);
EXPECT_EQ(TestPrepare(o, TDM_UT_BUFFER_SIZE, TDM_UT_BUFFER_SIZE, formats[f],
TDM_TRANSFORM_NORMAL, TDM_CAPTURE_TYPE_ONESHOT, -1, false), true);
EXPECT_EQ(tdm_output_get_mode(outputs[o], &mode), TDM_ERROR_NONE);
- if (tc_tdm_output_is_hwc_enable(outputs[o]))
- dst_layer = NULL;
- else
- FindLayer(o, formats[f], &dst_pos);
+ FindLayer(o, formats[f], &dst_pos);
EXPECT_EQ(TestPrepare(o, TDM_UT_BUFFER_SIZE, TDM_UT_BUFFER_SIZE, formats[f],
TDM_TRANSFORM_NORMAL, TDM_CAPTURE_TYPE_ONESHOT, -1, false), true);
EXPECT_EQ(tdm_output_get_mode(outputs[o], &mode), TDM_ERROR_NONE);
- if (tc_tdm_output_is_hwc_enable(outputs[o]))
- dst_layer = NULL;
- else
- FindLayer(o, formats[f], &dst_pos);
+ FindLayer(o, formats[f], &dst_pos);
EXPECT_EQ(TestPrepare(o, TDM_UT_BUFFER_SIZE, TDM_UT_BUFFER_SIZE, formats[f],
TDM_TRANSFORM_NORMAL, TDM_CAPTURE_TYPE_ONESHOT, -1, false), true);
bool done;
for (int o = 0; o < output_count; o++) {
- const tdm_output_mode *mode = NULL;
-
if (!tc_tdm_output_is_connected(outputs[o]))
continue;
- EXPECT_EQ(tdm_output_get_mode(outputs[o], &mode), TDM_ERROR_NONE);
+ EXPECT_EQ(DstPosPrepare(o, true), true);
for (int f = 0; f < format_count; f++) {
- int half_size = ((mode->hdisplay <= mode->vdisplay) ? mode->hdisplay : mode->vdisplay) / 2;
-
- dst_pos.x = (mode->hdisplay - half_size) / 2;
- dst_pos.y = (mode->vdisplay - half_size) / 2;
- dst_pos.w = half_size;
- dst_pos.h = half_size;
-
TDM_UT_INFO("* testing for %c%c%c%c", FOURCC_STR(formats[f]));
- if (tc_tdm_output_is_hwc_enable(outputs[o]))
- dst_layer = NULL;
- else {
- FindLayer(o, formats[f], &dst_pos);
+ FindLayer(o, formats[f], &dst_pos);
- if (!dst_layer) {
- TDM_UT_INFO("no proper layer for %c%c%c%c", FOURCC_STR(formats[f]));
- continue;
- }
+ if (!dst_layer && !tc_tdm_output_is_hwc_enable(outputs[o])) {
+ TDM_UT_INFO("no proper layer for %c%c%c%c", FOURCC_STR(formats[f]));
+ continue;
}
- EXPECT_EQ(TestPrepare(o, half_size, half_size, formats[f],
+ EXPECT_EQ(TestPrepare(o, dst_pos.w, dst_pos.h, formats[f],
TDM_TRANSFORM_NORMAL, TDM_CAPTURE_TYPE_ONESHOT, -1, false), true);
EXPECT_EQ(tdm_capture_set_done_handler(capture, _tc_tdm_capture_done_cb, &done), TDM_ERROR_NONE);
bool done;
for (int o = 0; o < output_count; o++) {
- const tdm_output_mode *mode = NULL;
if (!tc_tdm_output_is_connected(outputs[o]))
continue;
- EXPECT_EQ(tdm_output_get_mode(outputs[o], &mode), TDM_ERROR_NONE);
+ EXPECT_EQ(DstPosPrepare(o, true), true);
for (int f = 0; f < format_count; f++) {
- int half_size = ((mode->hdisplay <= mode->vdisplay) ? mode->hdisplay : mode->vdisplay) / 2;
-
- dst_pos.x = (mode->hdisplay - half_size) / 2;
- dst_pos.y = (mode->vdisplay - half_size) / 2;
- dst_pos.w = half_size;
- dst_pos.h = half_size;
-
TDM_UT_INFO("* testing for %c%c%c%c", FOURCC_STR(formats[f]));
- if (tc_tdm_output_is_hwc_enable(outputs[o]))
- dst_layer = NULL;
- else {
- FindLayer(o, formats[f], &dst_pos);
+ FindLayer(o, formats[f], &dst_pos);
- if (!dst_layer) {
- TDM_UT_INFO("no proper layer for %c%c%c%c", FOURCC_STR(formats[f]));
- continue;
- }
+ if (!dst_layer && !tc_tdm_output_is_hwc_enable(outputs[o])) {
+ TDM_UT_INFO("no proper layer for %c%c%c%c", FOURCC_STR(formats[f]));
+ continue;
}
- EXPECT_EQ(TestPrepare(o, half_size, half_size, formats[f],
+ EXPECT_EQ(TestPrepare(o, dst_pos.w, dst_pos.h, formats[f],
TDM_TRANSFORM_NORMAL, TDM_CAPTURE_TYPE_ONESHOT, -1, true), true);
EXPECT_EQ(tdm_capture_set_done_handler(capture, _tc_tdm_capture_done_cb, &done), TDM_ERROR_NONE);
int done;
for (int o = 0; o < output_count; o++) {
- const tdm_output_mode *mode = NULL;
if (!tc_tdm_output_is_connected(outputs[o]))
continue;
- EXPECT_EQ(tdm_output_get_mode(outputs[o], &mode), TDM_ERROR_NONE);
+ EXPECT_EQ(DstPosPrepare(o, true), true);
for (int f = 0; f < format_count; f++) {
- int half_size = ((mode->hdisplay <= mode->vdisplay) ? mode->hdisplay : mode->vdisplay) / 2;
-
- dst_pos.x = (mode->hdisplay - half_size) / 2;
- dst_pos.y = (mode->vdisplay - half_size) / 2;
- dst_pos.w = half_size;
- dst_pos.h = half_size;
-
TDM_UT_INFO("* testing for %c%c%c%c", FOURCC_STR(formats[f]));
- if (tc_tdm_output_is_hwc_enable(outputs[o]))
- dst_layer = NULL;
- else {
- FindLayer(o, formats[f], &dst_pos);
+ FindLayer(o, formats[f], &dst_pos);
- if (!dst_layer) {
- TDM_UT_INFO("no proper layer for %c%c%c%c", FOURCC_STR(formats[f]));
- continue;
- }
+ if (!dst_layer && !tc_tdm_output_is_hwc_enable(outputs[o])) {
+ TDM_UT_INFO("no proper layer for %c%c%c%c", FOURCC_STR(formats[f]));
+ continue;
}
- EXPECT_EQ(TestPrepare(o, half_size, half_size, formats[f],
+ EXPECT_EQ(TestPrepare(o, dst_pos.w, dst_pos.h, formats[f],
TDM_TRANSFORM_NORMAL, TDM_CAPTURE_TYPE_ONESHOT, -1, false), true);
done = 0;
TDM_UT_SKIP_FLAG(capabilities & TDM_CAPTURE_CAPABILITY_STREAM);
for (int o = 0; o < output_count; o++) {
- const tdm_output_mode *mode = NULL;
if (!tc_tdm_output_is_connected(outputs[o]))
continue;
- EXPECT_EQ(tdm_output_get_mode(outputs[o], &mode), TDM_ERROR_NONE);
+ EXPECT_EQ(DstPosPrepare(o, true), true);
for (int f = 0; f < format_count; f++) {
- int half_size = ((mode->hdisplay <= mode->vdisplay) ? mode->hdisplay : mode->vdisplay) / 2;
-
- dst_pos.x = (mode->hdisplay - half_size) / 2;
- dst_pos.y = (mode->vdisplay - half_size) / 2;
- dst_pos.w = half_size;
- dst_pos.h = half_size;
-
TDM_UT_INFO("* testing for %c%c%c%c", FOURCC_STR(formats[f]));
- if (tc_tdm_output_is_hwc_enable(outputs[o]))
- dst_layer = NULL;
- else {
- FindLayer(o, formats[f], &dst_pos);
+ FindLayer(o, formats[f], &dst_pos);
- if (!dst_layer) {
- TDM_UT_INFO("no proper layer for %c%c%c%c", FOURCC_STR(formats[f]));
- continue;
- }
+ if (!dst_layer && !tc_tdm_output_is_hwc_enable(outputs[o])) {
+ TDM_UT_INFO("no proper layer for %c%c%c%c", FOURCC_STR(formats[f]));
+ continue;
}
- EXPECT_EQ(TestPrepare(o, half_size, half_size, formats[f],
+ EXPECT_EQ(TestPrepare(o, dst_pos.w, dst_pos.h, formats[f],
TDM_TRANSFORM_NORMAL, TDM_CAPTURE_TYPE_STREAM, -1, false), true);
EXPECT_EQ(tdm_capture_set_done_handler(capture, _tc_tdm_capture_stream_done_cb, (void*)this), TDM_ERROR_NONE);
TDM_UT_SKIP_FLAG(capabilities & TDM_CAPTURE_CAPABILITY_STREAM);
for (int o = 0; o < output_count; o++) {
- const tdm_output_mode *mode = NULL;
-
if (!tc_tdm_output_is_connected(outputs[o]))
continue;
- EXPECT_EQ(tdm_output_get_mode(outputs[o], &mode), TDM_ERROR_NONE);
+ EXPECT_EQ(DstPosPrepare(o, true), true);
for (int f = 0; f < format_count; f++) {
- int half_size = ((mode->hdisplay <= mode->vdisplay) ? mode->hdisplay : mode->vdisplay) / 2;
-
- dst_pos.x = (mode->hdisplay - half_size) / 2;
- dst_pos.y = (mode->vdisplay - half_size) / 2;
- dst_pos.w = half_size;
- dst_pos.h = half_size;
-
TDM_UT_INFO("* testing for %c%c%c%c", FOURCC_STR(formats[f]));
- if (tc_tdm_output_is_hwc_enable(outputs[o]))
- dst_layer = NULL;
- else {
- FindLayer(o, formats[f], &dst_pos);
+ FindLayer(o, formats[f], &dst_pos);
- if (!dst_layer) {
- TDM_UT_INFO("no proper layer for %c%c%c%c", FOURCC_STR(formats[f]));
- continue;
- }
+ if (!dst_layer && !tc_tdm_output_is_hwc_enable(outputs[o])) {
+ TDM_UT_INFO("no proper layer for %c%c%c%c", FOURCC_STR(formats[f]));
+ continue;
}
- EXPECT_EQ(TestPrepare(o, half_size, half_size, formats[f],
+ EXPECT_EQ(TestPrepare(o, dst_pos.w, dst_pos.h, formats[f],
TDM_TRANSFORM_NORMAL, TDM_CAPTURE_TYPE_STREAM, -1, true), true);
EXPECT_EQ(tdm_capture_set_done_handler(capture, _tc_tdm_capture_stream_done_cb, (void*)this), TDM_ERROR_NONE);