H.264 low latency - IVIDEO_NUMROWS
authorBuddy Liong <a0270631@ti.com>
Tue, 24 Nov 2015 19:46:22 +0000 (13:46 -0600)
committerBuddy Liong <a0270631@ti.com>
Mon, 2 Oct 2017 15:20:04 +0000 (10:20 -0500)
commitd135cc9f7d000f715cceb272f7e93019b4af917c
tree13a37de6c74e466034755dd10e709ee30e4fa062
parent1d6d001c928ac738785d889afe1e5aaa8341bee2
H.264 low latency - IVIDEO_NUMROWS

H.264 codec user guide describes the functionality of low latency.
This functionality allows user to encode/decode a sub-frame level data
communications. Without low latency, user can only encode/decode a
complete/full frame only.

More information about H264 low latency can be found in codec release
package:
* H.264 Encoder 2.0 on HDVICP2 and Media Controller Based Platform
  User's Guide (SPRUHG3), Appendix G - Low Latency / Sub Frame Level
  Synchronization
* H.264 Decoder 2.0 on HDVICP2 and Media Controller Based Platform
  User's Guide (SPRUHF9), Appendix I - Low Latency / Sub Frame Level
  Synchronization

This commit is only implemented low latency with IVIDEO_NUMROWS.
H.264 encoder handles inputDataMode = IVIDEO_NUMROWS with getDataFxn
as callback to get the numRows being filled into the inputBuffer pointer
passed at process call.

From H.264 encoder user guide Appendix G, more details can be found in
sec. G2 H.264 Encoder Input with sub frame level synchronization

H.264 decoder handles outputDataMode = IVIDEO_NUMROWS with putDataFxn as
callback to notify client on the numRows/numBlocks being filled by codec
into the outputBuffer pointer passed at process call.

From H.264 decoder user guide Appendix I, more details can be found in
sec. I.2 Details of using Sub Frame Level data sync at output side.

The changes depend on the changes done on LIBDCE DCE client:
H.264 low latency with IVIDEO_NUMROWS

Change-Id: I59c309dba8bd8d3cd1dc519340d494931f0efe3e
Signed-off-by: Buddy Liong <a0270631@ti.com>
platform/ti/dce/baseimage/dce_ipu.cfg
src/ti/framework/dce/dce.c
src/ti/framework/dce/dce_priv.h