Commit Graph

1911 Commits

Author SHA1 Message Date
Herman Chen
2dc0df3228 [hal_h264e_vepu]: Move macro BIT() to table header
Change-Id: Ib217e6834b7a49703b5717596e8626e92a431d32
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-11-26 10:55:41 +08:00
Herman Chen
8b9449fce7 [jpegd]: Fix compile warning
Change-Id: Ia56f7078e94e4a2a41b8d673cfa6775c3dcbbe73
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-11-25 19:24:55 +08:00
sayon.chen
68c836288c [vp9d]: fixed vp9 dec last segment id update issue
fixed Chimera_1080p_short.mp4 decoder error.the issue
for this stream segment enable & map_update flag is set true.
1) in the paser status map_update must init to zero before read.
2) in hal_set last segment enable flag must set true if segment
   enable flag is true.
3) the segment last id must update after this frame decoder when
   segment enable & map_update flag is true.

Change-Id: Ia000c4687185f869229a8b6e36933bb5e1991e5f
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2019-11-25 10:11:20 +08:00
Johnson Ding
5386cd8827 [m2vd]: fix eos flush not working problem
Change-Id: Iab667506639f53d07f6271dbb723e2b5014f8ef9
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2019-11-22 09:06:56 +08:00
Zhou Jing
37f7e6ac71 Fix input and output timestamp mismatch
Don't do division it will cause missing precision.

Signed-off-by: Zhou Jing <tracy.zhou@rock-chips.com>
Change-Id: If7daba7bb18ef9def5188c386d17832e54f4cded
2019-11-21 11:42:31 +08:00
Herman Chen
7b47085c19 [test]: Add output block for mpi_enc_test
Set encoder output to block mode in mpi_enc_test.

In some case the demo will get NULL return packet. Use block mode to
avoid this error.

Change-Id: I8e7438b07f024a30f62bbb92382e210b06e47a61
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-11-21 10:19:09 +08:00
Herman Chen
44f3604fb1 [h264e_dpb]: Add H.264 encoder dpb/slice functions
1. Move hal h264e dpb/slice functions to codec.
2. The dpb functions support I frame gop interval, LTR interval, force
   LTR and generating reorder/marking syntax.

Change-Id: I42654f33c9628bb3228afb6acf56c85c984a377e
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-11-19 11:18:08 +08:00
Herman Chen
ed13794d4d [h264e_syntax]: Move new syntax to different file
1. Move H264 encoder new SPS/PPS syntax to a new header.
2. Change include file correspondingly.

Change-Id: I29d2819c61871953f4981703cd11a4a26d90986f
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-11-19 11:01:11 +08:00
Herman Chen
136ef91ba6 [mpp_rc_api]: Add rate control header mpp_rc_api.h
This header is interface for different rate control strategies.

Change-Id: I4db0c3effbd5fbb0b52506774247e1f5483b9209
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-11-19 10:51:00 +08:00
Chen Jinsen
1af542e405 [legacy]: vframe add vui info
Change-Id: I595e90cd46412a37440b9555f93fb8fa46d9d6dd
Signed-off-by: Chen Jinsen <kevin.chen@rock-chips.com>
Signed-off-by: Hery Xu <hery.xu@rock-chips.com>
2019-11-19 09:08:38 +08:00
Zhou Jing
7119de4620 [h264d]: Fix vdpu2 cache issue
Disable cache_en when the video resolution is less than 720p

Signed-off-by: Zhou Jing <tracy.zhou@rock-chips.com>
Change-Id: I17af1241d536ccb5fbabb0cb45537dfbe2e64bbb
2019-11-18 20:40:14 +08:00
Herman Chen
cdadaa9bba [h264e_pps]: Add h264e pps function
NOTE: Add scaling list mode flag to rk_venc_cmd.h

Change-Id: Idd3b33c577ce5ffd79dabc850f7c98a98c1ac19a
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-11-18 19:45:10 +08:00
Herman Chen
50b8dce027 [h264e_sps]: Add h264e sps function
Change-Id: Iaf9bfc8412fb215bf84fbc89f10e86846c8ae0d4
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-11-18 19:45:10 +08:00
Herman Chen
f54abf9311 [mpp_enc_cfg]: Add frame status to enc_cfg.h
1. EncFrameStatus will be used in dpb, rc and hal config.
2. Remove misc config.

Change-Id: I32eb4460180f3eb0b1c866c3393ed6fc4b95b99b
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-11-18 19:41:00 +08:00
Herman Chen
48ed174d02 [gitignore]: Add VSCode ignore file
Change-Id: I46438925d03ed36f41feecece69a669329d08fdb
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-11-18 19:28:04 +08:00
Chen Jinsen
df4f1a8bc3 [h264d]: check pps id to avoid out of bound error
Signed-off-by: Chen Jinsen <kevin.chen@rock-chips.com>
Change-Id: I0c8f6542064c943f4de6cd4c012df66f7a82b8e6
2019-11-18 18:05:21 +08:00
Johnson Ding
27bbe9ff79 [vp8d]: fix reg struct typo mistake
This may cause color distortion.
See https://github.com/rockchip-linux/mpp/issues/113

Change-Id: I9ea1b377d06d9873bf190ced13f061268bf7dd93
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2019-11-18 14:25:33 +08:00
vicent.chi
82133ab9a1 [hal_h264e]: Print frame size warning only once
Change-Id: If41d9c6c577d16d52162ad9e5c31033765ac346f
Signed-off-by: vicent.chi <vicent.chi@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-11-11 16:48:30 +08:00
Chen Jinsen
fdc8ef19cb [mpp]: Fix output slot index assertion failure while get parse error
Change-Id: I06a9897bad7edbcd96b171faaecdab38a08d46eb
Signed-off-by: Chen Jinsen <kevin.chen@rock-chips.com>
2019-11-10 10:10:54 +08:00
Herman Chen
c774c8befd [mpp_packet]: Increase meta ref_count on copy
Change-Id: Idf4d2525301684896c6f81b6d2144b69649f233e
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-11-08 10:59:54 +08:00
sayon.chen
df6a30f682 [vepu]: fix mb rc target_error set issue
Change-Id: I64320f2fdcf315f67d68087993d1cc1982b14cb4
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2019-11-07 10:19:05 +08:00
Chen Jinsen
f46e8eb215 [mpp]: Add buffer match signal at frame group callback
Change-Id: Ia1a7ec20263e94314b210d2c735ca1d35c561b18
Signed-off-by: Chen Jinsen <kevin.chen@rock-chips.com>
2019-11-06 10:49:49 +08:00
Zhou Jing
d8e0653169 [dec_vproc]: Fix memory leak on iep open failed
Fix MppDecVprocCtxImpl_t memory leak when iep context create failed

Signed-off-by: Zhou Jing <tracy.zhou@rock-chips.com>
Change-Id: I49c791523822cc3551bb05fa74de2f741ee37bde
2019-11-06 08:16:09 +08:00
Johnson Ding
7c26b23bac [h264d]: Fix dpb size not bigger enough issue
If dpb size calculated from Profile/Level is less than
max_num_ref_frames, then dpb size should equals to max_num_ref_frames.

Refer to this issue: https://redmine.rockchip.com.cn/issues/229257

Change-Id: Ia0b27dbc581e052a5adb82ee505130bc492a524c
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2019-10-30 15:37:48 +08:00
Johnson Ding
4ef69884a6 [jpegd]: remove tailing 0xff patch from parser
Tailing 0xff will always be done in hal thread. There is not need to
doing this twice.

Change-Id: Ide4fcc4a2e252be04067c6990fc6a8e9ba8ee824
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2019-10-29 09:43:26 +08:00
Wenjie Yang
ba6c612544 [h264d]: Errorinfo is marked incorrectly
When frame_num_value_allowed_flag is equal to 1,
If frame_num is not continuous,
errorinfo does not need to be marked

Change-Id: Icf68d4186dccdb1d647fbf69c767034dcb7088ac
Signed-off-by: Wenjie Yang <ywj@rock-chips.com>
2019-10-28 09:57:45 +08:00
Herman Chen
c2a781d05d [hal_h264e_vpu_tbl]: Do not copy multiple tables
Change-Id: Ie8bb5b11fec6a0604f8566bb8696a54dea40fe8f
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-10-23 20:30:22 +08:00
Herman Chen
a961ef5534 [venc_cmd]: Change gop ref cmd definition
1. Remove Hisilicon interface.
2. Add LTR configure.
3. Add temporal layer rate control interface.

Change-Id: I5172e69e828bdbe8e7f0cfc8ab0ca5a6b00d022a
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-10-22 20:36:32 +08:00
Herman Chen
f59caf70fc [h264e]: Add debug function for h264e
Change-Id: I3a42c0aecbba61e7ae6dd5fc720c863f221e2398
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-10-22 20:36:24 +08:00
Herman Chen
c712b71f2f [mpp_rc]: Fix log error
Change-Id: I68b3234a68cc0c5f373bae141187638217ee7ab3
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-10-16 18:01:20 +08:00
Herman Chen
db234e2d21 [mpp_packet]: Fix reset function
1. Reset function will not reset buffer pointer and buffer size.
2. Make mpp_packet_reset into a C function.

Change-Id: I1d9041e9732f249ef4a7753a4aac5c0795c34b17
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-10-16 16:27:41 +08:00
sayon.chen
53997e5cd8 [mpp_base] Add base bit writer function
This bitwrite function is for H.264/H.265 bit writing.

Change-Id: I98c0e50f51b8ab29ec630474a2bdf25d0553b7b5
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2019-10-15 19:41:23 +08:00
sayon.chen
042696c255 [h265d] move enc&dec common define to h265_syntax
Change-Id: I3e5b285b956d58d5e64dc5db71e32e3a150b976e
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2019-10-15 15:40:05 +08:00
Herman Chen
ea476ad4d1 [misc]: Change internal API interface
1. Change internal api RK_S32 cmd to MpiCmd.
2. Remove external MppEncCfgSet in MPI and move it internal data.

Change-Id: I0b93429f3b9f92712a57d0df54a1c76b3e08bf9d
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-10-14 20:21:41 +08:00
Herman Chen
585b187b18 [misc]: Use MppDeviceId to replace HalDeviceId
Change-Id: I3fd2f6a673f4f8d05420bfccb78e8b103f2ca26d
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-10-14 17:18:13 +08:00
Herman Chen
05ccab453b [h264]: Unify H264d and H264e common defines
Change-Id: Id77fa58ad44348d6e3c36fc5b0a732de85a92021
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-10-14 16:36:25 +08:00
Herman Chen
3a3e110de6 [mpp_platform]: Add device id definition
Change-Id: I108cfa3f4639517eed7ebaaaacf5f482002ea806
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-10-14 16:36:25 +08:00
sayon.chen
76d22d6ac0 [h264e] split common define from h264_rkv_enc
Change-Id: Ie8f95f085ae37a9804c98b31e3acd69f5752308e
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2019-10-14 15:16:17 +08:00
Herman Chen
208f0004a5 [build]: Add path detection for different ndk
Support r10d and r16b first.

Change-Id: I289813c26b79ad4a1b038fc07f8375832fe78162
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-10-10 18:04:21 +08:00
Herman Chen
37602b5bb9 [test]: Skip error opt on parsing parameter
Change-Id: Ia5935b55bf0a09158b4ebd40656de6e813e880c4
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-10-10 16:29:43 +08:00
sayon.chen
cd5b1ccde6 [h265e_vepu22]: mov rkvenc/h265e to vpu/h265e
Change-Id: Iccedbc561902a0132492ceb3ac2c2223d7031e9d
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2019-10-10 16:23:37 +08:00
Herman Chen
2310eaac1a [h264e] Remove src directory of h264 encoder
Change-Id: I130448c9736ff80d8b2057099ea770cc212728b2
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-10-08 09:43:29 +08:00
Xingwen Fang
3195b3de91 [avsd]: modify the cmake include of avsd hal
Change-Id: I8d7f994894d887f211d5a7b141c66d0a51259f68
Signed-off-by: Xingwen Fang <fxw@rock-chips.com>
2019-09-27 17:10:01 +08:00
Herman Chen
dd3f0ee71b [enc_impl]: Rename and new enc_impl function
Change-Id: Ie0acfc1e66256db6acfba09e3c62b04ceda5e2a5
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-09-20 17:18:37 +08:00
Herman Chen
7782c8ea11 [enc_impl]: Add new interface for work flow change
Change-Id: Ic110aaf53964f532b59bbb0fbd6347c95accf324
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-09-20 16:59:15 +08:00
Herman Chen
e4b0d68fa5 [mpp_enc]: Change controller to EncImplApi
The controller should be separated into more parts for better reuse
between different hardware.

Change-Id: I050b8534360cf4afdf15c933def88e00c87d1de6
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-09-20 16:27:16 +08:00
Herman Chen
6cf33e998b [mpp]: Remove extra signal and thread in mpp
1. Only use notify to communicated between mpp and codec.
2. Remove mpp_enc_impl.h

Change-Id: Ia62757240efa7d245b5215ad79539fa9bbbd1550
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-09-20 15:57:17 +08:00
Herman Chen
5271f581cd [mpp_dec]: Change mjpeg decoder loop flow
Change-Id: Ifa8577f2490df3eb31e410caaada1eb333119819
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-09-19 18:07:54 +08:00
Herman Chen
c7d9e7565d [mpp_enc]: Move thread into MppEnc
Change-Id: Idf50d9530dd5372e44d1ac54bf3c75fcfc933a57
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-09-19 18:07:54 +08:00
Herman Chen
205ba6dc31 [mpp_dec]: Move thread into MppDec
Change-Id: Ifab2773a1aa5405ffeb155ce8fd8e5f21e5a6b45
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-09-19 17:46:58 +08:00