Commit graph

45 commits

Author SHA1 Message Date
Herman Chen
2b35cee0ce [mpp_log]: Add more log helper function
1. Move mpp_log.h to inc for external user.
2. Add mpp_debug.h for mpp internal logging.
3. Fix some warning.
4. Add log level setup function.
5. Check env log_level value in mpp_get_log_level call.

NOTE:
1. mpp internal module should use mpp_debug.h and mpp external user
should use mpp_log.h
2. Use mpp_get_log_level to update mpp_log_level when the env changed.

Change-Id: I90a55a02a72db177533013280dfe111ca3479229
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-05-20 11:42:10 +08:00
Herman Chen
793acb6f66 [mpp_buf_slot]: Remove extra 16 line in fbc buffer
The extra 16 line is added in different codecs. There is no need to add
it again in buf_slot module.

Change-Id: I31c5dc8caa9f557382fdbf2db1d6021b4aa952ba
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-04-26 17:11:35 +08:00
Jeffy Chen
6ecd6bd6cb [mpp_dec]: Use pixel stride as width to calc FBC buffer size
Using pixel stride instead of byte stride.

Change-Id: Ic461f30ffb10b99560524a4d3a0dd6f039740f78
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2022-01-21 11:20:02 +08:00
Jeffy Chen
d6c338d009 [mpp_buf_slot]: Support FBC buffer size calc for NV16
Add slot buffer size calculation for NV16(AFBC).

Change-Id: Ibac797fe695de0da7656ea0ff97f982d0f1e5e6b
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2022-01-17 16:35:51 +08:00
Jeffy Chen
7865f7f81b [mpp_dec]: Change FBC buffer size calc rule
According to DRM FBC buffer size check rule change the slot buffer size
calculation.

Change-Id: I3bf2439d0d5229b2f014fc1b202b5343cb77f8fa
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2022-01-07 14:09:33 +08:00
Herman Chen
7bf0f1a54c [mpp_buf_slot]: Formating code
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: If48dbc3eb797495e4c62a8d8c30c5c0aee105c16
2021-12-07 17:07:40 +08:00
vic.hong
c5a794515d [mpi_buf_slot]: Fix hor_stride_pixel calc issue
Align the pixel bit depth to 8bit

Signed-off-by: vic.hong <vic.hong@rock-chips.com>
Change-Id: I19c4f47d19dfb8eba9cb0b17f20ed4ed839c8a80
2021-12-01 15:03:10 +08:00
vic.hong
8f0ca9fbbe [mpp_dec]: Fix hor_stride_pixel is zero issue
Set hor_stride_pixel in function mpp_buf_slot_set_prop

Signed-off-by: vic.hong <vic.hong@rock-chips.com>
Change-Id: I832b7d4e9f0d5fda81816e4c42e75ec1ef2d841a
2021-11-18 08:40:35 +08:00
Herman Chen
4d7b67bf6e [mpp_buf_slot]: Use preallocated log storage
Change-Id: I4e6711bcba64e867db22d5caa6fe6699449e3b42
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2021-05-06 14:54:47 +08:00
sayon.chen
476e6adfa5 [mpp_frame]: Add hor_stride_pixel interface
Change-Id: Ia6065b7c3832511c5d01263e6f07713028e8abd6
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2020-12-24 16:04:21 +08:00
sayon.chen
f2fd3a4d35 [buf_slot]: Fbc case hor_stride defalut 64 align
Change-Id: I56666c128c4178b6aea876012aa477ca49f98261
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2020-12-24 16:02:39 +08:00
Herman Chen
11aa95e52f [mpp_log]: Update mpp_log macro
Change-Id: I0e46e93a9a8fa0a7cb7a0e86cec1748503bddcfb
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-12-17 16:07:28 +08:00
Herman Chen
062a65cd2a [vdpu34x]: Fix fbc config error
Change-Id: Ie9c2a15e592fe3f4cf89faa150385706305a0e5b
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-12-11 11:45:06 +08:00
Herman Chen
fdb769274c [vdpu34x]: Support fbc fmt set for dec_out
1.hevc all resolution support fbc out
2.h264 only support frame mb only for fbc out
3.vp9 all resolution support fbc out

Change-Id: I1d68b75aebea30560a1c6c25bd552121f86097f0
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-12-08 19:42:53 +08:00
Herman Chen
b9eeffc293 [mpp_buf_slot]: Add buffer count query interface
Change-Id: I60afe2cb26282e461be3db366074304708b3d5d1
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-11-18 09:02:31 +08:00
Herman Chen
11ac01351a [misc]: Fix compile warning on NDK r16b
Change-Id: I1c1f1137fbbb7875d48cee1b6c17aa1d4c6f0863
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-07-03 15:50:35 +08:00
Herman Chen
b9dda0fb95 [mpp_dec]: improve reset process
Use semaphore to protect reset process.

Change-Id: I29b7bb009e38fe3be000663f32748ff7cd3d081f
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2018-10-24 14:23:50 +08:00
Herman Chen
1a388b0a94 [mpp_dec]: Fix error on random reset call
When decoding is not finish (eos) and user call reset the hal thread
may not clear all the reference frame used in decoder and not clear
frame in display queue. There will be memory leak on this case.

This patch fix this error when user randomly call reset funciton on
decoding by flushing decoder and clearing display queue.

Change-Id: I68a12bd8cfb94a4d56d652a11695ef69f2a78825
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2018-10-22 15:41:08 +08:00
Herman Chen
67e80ebfe4 [mpp]: Remove RKPLATFORM macro
Mpp will only run under Linux environment. Windows support will be
removed.

Change-Id: I52de4bd69f6d7b34507edeb6642668e225fcbd38
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2018-09-11 10:31:08 +08:00
Herman Chen
0bc071d8b7 [buf_slot]: Add slot reset log
Add slot reset log for debug

Change-Id: If0fc32609aaa38fff79dde9f47047a1f75f97f9a
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2018-08-20 14:24:46 +08:00
Herman Chen
5950ce6340 [base]: Set buffer size requirement on info change
1. Remove unused post_proc flag
2. Change code order to output buf_size through MppFrame in bufslot.

Change-Id: I4901f487399f211f31e137b5567315cd3b08130f
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2018-05-23 10:49:49 +08:00
Herman Chen
6cfc565a2c [buf_slot]: Fix slip of pen
mpp_slots_get_unused_count should use buffer count rather than buf_size
as the minuend.

Change-Id: I975e186c826edfbadf6115cdf375826d03a5adc9
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2018-05-22 15:33:15 +08:00
Herman Chen
1bab0f1f03 [base]: Fix error on generate default slot info
Change-Id: Ie63052d410d47ba447ce4e58bab73dc6f6c11513
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2018-05-14 18:11:20 +08:00
Herman Chen
dec3c10b1f [base]: Add more queue status to MppBufSlot
Add more function to MppBufSlot:
1. Add used / unused count for querying with corresponding log.
2. Add more queue (deinterlace / color convertion)
3. Add MppFrame generation for slot index.
4. Add post process flag for field image.

Change-Id: I2666d026fc19816d2e32547604228f2a3747211f
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2018-05-14 14:49:59 +08:00
Herman Chen
af816d320c [base]: Fill buf_size to mpp_frame when setup slot
There is difficulty for external user to get proper buffer size for
decoding. So we could fill the buf_size field at output info change
mpp_frame. Then user can get buf_size and create buffer group correctly.

Change-Id: Ibf33a81fed085615205035d2b5129029a5096d9a
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2018-03-23 17:35:39 +08:00
Ding Wei
55c070ee00 [h264d]: fix frame eos
tips:
a) when eos is empty frame, direct flush and return.
b) when last frame has eos, then decode it and flush.
c) mpp_put_frame must check frame slot whether empty.
d) when eos_frame decode error, mark error in eos_frame

Change-Id: Ia78445b2e568195f411b2f339469f4097e83b570
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2018-01-02 18:45:05 +08:00
Randy Li
50bdc4de6a [mpp]: turn off a lots of message
I think those information are very anxious and useless
in daily usage.

Change-Id: I946418a476a332588b1d9b9722bbd5e93213e8dc
Signed-off-by: Randy Li <randy.li@rock-chips.com>
2017-11-30 11:32:17 +08:00
leo.ding
0cf71fe8bf [mpp_buf_slot]: fix bug: should return the info_set frame back
Change-Id: Iea42a889fe02e78e884970154f5544221d7c017d
Signed-off-by: leo.ding <leo.ding@rock-chips.com>
2017-09-11 16:02:29 +08:00
leo.ding
28bdc96b2d [vpu_api_legacy]: disprese MPP_DEC_SET_FRAME_INFO function to
each codec.

Change-Id: I5ac177fbaba6e81db53c7d162a1d81ba3e00c2e4
Signed-off-by: leo.ding <leo.ding@rock-chips.com>
2017-09-06 10:08:31 +08:00
leo.ding
7735655408 [avsd] add avsd hard decoder driver.
Change-Id: I4459a9b3ea71d6ab06d5b6ebe6226604bc8b7042
Signed-off-by: leo.ding <leo.ding@rock-chips.com>
2016-11-15 17:04:02 +08:00
Herman Chen
04b6a23ce2 [test]: modify mpi_dec_test for mjpeg decoding
1. clear input packet length when packet is copied
2. modify mjpeg advanced decoding path in mpi_dec_test
3. add numerator and denominator set prop function
4. remove extra log on first info change
5. fix eos process and buffer size check in advanced decoding flow
6. fix jpegd stream length config error

Change-Id: Id6c26ebda090eb4076f27deaad4d61b4221f2653
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2016-10-10 11:03:59 +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
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
73ceedd541 [mpp_dec]: fix buffer leak on reset
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@1122 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-07-28 09:36:48 +00:00
ChenHengming
a8f26705ee [log]: reduce some logs
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@1116 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-07-28 06:18:59 +00:00
ChenHengming
781c812ce5 [frame/packet]: increase mpp_buffer reference count when mpp_buffer is set to mpp_frame or mpp_packet
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@1045 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-07-19 10:40:26 +00:00
ChenHengming
58cf49779a [mpp_buf_slot]: set default buffer size rate to width * height * 9 / 5
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@1042 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-07-19 03:44: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
DingWei
f658df00fb [h264d] add yuv422 format support.
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@993 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-07-08 10:15:05 +00:00
ChenHengming
8fb04334b4 [buf_slot]: add slot global index to better understand of buffer slot behave
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@954 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-06-24 02:52:15 +00:00
ChenHengming
ba460b9e6b [mpp_buf_slot]: fix error when clear frame without buffer (this may happen on fake reference frame)
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@929 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-06-16 09:35:06 +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
ChenSiyong
39c9a365ba [mpp] replace ANDROID to RKPLATFORM
[rk_list] remove reunlock mux at the same founction 

git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@845 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-05-30 07:07:23 +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
Renamed from mpp/codec/mpp_buf_slot.cpp (Browse further)