Commit Graph

41 Commits

Author SHA1 Message Date
Herman Chen
fdbaa67b23 [mpp_buffer]: Use hashtable to search buffer group
When there are a lot of buffer groups created the search speed will be
slow. We should use hashtable to speed up.

Change-Id: I9ceeaa5a72eedf81597eeb83b34d417c74ceae04
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2021-04-21 14:43:56 +08:00
Herman Chen
a91439bef4 [mpp_buffer]: Add mem and buffer usage function
Change-Id: I356ef9311802868fe8d234dbff178ad8463985d0
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2021-04-20 14:39:52 +08:00
Herman Chen
6ff78b1bd6 [mpp_buffer]: Fix error on release orphan group
Change-Id: Ib915000941a2380c908b6c6f934b4b8bb8680fa9
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Signed-off-by: Fu Yuhao <fuyuhao@sunniwell.net>
2020-12-01 16:35:20 +08:00
Herman Chen
0520b7d35d [meta/buffer]: Fix usage after service is destoyed
When C++ global destructor is called MppBufferService and MppMetaService
maybe be called before other destructors which may call mpp_buffer_put
and mpp_meta_put. So we mark finished flag after ~MppBufferService and
~MppMetaService is call and so not free corresponding data again.

This case usually happens when user call exit() directly.

Change-Id: I997c49b095e443b061fca230587b6216f710d31c
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-10-20 09:08:59 +08:00
Shunqian Zheng
9464af395b [misc]: Terminate soc_name to fix out of bounds
1. Terminate soc_name string to fix memory out of bounds
2. Fix all snprintf/strnlen warning

Change-Id: I4525c6e289a00d1509bc30ee69545d92f2f4b9cb
Signed-off-by: Shunqian Zheng <zhengsq@rock-chips.com>
2020-04-29 16:06:47 +08:00
Herman Chen
6a76bfc3f5 [mpp_buffer]: Add offset property
1. Add offset set / get function to MppBuffer
2. Add U32 register address converstion function.

Change-Id: Id297b7a05e47d4e249f5e33c1924a0539729c808
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-03-20 17:41:32 +08:00
Herman Chen
66ff6456b2 [mpp_dec]: Optimize mpp_dec condition wait
Optimize mpp_dec parser thread wait mechanism to reduce cpu overload.

1. Add mpp signal notify flag
2. Add mpp_dec wait status flag
3. Compare the notify flag with wait status flag. When there wait
condition is fulfilled then signal parser thread to process.

This will greatly reduce cpu overload by block wake up with no sense.

Change-Id: I38da718e80d0487e0300e807bc87cdb1aa070471
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2018-07-27 14:24:58 +08:00
Herman Chen
ee08efc836 [mpp_buffer]: Print mpp_buffer_group_dump caller
Change-Id: I7c1dcd74d35d185e48d0ec0b6309fcdacc8031f3
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2018-07-06 17:41:03 +08:00
Herman Chen
0ce7deaf79 [mpp_buffer]: Fix error printf on exit
Fix MppBufferService dump print error on buffer type. The v4l2 type has
changed to external dma-buf type.

Change-Id: I02c9e2741117efc6e9d84d239a26a28dde3471d4
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2018-07-06 17:29:02 +08:00
Herman Chen
31c657e1dc [mpp_buffer]: Signal codec thread on buffer create
When mpp codec thread go into idle status for lack of buffer new buffer
commit or create should wake up the codec thread to check again.

Change-Id: I843f7c790e1f8b8dcd67e209077f2475c8e265c8
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2018-06-28 16:27:48 +08:00
Rimon Xu
fb73f23f53 [alloctor]: add flags for alloctor
Each of the different alloctor has different alloctor modes,
such as allocating physical continuous memory, secure memory,
etc.

Change-Id: Ib032689f0cfd36b494843dcc176a22c6c9587b6a
Signed-off-by: Rimon Xu <rimon.xu@rock-chips.com>
2018-05-07 17:34:34 +08:00
Herman Chen
4231398479 [mpp_buffer]: Add more log operation
Add log record for mpp_buffer_group_reset and mpp_buffer discard.
Add log when normal group became orphan group.

Change-Id: I08127efae9f9587693c012816aa4e48de50a61c4
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2018-01-03 09:04:23 +08:00
Herman Chen
0b71be06ee [mpp_buffer]: Fix mpp_buffer_test crash
1. mpp_buffer_test will crash on legacy buffer non-released. It is
fixed now.
2. Release misc buffer group if it is empty.

Change-Id: Ib8eae910b0167c952d0555389ad65db82a2dbbbf
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2017-12-18 15:15:07 +08:00
Herman Chen
68d22d8fec [base]: Disable default print on exit
Use finalizing flag to disable print on MppBufferService destroy.

Change-Id: I8f17a6b8ed77101cf4f240dad05f8e886968c3c6
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2017-10-10 14:19:15 +08:00
Herman Chen
10676cee87 [base]: Remove misc buffer group creation
1. Do NOT create misc group on library loading.
2. Only create misc group on required.
3. Support both ion and drm now.

Change-Id: I7479f06e8ba6b5568bca5e2173efaa06cef70597
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2017-10-10 14:18:37 +08:00
Randy Li
83a41062a8 [mpp_buffer]: fix compiler warnings
Change-Id: Iedc60e981dc5bee3d49a779c34d693998ad3499b
Signed-off-by: Randy Li <randy.li@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2017-03-24 12:28:51 +08:00
Herman Chen
249f83f35b [mpp_buffer]: Add caller to MppBuffer functions
Add caller parameter to all mpp_buffer functions.

Change-Id: Ibebd2a31b302988fe1ed480de575189ce57e41a5
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2016-12-15 16:56:39 +08:00
Herman Chen
447bb9e951 [jpegd]: Fix jpeg decoder MppBuffer crash
1. Fix jpeg decoder error on release.
2. Fix possible crash when release invalid MppBuffer handle.

Change-Id: Ie904192af3352b5f967dcea6371bdb9aff194089
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2016-12-13 16:05:59 +08:00
Herman Chen
1d12407883 [mpp_buffer]: Fix handwriting error
Change-Id: I6dd3bb986d4c35fd6255b1eec2617569d2e7ba70
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2016-12-09 16:10:46 +08:00
Lin Kesheng
60373a6973 [all]: format code
use fromdos to change file type, remove ^M in code.

Change-Id: I000202dc51fcff57cc0771455baebea595115b1d
Signed-off-by: Lin Kesheng <lks@rock-chips.com>
2016-09-08 15:21:02 +08:00
sayon.chen
f18f2f45a6 [vpu_mem_legacy]: buffer group create
1.limit buffer count for create vpu_mem_pool case
2.remove limit buffer print in mpp_buffer_impl

Change-Id: I88daa0204d8858e882ac3255ef3a95e0853ae2f2
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2016-08-23 20:17:53 +08:00
herman.chen
4f8f63d16f [mpp_buffer]: fix issue of destroy external commit frame buffer group twice
Change-Id: I496f493fbeb038ca72425d946c65a4e7cce6b684
Signed-off-by: herman.chen <herman.chen@rock-chips.com>
2016-08-23 19:49:13 +08:00
Herman Chen
43bfdc6bdf [format]: format coding style
Change-Id: I3d0e081f6636ca8162df4bda68618ec0ba37e7ae
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2016-08-23 09:16:22 +08:00
ChenHengming
53ad111527 [mpp_dec]: fix MppBuffer leak on reset
[mpp_buffer]: add more log

git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@1123 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-07-28 11:30:47 +00:00
ChenHengming
7bd91fe000 [mpp_buffer]: add MppBufferService misc group dump function
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@1066 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-07-21 12:09:45 +00:00
GaoZhili
362e84eb7a [mpp_buffer_impl]: modify the compile error of mpp_buffer_impl.cpp
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@1059 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-07-21 03:31:59 +00:00
ChenHengming
bf591fc7cd [mpp_buffer]: add more log check
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@1058 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-07-21 03:11:25 +00:00
ChenHengming
1cba9ddca2 [mpp_buffer]: fix mpp_buffer log counter error
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@1054 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-07-20 09:50:44 +00:00
ChenHengming
ee095068bc [mpp_buffer]: add more mpp_buffer log information
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@1043 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-07-19 09:38:21 +00:00
ChenHengming
4d35424576 [mpi]: add more mpi log
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@1041 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-07-19 03:37:55 +00:00
ChenHengming
947da74b5d [mpp_meta]: fix possible error in mpp_meta and mpp_buffer
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@1034 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-07-16 10:12:11 +00:00
GaoZhili
3249378118 only format the unformated code to standard style
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@1020 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-07-14 09:34:04 +00:00
ChenHengming
563a08525a [mpp_buffer]: add output MppBuffer to mpp_buffer_commit interface. Also add misc group internally
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@969 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-07-01 02:41:11 +00:00
ChenHengming
4201f689c0 [format]: format coding style
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@907 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-06-13 09:47:19 +00:00
ChenHengming
c0866a76f9 [comment]: fix company name hand writing error
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@906 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-06-13 09:42:31 +00:00
ChenHengming
c511cf3688 [mpp_buffer]: add log mechanism to mpp_buffer
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@894 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-06-08 06:09:30 +00:00
ChenHengming
c25d5ec6e0 [mpp_buffer]: reconstruct mpp_buffer_group infrastructure
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@893 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-06-08 02:50:50 +00:00
ChenHengming
218354e088 [osal]: fix import failed on window and linux
[mpp_buffer]: add mpp_buffer function 

git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@884 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-06-07 09:36:27 +00:00
ChenHengming
fa0d33ab9f [osal]: fix mpp_allocator handwriting error
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@878 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-06-06 12:19:38 +00:00
ZhaoJun
3ae8f919c5 [osal]: add drm allocator for linux system
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@857 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-06-01 10:40:31 +00:00
ChenHengming
2e69e3b32e [mpp]: move all base components to mpp/base
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@816 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-05-25 06:23:00 +00:00