aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBuddy Liong2015-11-24 16:32:11 -0600
committerBuddy Liong2016-03-01 17:11:16 -0600
commit4cde6d994029b7a442bc2e32f161ca3aa284f6fa (patch)
treefa0c79a6f6fea7f64dcb512f11395a83eabe94a9 /dce_priv.h
parente05d0b506a8f5e9218449d3952ee6c1d327fddb5 (diff)
downloadrepo-libdce-4cde6d994029b7a442bc2e32f161ca3aa284f6fa.tar.gz
repo-libdce-4cde6d994029b7a442bc2e32f161ca3aa284f6fa.tar.xz
repo-libdce-4cde6d994029b7a442bc2e32f161ca3aa284f6fa.zip
H.264 low latency with 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 update is only valid on video codec on IVA-HD. This changes depend on the changes done on IPUMM DCE server. No low latency update is performed on video codec on DSP. This commit has dependencies on: IPC 3.42.00.02 or latest IPUMM commit ids: commit e37750cc921a9442c48e7212824b28850ac3aaa7 - H.264 low latency - IVIDEO_NUMROWS commit 266749c0b6a2584d563625f881f998c3d78ca873 - Handling when MPU crashes, eg. CTRL-C on MPU side. commit 030572aaa1964bb50a903852fab0ecc0149b6b7e - H.264 Low Latency - sync put_DataFxn to MPU side Change-Id: I308bc74a879099f38705df6e6dda4a86b6645986 Signed-off-by: Buddy Liong <buddy.liong@ti.com>
Diffstat (limited to 'dce_priv.h')
-rw-r--r--dce_priv.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/dce_priv.h b/dce_priv.h
index 5e2fba1..198c689 100644
--- a/dce_priv.h
+++ b/dce_priv.h
@@ -57,19 +57,19 @@ extern int dce_debug;
57#ifdef BUILDOS_QNX 57#ifdef BUILDOS_QNX
58#include <sys/slog.h> 58#include <sys/slog.h>
59#define TRACE(lvl,FMT, ...) do if ((lvl) <= dce_debug) { \ 59#define TRACE(lvl,FMT, ...) do if ((lvl) <= dce_debug) { \
60 slogf(42, _SLOG_INFO, "%s:%d:\t%s\terror: " FMT, __FILE__, __LINE__, __FUNCTION__, ##__VA_ARGS__); \ 60 slogf(42, _SLOG_INFO, "%s:%d:\t%s\t" FMT, __FILE__, __LINE__, __FUNCTION__, ##__VA_ARGS__); \
61} while( 0 ) 61} while( 0 )
62 62
63#elif defined BUILDOS_LINUX 63#elif defined BUILDOS_LINUX
64#define TRACE(lvl,FMT, ...) do if ((lvl) <= dce_debug) { \ 64#define TRACE(lvl,FMT, ...) do if ((lvl) <= dce_debug) { \
65 printf("%s:%d:\t%s\t Error: "FMT,__FILE__, __LINE__,__FUNCTION__ ,##__VA_ARGS__); \ 65 printf("%s:%d:\t%s\t" FMT,__FILE__, __LINE__,__FUNCTION__ ,##__VA_ARGS__); \
66}while( 0 ) 66}while( 0 )
67 67
68#elif defined BUILDOS_ANDROID 68#elif defined BUILDOS_ANDROID
69#include <utils/Log.h> 69#include <utils/Log.h>
70#define LOG_TAG "libdce" 70#define LOG_TAG "libdce"
71#define TRACE(lvl,FMT, ...) do if ((lvl) <= dce_debug) { \ 71#define TRACE(lvl,FMT, ...) do if ((lvl) <= dce_debug) { \
72 ALOGE("%s:%d:\t%s\t Error: "FMT,__FILE__, __LINE__,__FUNCTION__ ,##__VA_ARGS__); \ 72 ALOGE("%s:%d:\t%s\t" FMT,__FILE__, __LINE__,__FUNCTION__ ,##__VA_ARGS__); \
73}while( 0 ) 73}while( 0 )
74#endif 74#endif
75 75