Commit Graph

2051 Commits

Author SHA1 Message Date
Herman Chen
641ff2dbf3 [vepu541]: Fix extra mmco error
Change-Id: I529780c673232354c0b13536000ae15a007e1280
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-04-28 10:51:54 +08:00
Herman Chen
4af5fae615 [hal_bufs]: Add more parameter check
Change-Id: I0a1296e92b33fbae1f7c605cd85f933b2359f3c9
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-04-27 17:39:32 +08:00
Herman Chen
708f7d4b28 [utils]: Update RGB generation code
Change-Id: I016c92f80391392f3b7f0ebbf8c44d6fa2304c27
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-04-27 16:01:22 +08:00
Herman Chen
4f5e7d3773 [mpi_enc_utils]: Fix tsvc4 definition
Change-Id: I1c995af21ae14b1dc0d14ad0cbd9c6a02d6d03c4
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-04-27 10:41:43 +08:00
sayon.chen
63db2dc04d [rc_v2]: Fixed fix_qp encoder issue
Change-Id: I3969e01efdcccc39ccf782f958cff48c97d6308b
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2020-04-26 10:45:51 +08:00
Herman Chen
8f05fef8f7 [mpp_device]: Increase offset patch number
NOTE: encoder may have more than 5 address to add offset patch.
Increase max offset patch number from 5 to 16.

Change-Id: I0fe3c5f7a24596f87d8248fd37b4c4aa5a059dcc
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-04-26 10:39:38 +08:00
Herman Chen
3a48d6c31e [mpp_enc]: Enlarge mjpeg encoder stream buffer
Due to complex input image content mjpeg encoder required larger buffer
to avoid overflow and hardware mmu fault.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I4417ae5e62f16673a2ea06a5954463ce34b6bb8a
2020-04-24 09:00:07 +08:00
Herman Chen
ed34cf2aca [h264e_vepu541]: Fix error on non-16 align height
On vepu541 the H.264 width and height should be aligned to 16 first
which is different to H.265.

Change-Id: I6f20960916aedf47cd778c22d7dc1ad860b03bc9
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-04-23 15:30:19 +08:00
sayon.chen
44efeab31c [rc_v2]: Fix rc_model_v2 set issue
1. according frame type set max min quality qp
2. fix reenc check ins_bsp calc issue

Change-Id: Iededb7e64c40cc04432272ad3dd4b7d55c2aebd5
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2020-04-22 11:17:57 +08:00
sayon.chen
4516deda98 [h265e_api_v2]: Add check NULL when dpb deinit
Change-Id: I38df27e04d90e915bab93d7601f6984362436248
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2020-04-22 11:17:57 +08:00
Herman Chen
a32733c54e [hal_h264e]: Fix H.264 vepu error on kernel 4.19
On kernel 4.19 the send registers and recv registers can be different.
But due to compatibility kernel 4.4 the register copy is needed.

Change-Id: I1af7bbf8c27671627bda1679283693ec7eb4b0b5
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-04-21 08:40:40 +08:00
Ding Wei
8619ac32c0 [vepu]: fix issue of missing platform setup
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
Change-Id: I7fe3fe706879b63ed47985fc99894e92fe2288f2
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2020-04-20 17:59:52 +08:00
sayon.chen
0674be61aa [h265e_dpb]: Fix tsvc temporal_id set issue
Change-Id: I173e1dcf3f55413f808ac5490a970d92e8226395
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2020-04-20 15:19:56 +08:00
Herman Chen
da8b35074c [legacy]: Fix compile warning
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I461c05e2d29453a756f29028cc6ca2b437d2131c
2020-04-20 11:48:57 +08:00
Herman Chen
d42f4ed028 [mpi]: Support relative qp in ROI region
New vepu541 encoder support relative qp delta config in ROI region.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Iac57469c30ea09ca03368cc3e02372a326c525ec
2020-04-20 10:34:42 +08:00
Herman Chen
4e3834b166 [h265e_vepu541]: Fix error on FBC input
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Iff293f94943d138c073338244205fe0007f34a52
2020-04-20 09:54:55 +08:00
Herman Chen
e8cb0d49f2 [enc_utils]: Format source code
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I92f133f89920b125d3f2d44ee718ed394acd7aab
2020-04-20 09:53:55 +08:00
Xinhuang Li
c2d9a16c24 [test]: modify the frame rate to support decimals
use "-r numerator:denominator:flex"
for set the input to the same fps as the output, such as 50:1:1
or "-r numerator:denominator/flex-numerator:denominator:flex"
for set input and output separately, such as 40:1:1/30:1:0.
the default parameter is 30:1:0.

Signed-off-by: Xinhuang Li <buluess.li@rock-chips.com>
Change-Id: Ief2935354b82aba9c192b4af92636519d3e75423
2020-04-17 10:51:56 +08:00
Herman Chen
d70e2d436e [hal_h264e_vepu541]: Fix buffer overflow error
1. Use mpp_device_patch_add to setup bitstream buffer.
2. Add more log for hw_status.
3. Add madi and madp update.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ie7e049e7e1af34688cbf8db8525515b508e69be4
2020-04-17 10:15:00 +08:00
Rimon Xu
291c337a02 [h264d_sei]: Fix error when sei parameters update.
Active sps parameters does not need to be updated in parsing
SEI information, which may cause incorrect updates.

Change-Id: I346ca8cdc6d19cba7e4a991fa2881e26567d1f00
Signed-off-by: Rimon Xu <rimon.xu@rock-chips.com>
2020-04-16 18:31:14 +08:00
Xinhuang Li
a4059ece40 [h264e]: add timing_info_present parameter of vui
Signed-off-by: Xinhuang Li <buluess.li@rock-chips.com>
Change-Id: Idff0e752ae151c998968d5e559a658a8cab256c4
2020-04-16 17:57:46 +08:00
Herman Chen
0672c41d16 [readme]: Update external resource link
Change-Id: I9c8b2480b1898fe48f0e110c0f74e58c490433da
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-04-16 17:51:36 +08:00
Herman Chen
370777bd14 [utils]: Improve extension detection function
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Id21a26efd4e3bdb82a5ef3d338d012c69dcac8e2
2020-04-14 10:43:01 +08:00
Johnson Ding
794b8e6150 [legacy]: fix bitrate config error
When rc mode changed from CQP to CBR, bitrate configed from outside of
mpp maybe keeped the same, but bitrate value at mpp_rc should be
changed.

Change-Id: I845c05977ed53f664a70d1310684ba8ebfe5ee2b
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2020-04-13 16:36:01 +08:00
Herman Chen
50a9655531 [test]: update sample for fbc support
The FBC data should be in this form:

    +---------------------+
    | header (4K aligned) |
    +---------------------+
    |                     |
    |    payload data     |
    |                     |
    +---------------------+

The payload data size is equal to the orignal format size.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I2855c89db43c3e2cc302ac40e96e36ef6147f041
2020-04-10 17:42:17 +08:00
Herman Chen
8d8f2273c5 [mpp_frame]: Add frame buffer compression support
Add vepu541 FBC support.

Change-Id: Ie5256ab4debb160801467243db353a2810826513
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-04-10 17:42:08 +08:00
Herman Chen
f13897ce65 [rc]: Add MppFrame to EncRcTask
Attach MppFrame to EncRcTask as meta data channel between user and
internal RC strategy.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I2787a69bec3911fe2e4f637153925c5ea88031ec
2020-04-10 10:16:24 +08:00
sayon.chen
82cdcba737 [hal_h265e_v541]: Add satd_byps and bsbt setup
Change-Id: I6e2494e98c7d4a3c91a050849cbeff7028d5c3af
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2020-04-09 17:06:21 +08:00
Herman Chen
ed9d04e760 [mpp_time]: Add loop timer with callback
This function is mainly for frame rate statistic.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I1ab790bd655dc0945ad958d104ff178f4ffabdbe
2020-04-09 16:47:50 +08:00
Herman Chen
f79c854314 [utils]: Add gop ref config util function
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I9b82e4a2a6e8451c9e63599329c3d3ddc74ff59c
2020-04-09 14:29:37 +08:00
Herman Chen
71b7946af3 [vepu541]: Fix error on osd offset larger than 4M
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Iab02f91a698544457192459894069bdf9b7d9d31
2020-04-08 17:32:46 +08:00
Jeffy Chen
c2ea50cf62 [mpp_enc_v2]: Add missing MPP_ENC_GET_CODEC_CFG
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Change-Id: I2036fa1035e81dd393de5ac4f50413a1c08db00b
2020-04-08 11:11:48 +08:00
Jeffy Chen
31bec84893 [vp8e]: allow changing gop_len
By always use the newest gop_len in the rc.

Change-Id: Ibf2f515dc0a0cd0aaa6d46aba29d350467d16ff6
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2020-04-08 10:18:53 +08:00
Jeffy Chen
fd14525a52 [vp8e]: fix double-free when deinit vp8e
The ctx should be freed in enc_impl_deinit().

Change-Id: I65bac3a0211f7e470f625fcf5d2b9c1efde1d1c6
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2020-04-08 09:16:10 +08:00
Herman Chen
681599f97f [test]: Update utils for encoder test
1. Move command parsing to util files.
2. Support frame format and coding type detection.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Id1df67ba61943bb7aa1f02ccccaa932fb5ae9842
2020-04-07 15:25:56 +08:00
Herman Chen
b83158b23b [mpp_time]: Change old timer to clock
The MppClock is used to record and sum the time only.
The MppTimer will have new implement.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I6cace6968d50db611e7493b69b14b46853070d78
2020-04-04 16:06:01 +08:00
Herman Chen
ead0f9c96f [mpp_base]: Add to string function
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I72fa5891159e937e4c65d0a492d2ddc9d228e1ed
2020-04-04 16:06:01 +08:00
Herman Chen
927cdf37f0 [cmake]: Fix compile error when log has quotation
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ie95d78e2d93c55aaaebb5508a2276339a17eb451
2020-04-03 18:40:09 +08:00
Herman Chen
fe4b86b025 [mpp_enc]: Update OSD API
1. Update OSD palette config API. User must specify palette is default
or user defined.
2. OSD palette config will go through control and OSD data (region)
config will go through meta data in each frame.
3. Remove unused code.
4. Add mpi_enc_utils for mpi_enc_test cases

Change-Id: Ib4aeb60789a3e999446212841508e604533efb3c
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-04-02 18:21:20 +08:00
Herman Chen
f1f76e83c5 [mpp_buffer]: Add caller print
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Iaccde5929bcb72c407e1efc5c7e78f362e69eeed
2020-04-02 10:33:43 +08:00
sayon.chen
71ff5475cb [hevc_v345_dec]: Support hevc_v345 hw_rps
1. must define HW_RPS for support
2. defalut open hw_rps

Change-Id: Ic699fa2fba24217a082ee4ef62538e3f92d11e1c
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2020-04-02 10:28:50 +08:00
Herman Chen
77e2e5a70b [rc]: Change default rc parameter
1. Change statistic time to 3 seconds.
2. Change H.264 min qp from 16 to 8.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ib0d20f2dcb8affb58bc5fdeea6d506fe28be68b1
2020-04-02 08:45:36 +08:00
sayon.chen
e26a59a676 [mpp_enc_v2]: Fix reenc path task_length asssert
Change-Id: Ia22601c815c47b4ef3ecfee741a09bc7476a7531
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2020-04-01 13:54:08 +08:00
Herman Chen
8191f70f91 [h264e]: Fix error of missing cropping info
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I773027fee1d0b0b0f16efa118a0447cf08c7835a
2020-04-01 08:48:13 +08:00
Herman Chen
2548db477e [mpp]: Enable new encoder path for H.264 and H.265
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ida9674118f338a70b9f61420fbf117ae465050f8
2020-03-31 18:27:41 +08:00
Herman Chen
f5549b6e7e [hal_h264e_vepu1]: Add vepu1 new api support
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I0226888b8e0d4aff36bdcb4e6a415a5e67ed4e6e
2020-03-31 18:27:16 +08:00
Herman Chen
a22c2e109b [h264e]: Update length after insert sei packet
1. Add length return when writing sps/pps/sei
2. After writing to packet update both packet length and task length.
3. Update rule of updating length and packet length.
4. Rate control use only hardware length to calculate.
5. Move update hal to the end of flow to reserve for adding extra data.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I9077747a34dc47079d6a1f90db7913c92aa448f5
2020-03-31 16:49:40 +08:00
Herman Chen
a56bc3baf1 [mpp_packet]: Add MppPacket append function
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I0788997fffe2e55ac55d515c33280badf6e97eb8
2020-03-31 16:49:40 +08:00
Herman Chen
6df1c1ec62 [mpp_enc]: Use metadata to send intra flag.
Use MppMeta in MppPacket to carry flags and data instead of MppTask.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I274cf4163914938f22e983eca35c7fee8a9435dc
2020-03-31 16:49:30 +08:00
Herman Chen
3e03d9c074 [rc]: Fix error div zero on reencoding
Change-Id: I8ecbcbf3d5af822e6f0332bcb42d98a2881a8b5a
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-03-30 20:24:30 +08:00