config->info.info[0].dimension[2] = height;
/* Supposed 1 frame in tensor, change dimension[3] if tensor contains N frames. */
- for (i = 3; i < NNS_TENSOR_RANK_LIMIT; i++) {
- config->info.info[0].dimension[i] = 1;
- }
+ config->info.info[0].dimension[3] = 1;
+ for (i = 4; i < NNS_TENSOR_RANK_LIMIT; i++)
+ config->info.info[0].dimension[i] = 0;
config->rate_n = GST_VIDEO_INFO_FPS_N (&vinfo);
config->rate_d = GST_VIDEO_INFO_FPS_D (&vinfo);
config->info.info[0].dimension[0] = channels;
/* Supposed 1 frame in tensor, change dimension[1] if tensor contains N frames. */
- for (i = 1; i < NNS_TENSOR_RANK_LIMIT; i++) {
- config->info.info[0].dimension[i] = 1;
- }
+ config->info.info[0].dimension[1] = 1;
+ for (i = 2; i < NNS_TENSOR_RANK_LIMIT; i++)
+ config->info.info[0].dimension[i] = 0;
config->rate_n = GST_AUDIO_INFO_RATE (&ainfo);
config->rate_d = 1;
config->info.info[0].dimension[0] = text_size;
/* Supposed 1 frame in tensor, change dimension[1] if tensor contains N frames. */
- for (i = 1; i < NNS_TENSOR_RANK_LIMIT; i++) {
- config->info.info[0].dimension[i] = 1;
- }
+ config->info.info[0].dimension[1] = 1;
+ for (i = 2; i < NNS_TENSOR_RANK_LIMIT; i++)
+ config->info.info[0].dimension[i] = 0;
if (gst_structure_has_field (structure, "framerate")) {
gst_structure_get_fraction (structure, "framerate", &config->rate_n,
* We cannot get the exact tensors info from caps.
* All tensors info should be updated.
* If output is flexible, dimension should be updated in chain function with buffer size.
+ * (data format for tensor: [size])
*/
if (flexible) {
config->info.format = _NNS_TENSOR_FORMAT_FLEXIBLE;
config->info.num_tensors = 1;
config->info.info[0].type = _NNS_UINT8;
- for (i = 0; i < NNS_TENSOR_RANK_LIMIT; i++)
- config->info.info[0].dimension[i] = 1;
+ config->info.info[0].dimension[0] = 1;
+ for (i = 1; i < NNS_TENSOR_RANK_LIMIT; i++)
+ config->info.info[0].dimension[i] = 0;
} else {
gst_tensors_info_copy (&config->info, _info);
self->frame_size = gst_tensors_info_get_size (&config->info, -1);
/**
* We cannot get the exact tensors info from caps.
* All tensors info should be updated in chain function.
+ * (data format for tensor: [size])
*/
config->info.num_tensors = 1;
config->info.info[0].type = _NNS_UINT8;
- for (i = 0; i < NNS_TENSOR_RANK_LIMIT; i++)
- config->info.info[0].dimension[i] = 1;
+ config->info.info[0].dimension[0] = 1;
+ for (i = 1; i < NNS_TENSOR_RANK_LIMIT; i++)
+ config->info.info[0].dimension[i] = 0;
}
if (gst_structure_has_field (structure, "framerate")) {
_free_test_data (option);
}
-
/**
* @brief Test for video format GRAY16_BE.
*/
EXPECT_EQ (g_test_data.tensors_config.info.info[0].type, _NNS_INT8);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[0], 1U);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[1], 500U);
- EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[2], 1U);
- EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[3], 1U);
+ EXPECT_LE (g_test_data.tensors_config.info.info[0].dimension[2], 1U);
+ EXPECT_LE (g_test_data.tensors_config.info.info[0].dimension[3], 1U);
EXPECT_EQ (g_test_data.tensors_config.rate_n, 16000);
EXPECT_EQ (g_test_data.tensors_config.rate_d, 1);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].type, _NNS_UINT8);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[0], 1U);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[1], 100U);
- EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[2], 1U);
- EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[3], 1U);
+ EXPECT_LE (g_test_data.tensors_config.info.info[0].dimension[2], 1U);
+ EXPECT_LE (g_test_data.tensors_config.info.info[0].dimension[3], 1U);
EXPECT_EQ (g_test_data.tensors_config.rate_n, 16000);
EXPECT_EQ (g_test_data.tensors_config.rate_d, 1);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].type, _NNS_INT16);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[0], 1U);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[1], 500U);
- EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[2], 1U);
- EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[3], 1U);
+ EXPECT_LE (g_test_data.tensors_config.info.info[0].dimension[2], 1U);
+ EXPECT_LE (g_test_data.tensors_config.info.info[0].dimension[3], 1U);
EXPECT_EQ (g_test_data.tensors_config.rate_n, 16000);
EXPECT_EQ (g_test_data.tensors_config.rate_d, 1);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].type, _NNS_UINT16);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[0], 1U);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[1], 1000U);
- EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[2], 1U);
- EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[3], 1U);
+ EXPECT_LE (g_test_data.tensors_config.info.info[0].dimension[2], 1U);
+ EXPECT_LE (g_test_data.tensors_config.info.info[0].dimension[3], 1U);
EXPECT_EQ (g_test_data.tensors_config.rate_n, 16000);
EXPECT_EQ (g_test_data.tensors_config.rate_d, 1);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].type, _NNS_INT32);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[0], 1U);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[1], 500U);
- EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[2], 1U);
- EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[3], 1U);
+ EXPECT_LE (g_test_data.tensors_config.info.info[0].dimension[2], 1U);
+ EXPECT_LE (g_test_data.tensors_config.info.info[0].dimension[3], 1U);
EXPECT_EQ (g_test_data.tensors_config.rate_n, 44100);
EXPECT_EQ (g_test_data.tensors_config.rate_d, 1);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].type, _NNS_UINT32);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[0], 1U);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[1], 500U);
- EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[2], 1U);
- EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[3], 1U);
+ EXPECT_LE (g_test_data.tensors_config.info.info[0].dimension[2], 1U);
+ EXPECT_LE (g_test_data.tensors_config.info.info[0].dimension[3], 1U);
EXPECT_EQ (g_test_data.tensors_config.rate_n, 44100);
EXPECT_EQ (g_test_data.tensors_config.rate_d, 1);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].type, _NNS_FLOAT32);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[0], 1U);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[1], 500U);
- EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[2], 1U);
- EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[3], 1U);
+ EXPECT_LE (g_test_data.tensors_config.info.info[0].dimension[2], 1U);
+ EXPECT_LE (g_test_data.tensors_config.info.info[0].dimension[3], 1U);
EXPECT_EQ (g_test_data.tensors_config.rate_n, 44100);
EXPECT_EQ (g_test_data.tensors_config.rate_d, 1);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].type, _NNS_FLOAT64);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[0], 1U);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[1], 500U);
- EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[2], 1U);
- EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[3], 1U);
+ EXPECT_LE (g_test_data.tensors_config.info.info[0].dimension[2], 1U);
+ EXPECT_LE (g_test_data.tensors_config.info.info[0].dimension[3], 1U);
EXPECT_EQ (g_test_data.tensors_config.rate_n, 44100);
EXPECT_EQ (g_test_data.tensors_config.rate_d, 1);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].type, _NNS_UINT8);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[0], 20U);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[1], 1U);
- EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[2], 1U);
- EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[3], 1U);
+ EXPECT_LE (g_test_data.tensors_config.info.info[0].dimension[2], 1U);
+ EXPECT_LE (g_test_data.tensors_config.info.info[0].dimension[3], 1U);
EXPECT_EQ (g_test_data.tensors_config.rate_n, 0);
EXPECT_EQ (g_test_data.tensors_config.rate_d, 1);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].type, _NNS_UINT8);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[0], 30U);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[1], 3U);
- EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[2], 1U);
- EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[3], 1U);
+ EXPECT_LE (g_test_data.tensors_config.info.info[0].dimension[2], 1U);
+ EXPECT_LE (g_test_data.tensors_config.info.info[0].dimension[3], 1U);
EXPECT_EQ (g_test_data.tensors_config.rate_n, 10);
EXPECT_EQ (g_test_data.tensors_config.rate_d, 1);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].type, _NNS_INT16);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[0], 1U);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[1], 200U);
- EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[2], 1U);
- EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[3], 1U);
+ EXPECT_LE (g_test_data.tensors_config.info.info[0].dimension[2], 1U);
+ EXPECT_LE (g_test_data.tensors_config.info.info[0].dimension[3], 1U);
EXPECT_EQ (g_test_data.tensors_config.rate_n, 16000);
EXPECT_EQ (g_test_data.tensors_config.rate_d, 1);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].type, _NNS_INT16);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[0], 1U);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[1], 500U);
- EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[2], 1U);
- EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[3], 1U);
+ EXPECT_LE (g_test_data.tensors_config.info.info[0].dimension[2], 1U);
+ EXPECT_LE (g_test_data.tensors_config.info.info[0].dimension[3], 1U);
EXPECT_EQ (g_test_data.tensors_config.rate_n, 30); /** 30 fps from video stream */
EXPECT_EQ (g_test_data.tensors_config.rate_d, 1);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].type, _NNS_INT16);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[0], 1U);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[1], 500U);
- EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[2], 1U);
- EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[3], 1U);
+ EXPECT_LE (g_test_data.tensors_config.info.info[0].dimension[2], 1U);
+ EXPECT_LE (g_test_data.tensors_config.info.info[0].dimension[3], 1U);
EXPECT_EQ (g_test_data.tensors_config.rate_n, 30);
EXPECT_EQ (g_test_data.tensors_config.rate_d, 1);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].type, type);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[0], 10U);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[1], 1U);
- EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[2], 1U);
- EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[3], 1U);
+ EXPECT_LE (g_test_data.tensors_config.info.info[0].dimension[2], 1U);
+ EXPECT_LE (g_test_data.tensors_config.info.info[0].dimension[3], 1U);
EXPECT_EQ (g_test_data.tensors_config.rate_n, 0);
EXPECT_EQ (g_test_data.tensors_config.rate_d, 1);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].type, _NNS_INT16);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[0], 1U);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[1], 2000U);
- EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[2], 1U);
- EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[3], 1U);
+ EXPECT_LE (g_test_data.tensors_config.info.info[0].dimension[2], 1U);
+ EXPECT_LE (g_test_data.tensors_config.info.info[0].dimension[3], 1U);
EXPECT_EQ (g_test_data.tensors_config.rate_n, 16000);
EXPECT_EQ (g_test_data.tensors_config.rate_d, 1);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].type, _NNS_UINT16);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[0], 1U);
EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[1], 100U);
- EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[2], 1U);
- EXPECT_EQ (g_test_data.tensors_config.info.info[0].dimension[3], 1U);
+ EXPECT_LE (g_test_data.tensors_config.info.info[0].dimension[2], 1U);
+ EXPECT_LE (g_test_data.tensors_config.info.info[0].dimension[3], 1U);
EXPECT_EQ (g_test_data.tensors_config.rate_n, 16000);
EXPECT_EQ (g_test_data.tensors_config.rate_d, 1);