return -EINVAL;
}
+ for (uint32_t idx = 0; idx < in->num_info; idx++) {
+ if (meta_->getInputSegmentLayout (idx) == DATA_LAYOUT_RAW &&
+ in->info[idx].layout != DATA_LAYOUT_MODEL &&
+ in->info[idx].layout != DATA_LAYOUT_NHWC &&
+ in->info[idx].layout != DATA_LAYOUT_NCHW)
+ logwarn (TAG, "input[%u] is raw data. skip layout conversion\n", idx);
+ }
+
+ for (uint32_t idx = 0; idx < out->num_info; idx++) {
+ if (meta_->getOutputSegmentLayout (idx) == DATA_LAYOUT_RAW &&
+ out->info[idx].layout != DATA_LAYOUT_MODEL &&
+ out->info[idx].layout != DATA_LAYOUT_NHWC &&
+ out->info[idx].layout != DATA_LAYOUT_NCHW)
+ logwarn (TAG, "output[%u] is raw data. skip layout conversion\n", idx);
+ }
+
in_ = *in;
out_ = *out;
uint32_t getDspmSize () const override { return meta_->dspm_size; }
data_layout getInputSegmentLayout (uint32_t idx) const override {
+ assert (idx < getInputNum ());
return meta_->input_seg_layout[idx];
}
data_layout getOutputSegmentLayout (uint32_t idx) const override {
+ assert (idx < getOutputNum ());
return meta_->output_seg_layout[idx];
}
EXPECT_EQ (handler->registerModel (&model_buf, &modelid), 0);
- tensors_data_info in;
- tensors_data_info out;
+ tensors_data_info in = {0};
+ tensors_data_info out = {0};
EXPECT_EQ (handler->setDataInfo (modelid, &in, &in), 0);
EXPECT_EQ (handler->setDataInfo (modelid, &in, &out), 0);
generic_buffer model_buf = {0};
create_model_buffer (model_buf);
- tensors_data_info in;
- tensors_data_info out;
+ tensors_data_info in = {0};
+ tensors_data_info out = {0};
EXPECT_NE (handler->setDataInfo (0, &in, &out), 0);
EXPECT_NE (handler->setDataInfo (1, &in, &out), 0);