summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Update project for latest Androidd-pie-core-releaseAndrew F. Davis2019-07-227-73/+83
| | | | | | | Convert the Android.mk file to .bp. Also fixup various build warnings detected by newer compiler tools. Signed-off-by: Andrew F. Davis <afd@ti.com>
* Reduce external dependencies by pulling in MMRPC filesAndrew F. Davis2019-07-223-0/+938
| | | | | | | | | | The ipcdev project is over 200k lines of code, of which we use only about 600 lines. Pull the mmrpc project into this source base to avoid this large external dependency. We do the same for the kernel header that mmrpc needs. This will have to be kept up to date with the current kernel version. Signed-off-by: Andrew F. Davis <afd@ti.com>
* [ANDROID] add header librariesVishal Mahaveer2018-03-081-0/+2
| | | | | | | | | Add libutils_headers to the dependency list since global include paths are not provided by default when building with BOARD_VNDK_VERSION. Change-Id: I2a5bb5217354cd9ddcb7c914cee60f829694e2a8 Signed-off-by: Vishal Mahaveer <vishalm@ti.com>
* [ANDROID] update makefile with proper vendor flagVishal Mahaveer2018-03-081-1/+1
| | | | | | | | Use LOCAL_VENDOR_MODULE lines instead of explicitly specifying LOCAL_MODULE_PATH for vendor modules. Change-Id: I6783f0003409b34de7f6bc02b76137b5542540ea Signed-off-by: Vishal Mahaveer <vishalm@ti.com>
* LCPD-11846: omapdrm API call with bus-version styleBuddy Liong2018-01-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | On linux, libdce is opening drm device as shown below: OmapDrm_FD = drmOpen("omapdrm", "platform:omapdrm:00"); That causes a conflict with other masters (eg. X11 backend) are opening the device. The 2nd argument is not needed with drmOpen() call. Per Tomi Valkeinen, "drmOpen() does a lot of things, it tries to figure out what exact device the user wants, loads kernel modules if they're not loaded, and who knows what. Especially the bus-version style (the 2nd argument defined) seems to do lots of stuff, probably needed by legacy PCI card or something. I don't see any need to define the bus-id in our case." "There's a render node that should be used if only buffer management is needed (e.g. /dev/dri/renderD128). ... drmOpenWithType() can be used to to open the render node using "omapdrm" name, and libdrm resolves that to the correct device node." This commit changes how linux libdce gets the OmapDrm_FD. Instead of using drmOpen(), it will use drmOpenWithType(). Change-Id: I4eed4dedad7451c782cf6c94fb6165e25f870976 Signed-off-by: Buddy Liong <a0270631@ti.com>
* [LIBDCE] Update dependency header filesBuddy Liong2017-09-293-142/+148
| | | | | | | | | | | | | Update the header files to match with framework_components_3_40_02_07 xdctools_3_50_03_33_core Modify the README on the version as well. The codec header files have been checked to be similar (only spacing different) so no update is needed. Change-Id: Ie0afb59ec58f88fd18d49d688f958cf3aafc3848 Signed-off-by: Buddy Liong <a0270631@ti.com>
* Merge "libdce [Android]: Increase array size for inbuf_offset and outbuf_offset"Buddy Liong2017-09-191-2/+2
|\
| * libdce [Android]: Increase array size for inbuf_offset and outbuf_offsetBuddy Liong2017-07-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For Android only, in process(), it will use the inbuf_offset array and outbuf_offset array when marshalling functions arguments to be sent to remote core. Before this patch, MAX_INPUT_BUF and MAX_OUTPUT_BUF are set to 2 meaning inbuf_offset and outbuf_offset are only an array of 2 instances. With the changes in OMX to enable Error Concealment on MPEG2, which requires an additional meta buffer to be passed in outBufs argument, the outbuf_offset is no longer sufficient. This commit changes the array number to 16 which is based on the XDM_MAX_IO_BUFFERS value for XDM2_BufDesc. For internal reference: CSR OMAPS00343473. Change-Id: Ia490ef03017e4c4cdb82cda1a22cbc8b3f28567d Signed-off-by: Buddy Liong <buddy.liong@ti.com>
* | [ANDROID] move libdce to vendor partitionVishal Mahaveer2017-09-191-0/+1
|/ | | | | | | Updating Android makefile to generate dce library in /vendor location instead of /system. Change-Id: I21bd84f9d5734e31ec5e076f64008fcc4ca2b850 Signed-off-by: Vishal Mahaveer <vishalm@ti.com>
* libdce[Android]: Fix NULL pointer dereference in dce_buf_unlockAngela Stegmaier2017-07-171-1/+5
| | | | | | | | | | | | | | | | | In the case where dce_buf_lock fails due to dce_ipc_init failure, then MmRpcHandle is not guaranteed to be initialized and could result in a NULL pointer de-reference. In some use-cases where the IPUMM takes a longer time to come up, this was resulting in a crash, causing the Android media service to stop and restart several times. This patch fixes the NULL pointer de-reference by first checking if the IPC is initialized in dce_buf_unlock before calling the IPC API. This patch also has a minor cleanup of an un-used static global variable. Change-Id: Idb74fb60c0b9696a0be87e4808b537ebfc84cd7e Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
* [DCE_TEST] Print additional extendedError for VC1 and MPEG2Buddy Liong2017-06-201-0/+15
| | | | | Change-Id: Ie209faf3258a20eb5437e0423447c0f48477657f Signed-off-by: Buddy Liong <buddy.liong@ti.com>
* libdce: Increase the concurrent engine handle countSunita Nadampalli2017-02-072-3/+3
| | | | | | | | Increase 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>
* libdce: Updated JpegEncoder interface fileVeeranna Hanchinal2017-02-072-42/+45
| | | | | | | | Updated 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>
* memplugin android: Add SCANOUT flag to allocationsGowtham Tammana2017-01-191-2/+4
| | | | | | | | Add 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>
* libdce[Android]: Add dce_ipc_recover APIAngela Stegmaier2017-01-173-3/+18
| | | | | | | | | | | | | | | | | In 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_ipc_recover() API to make sure that the rpmsg-dce handle that is opened during dce_buf_lock is closed so that a new one can be opened the next time. Change-Id: I8ebc19e308ffe7431b57c31cfecd469e171777f6 Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
* libdce: add JPEG encoderHongmei Gou2016-11-093-1/+823
| | | | | Change-Id: I0136abd43fe8c1af3fedc5013dae578c8f6c7537 Signed-off-by: Hongmei Gou <h-gou@ti.com>
* memplugin android: Fix h->ptr offset in memplugin_allocGowtham Tammana2016-11-011-1/+3
| | | | | | | | | | | In 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-by: Gowtham Tammana <g-tammana@ti.com>
* libdce [Android]: avoid crash in memplugin_closeVishal Mahaveer2016-10-191-3/+6
| | | | | | | Add more checks to prevent crash scenarios in memplugin_close. Change-Id: Ieafc2bbd7a6876059926f37619b017d9cbb5a21d Signed-off-by: Vishal Mahaveer <vishalm@ti.com>
* libdce[Android]: Defer rpmsg_dce device open till buffer lock phaseSunita Nadampalli2016-08-292-8/+18
| | | | | | | | | | | | In 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: Iedacfd3327e0ee975a8a492b057aac576d7f7c10 Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
* Valid id checking for callbackmsg[id]).row_mode in process()Buddy Liong2016-06-221-2/+2
| | | | | | | | | | | | | | | | | | | 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 callbackmsg[-1]).row_mode points to less than 0, which causes the condition to pass. This commit is fixing the issue by adding additional check to make sure id is >= 0 when calling callbackmsg[id]).row_mode so that the condition check will be valid to determine low latency mode or full frame mode after process(). Change-Id: I93209e4da42305e807824565bf676c8bdd33d72a Signed-off-by: Buddy Liong <buddy.liong@ti.com>
* get_rproc_info: Introduce new API to query remoteprocBuddy Liong2016-06-173-1/+55
| | | | | | | | | | | | | | | | | | | | | | This 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: soc performance visualization etc.) NOTE: This will require the implementation on ipumm-fw and/or dspdce-fw. Change-Id: I94c309221dbce24162a4f31166890d3acdb2d049 Signed-off-by: Karthik Ramanan <a0393906@ti.com> Signed-off-by: Buddy Liong <buddy.liong@ti.com>
* [LIBDCE]: Fix in dce_enc_test when buffer type is tilerSubash Lakkimsetti2016-04-061-15/+14
| | | | | | | | 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>
* Dos2unix on common.mkBuddy Liong2016-03-011-53/+53
| | | | | | | Update common.mk into unix format by running dos2unix. Change-Id: I06467d79566deaaf781084df29c3f06947645016 Signed-off-by: Buddy Liong <buddy.liong@ti.com>
* H.264 low latency with IVIDEO_NUMROWSBuddy Liong2016-03-017-433/+1546
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* [DCE_TEST] Revert 5c45f781Buddy Liong2015-10-271-5/+9
| | | | | | | | | | | | | Commit 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>
* [DCE_TEST] Fixing the decoded output resolutionBuddy Liong2015-10-011-9/+5
| | | | | | | | | | | | | | | | | | | | | | | Previously, 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 (aligned by 16 bytes). When the output buffer is allocated for TILER, the outBufs->descs[0].tileMem.width = width that is aligned to 16 bytes. outBufs->descs[0].tileMem.height = height that is aligned to 16 bytes. or when the output buffer is allocated for Non-TILER, the outBufs->descs[0].bytes = width * height that is aligned to 16 bytes. With this fix, the output is now corrected to have the same resolution as the input. Eg. H.264 1080p (1920x1080) will be decoded to YUV NV12 of 1920x1080. No longer YUV NV12 of 1920x1088. Change-Id: Icdce8dfb99ffd2568ad318ff30305f83901a8243 Signed-off-by: Buddy Liong <a0270631@ti.com>
* Updated README on FC version for MMIP 3.00.08.02Buddy Liong2015-08-171-1/+1
| | | | | | | | | For 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>
* VC1: setting the error concealmentSubash Lakkimsetti2015-08-061-0/+1
| | | | | | | IVC1VDEC_Params.errorConcealmentON to TURE. Change-Id: Ia6abfd11adff48558509692d5bcf751e9ec5a97a Signed-off-by: Subash Lakkimsetti <x0091084@ti.com>
* README update for MMIP 3.00.08.01Buddy Liong2015-05-261-2/+2
| | | | | | | Update README to correspond the IVAHD codecs version. Change-Id: I351ae4cb24668caac7f35a7574da8d0e33f2053a Signed-off-by: Buddy Liong <buddy.budiono@ti.com>
* README update for MMIP 3.00.08.00Buddy Liong2015-05-111-8/+7
| | | | | | | | Update README to correspond the correct build tools and IVAHD codecs version. Change-Id: I051f314ab42694dbf0c7991f717b0bb99bfb1e1e Signed-off-by: Buddy Liong <buddy.budiono@ti.com>
* libdce[LINUX] : Mutex protection support and other bug fixesBuddy Liong2015-05-052-16/+22
| | | | | | | | | | | | | | | | | | | * 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 use **either** the PTHREAD_MUTEX_INITIALIZER or the pthread_mutex_init APIs with the attribs * The protection for the dce_init with the ref count mechanism is additionally needed for the mutex initialization because if this is not done conditionally (for the first dce_init) sequence, the subsequent call to this API would actually reinit the mutex value and cause the new thread sequence to acquire the same. Change-Id: I2d129a2b030a25c4e8c5f621abf05d68562db6b8 Signed-off-by: Karthik Ramanan <a0393906@ti.com> Signed-off-by: Buddy Liong <buddy.budiono@ti.com>
* libdce[Linux]: Add mutex protection for dce_buf_lock/dce_buf_unlockSunita Nadampalli2015-04-271-0/+28
| | | | | | | | | | | | The 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 Nadampalli <sunitan@ti.com>
* [DCE_ENC_TEST] Handling other errors from VIDENC2_processBuddy Liong2015-04-241-12/+26
| | | | | | | | | | | | Currently 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>
* [DCE_TEST] Handling other errors from VIDDEC3_processBuddy Liong2015-04-241-2/+7
| | | | | | | | | | | | Currently 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>
* [QNX] Remove dependency on QNX TILER for memory allocationBuddy Liong2015-04-214-15/+16
| | | | | | | | | | | | | | | | | | | | | | | Previously 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 executed without QNX TILER allocation. DCE test apps are also updated to allocate the memory through shmemallocator instead of QNX TILER. The capability to: allocate TILER output buffer for decoder and allocate TILER input buffer and output buffer for encoder are still existed as part of the dce_test or dce_enc_test input parameter 'tiler' vs 'nontiler' Change-Id: I33e2a9dd83c791cc2621e548628715abaeae871d Signed-off-by: Buddy Liong <buddy.budiono@ti.com>
* [TRACE] Add tag to Android logsVishal Mahaveer2015-03-251-0/+1
| | | | | | | By default Android tag is empty, define one for libdce Change-Id: Ide10001092cc529c935f1387774f3b9afc4f1d1f Signed-off-by: Vishal Mahaveer <vishalm@ti.com>
* [TEST_QNX] Cleanup debug print.Buddy Liong2015-02-261-4/+1
| | | | | | | | | | 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>
* libdce[ANDROID]: Fix bug in omap buffer object free logicSunita Nadampalli2015-02-191-1/+1
| | | | | | | | For 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>
* Update common.mk to exclude Android libdce_android object filesBuddy Liong2015-02-031-2/+2
| | | | | | | | Updating 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>
* libdce: Add mutex protection for dce_buf_lock/dce_buf_unlockSunita Nadampalli2015-01-303-2/+18
| | | | | | | | | | | | The 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 Nadampalli <sunitan@ti.com>
* libdce[Android] - Use drm render node instead of card0Hemant Hariyani2014-12-031-1/+1
| | | | | | | | | | | | | | Render 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>
* Revert "libdce[ANDROID] - add drmsetmaster/dropmaster calls"Hemant Hariyani2014-12-031-12/+0
| | | | | | | | | Not needed as dce will use drm render node. This reverts commit 4715ea56d8a266e66bc6cef982410c602a19be43. Change-Id: I1dc14249ffe2dbbfdfd970cea3bf4a378274db6d Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
* [Fix] Support Multiplanar encoder input buffersPradeep Venkatasubbarao2014-11-272-2/+3
| | | | | | | | | | An 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>
* libdce[ANDROID] - add drmsetmaster/dropmaster callsSunita Nadampalli2014-11-251-0/+12
| | | | | | | | Added setdrmmaster and dropdrmmaster calls for every drm ioctl. Change-Id: I9319e5927374e677480a18f937d2bbd12e561462 Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
* Integration based on IPC 3.30.01.12Buddy Liong2014-11-193-21/+26
| | | | | | | | | | Integration 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>
* libdce[Android]: Added support for DRM based Android mempluginSunita Nadampalli2014-11-174-17/+329
| | | | | | | | | | | | This 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 Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
* libdce: Changes to make dce_ipc_init/deinit externalSunita Nadampalli2014-11-143-12/+23
| | | | | | | | | | dce_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>
* [DCE TEST] [DCE ENC TEST] Logs added for dce test automationSubash Lakkimsetti2014-10-092-19/+21
| | | | | | | | For 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>
* Fix multi threaded logic for client indexingPradeep Venkatasubbarao2014-09-151-9/+39
| | | | | | | | | | | | | | | | | | | Client 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. This patch fixes this issue by decoupling client count from table indexing. Now the table indexing is done by finding the empty slot identified by a '0' in the entry. This also forces filling '0' during client deletion which is also taken care of in the patch. Change-Id: I3d4c8d744c3912a6fae5809f445039d39b762f91 Signed-off-by: Pradeep Venkatasubbarao <pradeepv@ti.com>
* Fixing Klocwork findingBuddy Liong2014-09-023-30/+67
| | | | | | | | Running 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>