Enqueue multiple frames at device side
authorYuan Zhao <yuanzhao@ti.com>
Thu, 4 Oct 2018 16:39:08 +0000 (11:39 -0500)
committerAjay Jayaraj <ajayj@ti.com>
Fri, 19 Oct 2018 15:57:57 +0000 (10:57 -0500)
commitf4aea3acecbc3fda639eb725bd16ec7f1cb73a99
tree833b188b0a107c0e8f6dda2f5cebec675e9af7e9
parentb702d0c0525ddbef7e9971ca9611c05eedd7d4af
Enqueue multiple frames at device side

- Previous implementation won't send/enqueue next frame to device
  until the host has received completion message for current frame.
  The improvement is to create multiple sets/contexts of internal
  TIDL input/output buffers at device side, and to send/enqueue next
  frame using a different set/context of internal TIDL input/output
  buffers to device while device is still processing the current frame.
  When device finishes current frame, it can immediately read
  its messageQ and start processing the next frame, without waiting
  for the completion message reaching the host and the hosting sending
  the next frame.
- In pipelined processing of multiple frames, this optimization can
  effectively hide the round-trip communication between host and device.
- Removed deprecated enableInternalInput feature
- MCT-1059
tidl_api/dsp/ocl_wrapper.cl
tidl_api/inc/execution_object.h
tidl_api/src/device_arginfo.h
tidl_api/src/execution_object.cpp
tidl_api/src/execution_object_pipeline.cpp
tidl_api/src/ocl_device.cpp
tidl_api/src/ocl_device.h
tidl_api/src/parameters.h