Change vision_source_buffer_s to media_packet_h 13/296113/2 accepted/tizen/unified/20230728.155814
authorKwanghoon Son <k.son@samsung.com>
Thu, 20 Jul 2023 04:51:47 +0000 (13:51 +0900)
committerKwanghoon Son <k.son@samsung.com>
Thu, 20 Jul 2023 07:31:23 +0000 (16:31 +0900)
Change-Id: I77fc29a15268d613d529af8302731e4f30250bef
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
test/testsuites/mv3d/depthstream_test_suite.cpp

index ee2092088c37be26b533c58e703a02ceaf69c7ef..c00c8b074a728416bf68b9493d6d623caed5437f 100644 (file)
@@ -191,7 +191,7 @@ static void _depth_stereo_cb(mv_source_h source, unsigned short *depth, unsigned
        cv::imwrite(mv3d->dispResultFile, dump);
 }
 
-static int _vision_source_cb(vision_source_buffer_s *buffer, void *user_data)
+static int _vision_source_cb(media_packet_h packet, void *user_data)
 {
        auto app = static_cast<appdata *>(user_data);
        if (app->mv_source == nullptr || app->mv3d_handle == nullptr) {
@@ -201,12 +201,23 @@ static int _vision_source_cb(vision_source_buffer_s *buffer, void *user_data)
 
        printf("_vision_source_cb: %lld ms\n", static_cast<long long int>(app->stopWatch.elapsedTime().count()));
 
-       for (unsigned int h = 0; h < buffer->resolution.height; h++) {
-               memcpy(app->buffer + buffer->resolution.width * h, buffer->planes[0].data + (buffer->planes[0].align_width * h),
-                          buffer->resolution.width);
+       char *plane_data_ptr;
+       int stride_w, height, width;
+       media_format_h fmt;
+       media_packet_get_format(packet, &fmt);
+       media_format_get_video_info(fmt, nullptr, &width, &height, nullptr, nullptr);
+       media_format_unref(fmt);
+
+       media_packet_get_video_stride_width(packet, 0, &stride_w);
+       media_packet_get_video_plane_data_ptr(packet, 0, (void **) (&plane_data_ptr));
+
+       for (unsigned int h = 0; h < height; h++) {
+               memcpy(app->buffer + width * h, plane_data_ptr + stride_w * h, width);
        }
+
        mv_source_fill_by_buffer(app->mv_source, app->buffer, app->imgWidth * app->imgHeight, app->imgWidth, app->imgHeight,
                                                         MEDIA_VISION_COLORSPACE_Y800);
+       media_packet_unref(packet);
 
        if (isAsync)
                mv_3d_run_async(app->mv3d_handle, app->mv_source, nullptr, nullptr);