Commit Graph

3026 Commits

Author SHA1 Message Date
sayon.chen
8e00c203d7 [mpp_enc_cfg]: Add h265e default cfg
Change-Id: I7f4b05be7bcfdbb93cf3b40f74941e14190ce3b4
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2020-05-15 15:48:06 +08:00
Herman Chen
6f4e9a75e7 [jpege]: Add jpege api v2 implement
1. Add jpege_api_v2 module.
2. Move all control process to jpege_api_v2
3. Add hal_jpege_vepu1_v2 and hal_jpege_vepu2_v2 modules.
3. Add default rc for jpege.

Change-Id: I08c8adeb2d6613cbc074ee4978b9533739c21bb1
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-05-15 15:48:06 +08:00
Herman Chen
7e97c7eb29 [mpp_trie]: Update default node / info count
1. Set default node to 800 and info to 80.
2. Fix mpp_trie_test compile warning.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ie63ce123e18fefc3108d3be7cbdc50e08c21f846
2020-05-15 09:57:05 +08:00
Herman Chen
5deb30e815 [mpp_enc_cfg]: Set change flag when value updated
Change-Id: I6dde5a19d2f24994fa0ff166f5c76496168fec58
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-05-13 18:05:08 +08:00
sayon.chen
49f610442a [h265e_ps]: Support vui set
Change-Id: I5fa20430eb3cd8dd5f66d367db19463b0973e0df
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2020-05-13 15:33:29 +08:00
Johnson Ding
8b4d477c5f [base]: fix typo at file header
Change-Id: I476bd445e621a6c4427661e08982a4cacba92aa6
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2020-05-13 14:46:10 +08:00
Johnson Ding
aeb320ed33 [mpp_enc_v2]: config qp range if mb rc is disable
On FIXQP mode all qp will be set to init_quality.

Change-Id: Ic614c583e5dba0e5e4e129f46437adc87cd13fa0
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2020-05-13 14:42:59 +08:00
Herman Chen
8eb95cde37 [cmake]: Add armv7l support
Change-Id: I493eae823018e4bb658e367d71001dafa41b127a
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-05-13 14:20:07 +08:00
Herman Chen
d40aea09bc [rk_venc_cfg]: Add new encoder cfg method
For better binary comaptibility users should use this method to
configure encoders.
NOTE: api only init once.

Change-Id: I5ced15b504e4933560895e6e11f62613ae89e350
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-05-13 14:10:34 +08:00
Herman Chen
50ef00aa79 [base]: Add trie for indexing
MppTrie will use the location of the input stream pointer as its
indexing pointer.

Change-Id: I2cb0b7d9cc2452db5698a971d08a24b98e5bc587
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-05-13 11:50:16 +08:00
Herman Chen
4b8a5f557a [rk_mpi_cmd]: Rename MPP_ENC_SET/GET_ALL_CFG
We are going to use new configure method for all encoders.

Change-Id: Id478d2567714ee9c6ddee3d410a4a855825f1c42
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-05-13 09:42:20 +08:00
Herman Chen
761db84321 [mpp_enc]: rename MppEncCfg to MppEncInitCfg
Change-Id: I90f97336e77bf82b68a59fbd26cfedd8754954b6
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-05-12 08:59:54 +08:00
Herman Chen
f0f171f3d3 [mpp_enc_v2]: Fix issue of output multi header
Change-Id: Iff6a388ae1f453c46146b3bf5a9620c66bb2c3db
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-05-09 14:36:54 +08:00
Herman Chen
76249822c8 [h265e_vepu541]: Optimize detail parameters
Enlarge quantization bias.

Change-Id: I70eb2032c60f8f43909e3675f086647ae9329d14
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-05-07 11:38:20 +08:00
Herman Chen
ede5955685 [vepu541]: Fix block base qp_sum error
H.264 qp_sum is calculated by summon up 16x16 macroblock qp.
H.265 qp_sum is calcultaed by summon up 8x8 block qp.

Change-Id: I08d483d9cb997b25b9b6258259cb3b2290da3e4a
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-05-06 14:14:05 +08:00
sayon.chen
dfe13c041a [vepu541]: Fix reenc case no read roi again
Change-Id: I857bd53ba173ae81fa1ab5065041c5d6ee9daca6
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2020-04-30 16:18:52 +08:00
Herman Chen
02c7073f35 [vepu541]: Fix roi error
1. Fix h.264 encoder roi buffer leak error.
2. Set all qparea to [1, 51] range.

Change-Id: I8434fc5fc60071ec533aba68fc2fe3be5a087bcd
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-04-29 19:26:00 +08:00
Herman Chen
4709cb2a95 [vepu541_common]: Add more roi config check
Change-Id: If5c32f1b0e0c40610fd60673e9d550570fab6c93
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-04-29 18:41:05 +08:00
Herman Chen
16047eb224 [mpp_time]: Add AUTO_TIMING for C++ function
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I1ec9f6307dce44f7aa086911477b27e523904cdc
2020-04-29 16:06:47 +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
32689b3708 [test]: Add user data option in mpi_enc_test
Change-Id: Ib84980defdcbae5f92ad841a107757392f37db2d
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-04-29 08:50:43 +08:00
Herman Chen
5dc3cc1b39 [h264e_vepu541]: Relax restrictions on frame qp
Change-Id: I63a556770e47b0b2a0eb9063d2df71ddea087a58
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-04-29 08:38:10 +08:00
Herman Chen
f9df2edb13 [readme]: Add more resource
Change-Id: I463e4135eb65af1805330788120e64c20cfa1f9b
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-04-29 08:38:10 +08:00
Herman Chen
bd22096437 [mpp_enc_v2]: Fix gop update issue
When gop / fps / rc_mode in RcCfg is changed the header should be
resend.

Change-Id: Id055cfe2f752dc741dc05012f954198c00077caa
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-04-29 08:38:10 +08:00
Herman Chen
8c9f6f75fe [mpp_info]: Add funciton to read version string
Change-Id: I66f8c4a3669e3eb6d67289f12db300da149bdcb7
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-04-28 15:56:13 +08:00
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