Commit Graph

2434 Commits

Author SHA1 Message Date
Herman Chen
e04f0e83e7 [mpp_platform]: Improve ioctl version detection
Move kernel ioctl api version detection to library loading stage.

Change-Id: If8ee750e1eaefb99924fd622d03270ef5032d1be
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-02-25 09:35:00 +08:00
sayon.chen
2c7148f110 [meta]: Add MV_LIST meta for smartp
Change-Id: I7960eadef22220a4a895b88d8b09895f07e4d694
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2020-02-24 14:17:34 +08:00
sayon.chen
862b0d8936 [rc]: Fixed drop frame issue
first frame must init in_real-out_inter

Change-Id: I606b74f4887a0ab52e8ed99b1c1a3510df357890
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2020-02-21 11:22:48 +08:00
sayon.chen
a79d086084 [vepu541_common]: Fix rgb888 color swap issue
Change-Id: I6c6b32f59810913337de53a578cb72532aebe53c
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2020-02-21 11:21:57 +08:00
Herman Chen
39a50a9423 [syntax]: Add OSD_PLT syntax
Change-Id: I2c9ba6774f4d652e355274d6f5348ce4cd042c1b
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-02-20 11:33:25 +08:00
Ding Wei
c5a9228e4b [mpp_platform]: Add RV1109 and RV1126 detection
Change-Id: I7281f4284891cf3ba9ebf24a2ff025827d4a0a2b
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2020-02-20 11:33:25 +08:00
Ding Wei
f7ddf931c2 [utils]: Add more format support
Change-Id: I93f380f157806b8885559834b94b348bba87ff12
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2020-02-20 11:33:25 +08:00
Herman Chen
0b39c32d7c [hal_vepu541]: Add vepu541 H.264 encoder L2 regs
L2 register can only be accessed by L2CFG_ADDR in L1 register set.

Change-Id: Ib1cab1bdf9443ee79a920d27700f88bb01d0a5b4
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-02-20 11:33:25 +08:00
Herman Chen
98ecb5c547 [hal_vepu541]: Add vepu541 H.264 encoder registers
Change-Id: If1948c8515870c08a83cab2a72b478e7384d3549
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-02-20 11:33:25 +08:00
Herman Chen
e458da9e94 [hal_vepu541_common]: Add vepu541 common function
1. Add hardware pixel format support function.
2. Add roi region config function.

Change-Id: I011c0c820d6705cf923cccf75aa1f84ee74e2f4b
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-02-14 16:19:16 +08:00
Herman Chen
16e7f330f2 [dec_vproc]: Fix vproc stuck issue on reset
Use semaphore to sync the reset operation.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I7440530a779a7fd5c394e93b30f9addbaf4044d0
2020-01-19 18:02:52 +08:00
Herman Chen
9f3ac0e7dd [mpp_frame]: Add more color format
Change-Id: Ibf66d81887addec859fb986382c8f1ae1a1dafe8
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-01-19 18:02:52 +08:00
Herman Chen
9ce259355a [mpp_frame]: Add format check macro
Change-Id: I0b84cd55951dd5c085b1dd8b9926c4308ac24371
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-01-19 18:02:52 +08:00
sayon.chen
9835a6d37e [h265e_api]: Clear change flag after proc & support tsvc
Change-Id: I1c9860588b6aa7f043f19f00c9ee212820d6f77a
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2020-01-19 18:02:52 +08:00
Herman Chen
41f4e303fb [hal_task]: Fix typo
Change-Id: I7e2138fdc8f9e1dcb4d90060fce0a8cf22aece84
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-01-19 18:02:52 +08:00
Herman Chen
8a47dc9742 [hal_common]: Enable hal common module
Change-Id: I2110295a7a3c947e987706bda1402b695924a96a
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-01-19 18:02:52 +08:00
Herman Chen
a1c2350f30 [hal_common]: Add hal common module
1. Add hal buffer set allocator for different hardware recon frame.

Change-Id: Ife976f2edf9a5bf1735790a4929f75d488a1f4ee
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-01-19 18:02:52 +08:00
sayon.chen
313156e18b [h265e]: Fix compile warn & fixqp case not do rc flow path
Change-Id: If79c21a716f4f36b83a10de97b4b3bb00e6585f2
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2020-01-08 15:19:08 +08:00
Zhou Jing
34f7e67400 [legacy]: Fix put_frame stuck issue
The put_frame thread will be hold on when get_stream thread
doesn't work anymore. Setting timeout in order to ensure that
it doesn't get stuck.

Change-Id: I907f2f5ea0e627d2d0d72ffd7d274ffacf82deba
Signed-off-by: Zhou Jing <tracy.zhou@rock-chips.com>
2020-01-08 11:22:07 +08:00
sayon.chen
5380307bcc [rkv_h265e]: Move rc qp calc from api to hal
Change-Id: I8d64c97d3be4828feabb10fbe9077ac9a125b229
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2020-01-07 09:56:16 +08:00
sayon.chen
d39238c871 [h265e]: Add row_dealt_qp set for rkvenc mbrc
Change-Id: Ib0cd342f7b2c2060871d5f540f08b37574c89e31
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2020-01-07 09:55:20 +08:00
Johnson Ding
636f64e73a [mpp_device]: Fix log print typo
This will leads to hal init failed in kernel 4.19

Change-Id: I8f5ff682a9681a5cd767bb8b140c4f46e0416ff2
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2020-01-03 16:10:05 +08:00
sayon.chen
6630d7f221 [h265e_rkv_hal]: According to rxbb rename regs
Change-Id: I0ad9ba60a49989e204a0f4f4b68e0c19f6e892d2
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2020-01-03 15:50:43 +08:00
sayon.chen
5de565c84e [h265e_rkv_hal]: Support format cfg
Change-Id: I18dfa559c6ee35cfae672a8bfac04a3ab12edf68
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2020-01-03 15:49:32 +08:00
sayon.chen
b792ef7114 [h265e]: Support colmv buffer set
Change-Id: Ic672ba58257af389895a3cc42a3aa9a43da7c968
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2020-01-03 15:28:26 +08:00
sayon.chen
72606f13fa [h265e]: rename fivm_max_mrg_cnd to max_mrg_cnd
Change-Id: I7e1b4fb37a8af9812c393e095006f4af9f625bea
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2020-01-03 15:24:48 +08:00
Herman Chen
459eace205 [mpp_frame]: Add color format print
1. Add color format print for all supported format.
2. Add RGB color fill function.

Change-Id: I79fb3f40402b6fb6e36883c99945e709723aee7d
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-12-31 10:53:33 +08:00
sayon.chen
6748990389 [h265e_v2]: Support user data set
Change-Id: If1cdbcbec10c0d6182560055e2816bc0e5a05a4b
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2019-12-30 09:02:32 +08:00
sayon.chen
fd862c2884 [mpp_enc]: enc supprot user data set
1. add user data struct define
    2. meta supprot user data set

Change-Id: I1ac4bf179ce15fce61b3ad326de9fb0f8c821cad
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2019-12-30 08:49:29 +08:00
Rimon Xu
7a57f7d5c8 [m2vd]: all time value must be defined as 64bit.
Change-Id: I8c881907f1761c24e8100c27691a075130ea73e0
Signed-off-by: Rimon Xu <rimon.xu@rock-chips.com>
2019-12-28 16:23:04 +08:00
Rimon Xu
53edbab5f4 [h264d]: Fix illegal sps_id value from SEI parser.
Change-Id: Id7367ab3d02ced4d285621d5eddc6b774a5b5c48
Signed-off-by: Rimon Xu <rimon.xu@rock-chips.com>
2019-12-26 18:03:36 +08:00
sayon.chen
6cc5a4ca17 [h265e_api_v2]: fix h265e codec_cfg change flag issue
Change-Id: I9596f72dc89052975856e03f7f618e4a6ac8c069
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2019-12-26 17:10:20 +08:00
sayon.chen
24a3258e38 [mpp_enc_v2]: fix enc_v2 hal init cfg error
Change-Id: I35bf4e16bb19d1f6b55172dac333210576b06dcc
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2019-12-26 17:09:36 +08:00
Johnson Ding
e3c7e72d69 [build]: Fix cmake version comparison
Change-Id: I42a752f5fac642784688bb4f47156948d438f06f
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2019-12-24 15:24:05 +08:00
sayon.chen
a8ef9864c1 [mpp_enc]: Register h265e api function
Change-Id: I820abce8043d2e8f5906bc086475332103d318e8
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2019-12-23 16:45:33 +08:00
sayon.chen
828effef09 [hal_h265e]: Add hal_api_v2 && rkv h265e regs cfg
Change-Id: I3ac15269023be5ac2e4b09fd0545d1e55f08fb5e
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2019-12-23 16:43:50 +08:00
sayon.chen
00834d7cbd [h265e_api_v2]: add h265e_api_v2 for rk1109 driver
Change-Id: Ic38d2ae51b750efc0035f03729d2e90ccadbd442
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2019-12-23 16:31:12 +08:00
sayon.chen
5af2b04898 [rc_api]: add more hal feedback params
Change-Id: I3914b1f801fb7d0cc5c9d23ac67d69df5878e666
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2019-12-23 14:43:34 +08:00
Rimon Xu
e36da64e9b [vproc]: set iep deinterlace mode to frame.
Change-Id: I5acd7b202bdbb60afa952f1f1486ae791e0e8cda
Signed-off-by: Rimon Xu <rimon.xu@rock-chips.com>
2019-12-23 14:37:41 +08:00
Xingwen Fang
61c938948b [mpg4d]: No need to split frame for extradata packet
In some MP4 video sources, extra data of sps/pps is only
placed at the beginning of the file. If you perform a
flush operation while processing extra data and waiting
for a complete frame, the extra data will be lost.

Signed-off-by: Xingwen Fang <fxw@rock-chips.com>
Change-Id: I2c088914b50a2ef39c2ecc45381a4891c45bec50
2019-12-23 14:32:10 +08:00
Xingwen Fang
736f6199b5 [mpp]: use mpp_list to store timestamps
MppQueue does not support concurrent access, and there
are defect in the design, which need to be improved in
the future.

Signed-off-by: Xingwen Fang <fxw@rock-chips.com>
Change-Id: I50db4bcf520bbf4115c6f40d7a759652087965ec
2019-12-23 14:28:43 +08:00
Herman Chen
069826890f [mpp_enc_v2]: Optimize encoder main flow
1. Add skip flow for frame rate conversion frame drop.
2. Add reencode path for reencoding.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ibca23e03d2e82f280bb7db7cf522fb1648f840bf
2019-12-23 14:21:36 +08:00
Herman Chen
8aeb153052 [h264e_api_v2]: Clean up old mpp_rc from h264e v2
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I08a312c72085c84d860151a08606c35195305805
2019-12-23 14:20:12 +08:00
sayon.chen
05999b8189 [h265e_api]: set h265e_api as static function
Change-Id: Idf0ff836a22e030e8ce37ad68355219ade6a0b07
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2019-12-23 11:45:18 +08:00
sayon.chen
552701a010 [mpp_device]: add mpp_service ioctl
Change-Id: I144bac98f90dc80a4fabb427dc9e07a35713c132
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2019-12-23 11:37:24 +08:00
sayon.chen
abb3607c15 [mpp_meta]: Add osd & roi metadata keyid
Change-Id: Ibf2b2f87cd75655c68d6a697bc81d89f699abfac
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2019-12-20 17:48:03 +08:00
sayon.chen
d5a97b5c2f [h265e]: Add h265e codec config definition
Change-Id: I6b8816ce94830df2d2a8e4139a7aa8ef6242225d
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2019-12-20 17:45:36 +08:00
Herman Chen
50645d3175 [enc_impl]: Add task to encoder start function
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Idd87b13ab45c6899293ad76e2c81e1c7f0169919
2019-12-20 15:44:16 +08:00
Herman Chen
46e189b876 [mpp]: Enable new encoder path by env value
Use enc_version to switch to new encoder path.
Use task_count value to separate different encoder api set.

Change-Id: I4e8ff2b0935ec2cb6178ded742f33ab48187c878
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-12-20 10:54:51 +08:00
Herman Chen
f8ff61f57e [h264e]: Add new encoder path implement
1. Add new h.264 encoder api implement to mpp_enc.
2. Rate control is still empty

Change-Id: If4375cfdc07430e03565050a9a846e55a2ac24a0
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-12-20 10:54:51 +08:00