Sunita Nadampalli | 398dd27e7f3 | libdce: Increase the concurrent engine handle countIncrease the MAX_INSTANCES count for the concurrent engine handles
to match the DCE server definitions.
Change-Id: If29de276b9a173e114ad6df9b1358b4842e86b49
Signed-off-by: Sunita Nadampalli <sunitan@ti.com> | | |
Veeranna Hanchinal | 36f1d138985 | libdce: Updated JpegEncoder interface fileUpdated MJPEGE header file due to MJPEGE codec update to
01.00.17.01 version.
Change-Id: Id820f9cf3c66e1659564ba297cc469a30dc55732
Signed-off-by: Veeranna Hanchinal <veeranna.hanchinal@ti.com> | | |
Gowtham Tammana | 83db16e17df | memplugin android: Add SCANOUT flag to allocationsAdd OMAP_BO_SCANOUT flags to `omap_bo` buffer allocations to
explicitly request from contiguous region.
Change-Id: Ifb6f8780608183cf9f5b636f885d408b01146d31
Signed-off-by: Gowtham Tammana <g-tammana@ti.com> | | |
Angela Stegmaier | 5fd7da53b50 | libdce[Android]: Add dce_ipc_recover APIIn case of remote core recovery due to remote core crash, the rpmsg-dce
handle needs to be closed and re-opened since any handles that were
open when the crash happened are marked as stale in the driver.
This patch adds a new API that the user can call to close the rpmsg-dce
handle so that recovery can happen.
In case the user receives notification of a remote core crash, it can
call the dce_... | | |
Hongmei Gou | c51f144b079 | libdce: add JPEG encoderChange-Id: I0136abd43fe8c1af3fedc5013dae578c8f6c7537
Signed-off-by: Hongmei Gou <h-gou@ti.com> | | |
Gowtham Tammana | 7fa95bf6b4d | memplugin android: Fix h->ptr offset in memplugin_allocIn memplugin_alloc(), the buffer pointer is meant to start at the end of
the MemHeader structure. h->ptr which holds this offset is calculated
incorrectly, but this has not caused any errors as the h->ptr is not
referenced directly. This offset is acquired through `H2P` macroin the
code. Nevertheless fixing the pointer arithmetic.
Change-Id: I075455860fbeb54001a9f2fde1de544c39fe3ed0
Signed-off... | | |
Vishal Mahaveer | 1b1b5a2e5e9 | libdce [Android]: avoid crash in memplugin_closeAdd more checks to prevent crash scenarios in memplugin_close.
Change-Id: Ieafc2bbd7a6876059926f37619b017d9cbb5a21d
Signed-off-by: Vishal Mahaveer <vishalm@ti.com> | | |
Sunita Nadampalli | 281e466ff5b | libdce[Android]: Defer rpmsg_dce device open till buffer lock phaseIn the current architecture, rpmsg_dce device is opened
during memplugin_open(), which can be called from any process
context. With Android system configured in SE Linux Enforcement
mode, it is not allowed to open rpmsg_dce in any process other than
mediaserver. Hence the device open logic is deferred till
dce buffer lock API where the actual device ioctls are needed.
Change-Id: Iedacfd3327e0e... | | |
Buddy Liong | f83e785d2b9 | Valid id checking for callbackmsg[id]).row_mode in process()In VIDDEC3_process or VIDENC2_process, if low latency is used, then
id will have a valid value of >= 0.
When full frame is used, after process call, there is a condition
check of callbackmsg[id]).row_mode. Problem is that id might not be valid
for full frame. With id value < 0, the value in callbackmsg[id]).row_mode
can be guarantee to be correct. Issue is found when id = -1 and the value
of ca... | | |
Buddy Liong | d0d2e63691f | get_rproc_info: Introduce new API to query remoteprocThis is the initial implementation of an extensible API
that allows the user to query various remote core
parameters. Currently, there are three query parameters
that are supported:
1. CPU Load
2. Total configured heap size
3. Available heap size
The intent of this API is to programmatically call the
API and feed it in various other tools that can be
developed on top of this (for example... | | |
Subash Lakkimsetti | 4e9b02508ac | [LIBDCE]: Fix in dce_enc_test when buffer type is tiler In NUMROW case while reading input from file to buffer
Y & UV input read offsets are not configured correctly
Change-Id: Ice9f5e85201ba967aa485f6dc11723b3794eeb9c
Signed-off-by: Subash Lakkimsetti <x0091084@ti.com> | | |
Buddy Liong | 868116b5e26 | Dos2unix on common.mkUpdate common.mk into unix format by running dos2unix.
Change-Id: I06467d79566deaaf781084df29c3f06947645016
Signed-off-by: Buddy Liong <buddy.liong@ti.com> | | |
Buddy Liong | 4cde6d99402 | H.264 low latency with IVIDEO_NUMROWSH.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 (SPR... | | |
Buddy Liong | e05d0b506a8 | [DCE_TEST] Revert 5c45f781Commit id: 5c45f781d307f799af9dceb5ff636d5477694e16
[DCE_TEST] Fixing the decoded output resolution
Only fixing H.264 1920x1080 for non-tiler.
The patch brokes MPEG2 decoding and H.264 1920x1080 with TILER.
Reverting the changes.
Change-Id: Ibf91c40e330c5eb56e804628db3a0e4ece469e8a
Signed-off-by: Buddy Liong <buddy.liong@ti.com> | | |
Buddy Liong | 5c45f781d30 | [DCE_TEST] Fixing the decoded output resolutionPreviously, when decoding for example H.264 1080p (1920x1080),
the output yuv comes out to be 1920x1088 because codec requires
the maxWidth and maxHeight on the VIDDEC3_Params to be aligned by 16 bytes.
Problem is in dce_test.c, the aligned is done early to the global variable
width and height which altered the value to be aligned by 16 bytes.
On the example above the height becomes 1088 (alig... | | |
Buddy Liong | 3040e7e3f7d | Updated README on FC version for MMIP 3.00.08.02For MMIP 3.00.08.02, the firmware requires FC to be updated
to version 3.40.01.04 which solves the issue with
FC_suspend() crashes if alg contains > 10 resources.
Change-Id: If30a183f29746cd43204a1a4f0cbea5481004467
Signed-off-by: Buddy Liong <buddy.budiono@ti.com> | | |
Subash Lakkimsetti | e1466e15f90 | VC1: setting the error concealmentIVC1VDEC_Params.errorConcealmentON to TURE.
Change-Id: Ia6abfd11adff48558509692d5bcf751e9ec5a97a
Signed-off-by: Subash Lakkimsetti <x0091084@ti.com> | | |
Buddy Liong | 15c5b8f2ea1 | README update for MMIP 3.00.08.01Update README to correspond the IVAHD codecs version.
Change-Id: I351ae4cb24668caac7f35a7574da8d0e33f2053a
Signed-off-by: Buddy Liong <buddy.budiono@ti.com> | | |
Buddy Liong | b6eacc1df4d | README update for MMIP 3.00.08.00Update README to correspond the correct build tools and
IVAHD codecs version.
Change-Id: I051f314ab42694dbf0c7991f717b0bb99bfb1e1e
Signed-off-by: Buddy Liong <buddy.budiono@ti.com> | | |
Buddy Liong | fc0bd63ab37 | libdce[LINUX] : Mutex protection support and other bug fixes* The dce_init/dce_deinit APIs can be called multiple times by applications.
This is called from multiple thread contexts in the viddec3test and is also
invoked several times by the GStreamer framework.
* But certain init functions and deinit operations need to be done only on the
first and last calls of the respective APIs.
* Additionally, according the pthread documentation we need to u... | | |
Sunita Nadampalli | 5146b13160d | libdce[Linux]: Add mutex protection for dce_buf_lock/dce_buf_unlockThe dce_buf_lock and dce_buf_unlock are meant for any video
buffer locking and unlocking with the GEM allocator.
Currently, these methods are being called from libdce apis
with ipc mutex held. In order to enable other media components
to make use of these buffer lock/unlock apis, explicit ipc mutex
protection is added.
Change-Id: Ibb4976120e5dfe6f88b42359655a460cafc223ac
Signed-off-by: Sunita ... | | |
Buddy Liong | 7d0014c9c89 | [DCE_ENC_TEST] Handling other errors from VIDENC2_processCurrently dce_enc_test is only handling XDM_ERROR only.
If VIDENC2_process return with other than XDM_ERROR for example,
MmRpc_call is failing because IPU2 has crashed.
Currently dce_enc_test is not exiting because it is not handling
the error.
Change-Id: I7fc4b7306f36961e4582dd5504b0acc4eb2a09a4
Signed-off-by: Buddy Liong <buddy.budiono@ti.com> | | |
Buddy Liong | 565e6707f3a | [DCE_TEST] Handling other errors from VIDDEC3_processCurrently dce_test is only handling XDM_ERROR only.
If VIDDEC3_process return with other than XDM_ERROR for example,
MmRpc_call is failing because IPU2 has crashed.
Currently dce_test is not exiting because it is not handling
the error.
Change-Id: Ie901a2ab4bd48b9e1665be118e7aeffe780b2f58
Signed-off-by: Buddy Liong <buddy.budiono@ti.com> | | |
Buddy Liong | 7345eec3dfe | [QNX] Remove dependency on QNX TILER for memory allocationPreviously dce_alloc() call will always reserve the memory from QNX
TILER 1D. The same case happens when it calls memplugin_alloc since the
definition of DEFAULT_REGION is set to MEM_TILER_1D for QNX.
Since there is a known issue of DMA lockup due to MPU side performing memory copy
into the TILER memory, this patch limits the use of QNX TILER.
With this patch, dce_test and dce_enc_test can be ... | | |
Vishal Mahaveer | f8df435c993 | [TRACE] Add tag to Android logsBy default Android tag is empty, define one for libdce
Change-Id: Ide10001092cc529c935f1387774f3b9afc4f1d1f
Signed-off-by: Vishal Mahaveer <vishalm@ti.com> | | |
Buddy Liong | 3a2e659dfe7 | [TEST_QNX] Cleanup debug print.Instead of ERROR, it should be DEBUG as we don't want
it to be printed every encoded instance.
Removed OMAP5 defined flag as it is not used.
Change-Id: Ied3bb95d067b55e601cbd47817d2578d21b5b920
Signed-off-by: Buddy Liong <buddy.budiono@ti.com> | | |
Sunita Nadampalli | 968acc5b544 | libdce[ANDROID]: Fix bug in omap buffer object free logicFor the omap_bo_del function call, we need to pass
the bo object rather than the mmaped pointer.
Change-Id: I3b011594b0210ec6f95f3f4644835594a80ace28
Signed-off-by: Sunita Nadampalli <sunitan@ti.com> | | |
Buddy Liong | bb5786d7ce8 | Update common.mk to exclude Android libdce_android object filesUpdating common.mk so that it will not include in the link/archive step
for libdce_android.c Android files when compiling on QNX HLOS.
Change-Id: I4621b29dfa6c30fbdd3f632afcb9f10d4d8946a6
Signed-off-by: Buddy Liong <buddy.budiono@ti.com> | | |
Sunita Nadampalli | 74ce64ad788 | libdce: Add mutex protection for dce_buf_lock/dce_buf_unlockThe dce_buf_lock and dce_buf_unlock are meant for any video
buffer locking and unlocking with the GEM allocator.
Currently, these methods are being called from libdce apis
with ipc mutex held. In order to enable other media components
to make use of these buffer lock/unlock apis, explicit ipc mutex
protection is added.
Change-Id: I6d63a4cdcffec62a346341ff515a7ebb03dea8c0
Signed-off-by: Sunita ... | | |
Hemant Hariyani | e7cf246bec2 | libdce[Android] - Use drm render node instead of card0Render nodes allow a limited set of ioctls without restrictions.
libdce only needs to access drm to get buffers and render
node should be sufficient.
Note that this is new feature in the kernel.
Also, need a better way to open render node than to use hard coded
path name.
Change-Id: I8178414185dcaf6c70edc756eefb0a00b7e3c332
Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com> | | |
Hemant Hariyani | 6ef4a562451 | Revert "libdce[ANDROID] - add drmsetmaster/dropmaster calls"Not needed as dce will use drm render node.
This reverts commit 4715ea56d8a266e66bc6cef982410c602a19be43.
Change-Id: I1dc14249ffe2dbbfdfd970cea3bf4a378274db6d
Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com> | | |
Pradeep Venkatasubbarao | d56393c4e1c | [Fix] Support Multiplanar encoder input buffersAn earlier patch to enable Single planar buffers for encoder
broke the multiplanar support.
This patch fixes this issue.
Change-Id: Ide169a43b3df915a969a401e623fdad7f8792faf
Signed-off-by: Pradeep Venkatasubbarao <pradeepv@ti.com> | | |
Sunita Nadampalli | 4715ea56d8a | libdce[ANDROID] - add drmsetmaster/dropmaster callsAdded setdrmmaster and dropdrmmaster calls for
every drm ioctl.
Change-Id: I9319e5927374e677480a18f937d2bbd12e561462
Signed-off-by: Sunita Nadampalli <sunitan@ti.com> | | |
Buddy Liong | 3b9d689f23e | Integration based on IPC 3.30.01.12Integration with IPC 3.30.01.12 requires build tool update on
XDC tool version to 3_30_xx_xx. Using the latest XDC Tools of
3_30_05_60_core
Copying the header files used from 3_30_05_60 version.
Change-Id: I648bfa945bcc0d8a43b4653d8f303cd9c18ee03f
Signed-off-by: Buddy Liong <buddy.budiono@ti.com> | | |
Sunita Nadampalli | 02907e6c0b2 | libdce[Android]: Added support for DRM based Android mempluginThis patch adds memplugin implementation for GEM allocator
and dce buffer locking via MmRPC for Android builds.
Android memplugin implement memplugin interface for buffers
with and without memheaders. This implementation is for
DRM/GEM buffer allocations. And libdce_android implements
GEM buffer registration and unregistration with MmRPC.
Change-Id: Ie72c988a37f987446f7d7c1d97225295de73d305
Si... | | |
Sunita Nadampalli | 5693201c37d | libdce: Changes to make dce_ipc_init/deinit externaldce_ipc_init and dce_ipc_deinit are required by
android memplugin even before DCE engine open happens.
This is required to use MmRpc interface for DRM/GEM
buffer locking.
Change-Id: Ia11af04658c367242c33ab8acffaa4b522aa0716
Signed-off-by: Sunita Nadampalli <sunitan@ti.com> | | |
Subash Lakkimsetti | 830a4d36e8c | [DCE TEST] [DCE ENC TEST] Logs added for dce test automationFor test automation, dce logs are parsed and results are updated.
Added logs for error cases.
Change-Id: I354648c02206e8a65efe49ffb0352308e4fe727f
Signed-off-by: Subash Lakkimsetti <x0091084@ti.com> | | |
Pradeep Venkatasubbarao | a3d80923055 | Fix multi threaded logic for client indexingClient count was being used for indexing into an empty slot in table
holding clients' engine handles.
In the case of multi-threaded scenario, there is a possibility of
out of order creation and deletions of clients in which case the client
indexing should search for an empty slot in the table rather than assuming
that the index defined by number of clients points to an empty slot in the
table.... | | |
Buddy Liong | 1916cfef94c | Fixing Klocwork findingRunning Klocwork stand-alone, it reports 19-20 issues.
This task submitted to resolve the found issues.
Change-Id: I98150d4262ee5b1ab85cb1a7c0e697dcadb4a665
Signed-off-by: Buddy Liong <buddy.budiono@ti.com> | | |
Buddy Liong | 16c81c0153b | README updateIntegration with IPC 3.23.00.01 requires build tool update on
XDC tool version to 3_25_06_96
Copying the header files used from 3_25_06_90 version.
Change-Id: Ie1e6e167a9cfb42fde706fa06ba4dd5900db7483
Signed-off-by: Buddy Liong <buddy.budiono@ti.com> | | |
Buddy Liong | 9ff1f626118 | [TEST_QNX] Fixing compiler warningsUsing QNX SDP 6.6, compiler issues warnings:
/libdce/test_qnx/dce_enc_test/dce_enc_test.c: In function 'main':
/libdce/test_qnx/dce_enc_test/dce_enc_test.c:363:21: warning: variable 'ivahd_encode_type' set but not used [-Wunused-but-set-variable]
/libdce/test_qnx/dce_enc_test/dce_enc_test.c:357:21: warning: variable 'oned' set but not used [-Wunused-but-set-variable]
/libdce/test_qnx/dce_test... | | |
Buddy Liong | dd6d57718a7 | [QNX] Fixing compiler warning.When compiling with QNX SDP 6.6, compiler issues warning of:
/libdce/memplugin_qnx.c: In function 'memplugin_alloc':
/libdce/memplugin_qnx.c:46:25: warning: variable 'eError' set but not used [-Wunused-but-set-variable]
/libdce/memplugin_qnx.c: In function 'memplugin_free':
/libdce/memplugin_qnx.c:109:25: warning: variable 'eError' set but not used [-Wunused-but-set-variable]
Change-Id: Iebb4e... | | |
Pradeep Venkatasubbarao | 89c5d181a8e | [VIDENC2] Single planar support for encoder inputThis patch adds support for single planar buffers (Y and UV) in a single buffer
sharing the same dma buf fd.
In the case of single planar buffers the offset of uv data need to passed to
rpc. This logic has been added in this patch. The patch s specific to LINUX and
will not have any effect on QNX and Android builds.
Change-Id: Ib4be4b8f1df36a1dc8d53eb0299189802ce040ca
Signed-off-by: Pradeep Ve... | | |
buddy.liong | d4d9938903b | README updateUpdating README note on the codec version used for
MMIP 3.00.05.01
VC1 decoder codec version 01.00.00.13
MPEG2 decoder codec version 01.00.14.01
H.264 encoder codec version 02.00.08.01
Change-Id: Iccaf4895398d514d0710794d4e9d9773468669b8
Signed-off-by: buddy.liong <buddy.budiono@ti.com> | | |
Pradeep Venkatasubbarao | 90e1c9a144e | [Linux] Add automatic search path for IPC headersAdds the automatic search header mechanism using pkg-config
for libmmrpc.
Change-Id: If4aa61cb598567455a1342be358338e4adfcc3e0
Signed-off-by: Pradeep Venkatasubbarao <pradeepv@ti.com> | | |
buddy.liong | b27bd8a7eb9 | [DCE_TEST] When outBufsInUse is set, use previous inputIDWhen handling interlace clip, the codec can hold the output buffer after
processing the top field frame. The codec will set the outBufsInUse flag.
When the application receives an indication that outBufsInUse flag is set,
the application should use the previous inputID as the inputID and not
sending a new output buffer (set to NULL on the output buffer) on the next
VIDDEC3_process call.
Change... | | |
buddy.liong | 0c7eee9ffdd | README updateUpdating README note on the VC1 codec version update from
01.00.00.11 to 01.00.00.12 on the IPUMM side.
Change-Id: Ib02274fd0ac1c86f6e7978e4e82ac618603159b1
Signed-off-by: buddy.liong <buddy.budiono@ti.com> | | |
buddy.liong | e3cdd16151a | Updating READMEThe command to build libdce on QNX requires additional information.
Instead of "make clean" and "make install", due to the renaming of
Makefile to Makefile.qnx, the command becomes "make -f Makefile.qnx clean"
and "make -f Makefile.qnx install".
Updates the "Supported API Information" to point to the header files
instead of listed it again here.
Change-Id: Ied47d812eb8b0a6c9a9bb0cace3f6241f91... | | |
Pradeep Venkatasubbarao | 52068e53c7eM | Merge "updating gitignore" | | |
Pradeep Venkatasubbarao | 0c88eecc8b8M | Merge "[LINUX] Manage Tiler Pinning for dce DRM buffers" | | |