Commit Graph

2902 Commits

Author SHA1 Message Date
Herman Chen
1bccabfcd4 [hal_h265e_vepu580]: Fix fbc stride error
Change-Id: Idd043f73b9d0e61ebfd47f30e084da7f065bc260
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-05-24 11:40:58 +08:00
Rimon Xu
728d9422f9 [cmake] add -g definitions when debug version
Change-Id: I80c83bbda36b49f02d8e7a6877884590d293d9bb
Signed-off-by: Rimon Xu <rimon.xu@rock-chips.com>
2022-05-20 17:45:48 +08:00
Herman Chen
17a47899be [cmake]: Fix warning on armv8-a
Change-Id: I31a26eaa80c980e3e2fa160d8ddcf5fd0a6875ca
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-05-20 16:23:05 +08:00
sayon.chen
42250b7579 [h264e_slice]: Slice read enable 0x3 detection
When 0x3 detect used_bits should be add 8bit

Change-Id: If2285fe1f22ccc3fe7907c3f8ee426ead79b0b62
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2022-05-20 16:13:10 +08:00
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
Hongjin Li
b2479a59ec [mpp_dec]: Fix the field video pts is abnormal issue
The number of input field video frames to the decoder
is half of the number output frame video frames.
When the sorting pts is turned on, only half of the
pts cache is taken out from the pts linked list.

So when decoding field video, only half as many pts are cached.

Change-Id: If9055480365b776475861add1470d68210b65971
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
2022-05-20 08:55:15 +08:00
Yandong Lin
0794bf083b [h264d]: fix fmt assignment for yuv400 souce err
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: I24e4cd2a7edbb4161a3f7b323482343e2275df67
2022-05-19 10:53:59 +08:00
Grey Li
1ad3e05f13 [h264d]: fix sps id overflow
Signed-off-by: Grey Li <grey.li@rock-chips.com>
Change-Id: I3aec751595f4441dac8e9d47065eaf52d40ded5b
2022-05-19 09:06:51 +08:00
Herman Chen
aec7dd7a27 [mpp_frame]: Add error function name on check
Change-Id: I889eb1a55af663ce19d7a716e59c5aaae4ac6410
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-05-18 17:06:50 +08:00
Herman Chen
81bbf310e6 Fix extra IDR frame on setup same cfg
Change-Id: I40b54e2e4dfa2ed1ba59e25428b08bf98f416263
Signed-off-by: Xinhuang Li <buluess.li@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-05-17 09:58:35 +08:00
Herman Chen
e66e69d389 [mpp_dec]: Diable fast mode when hal not support
Change-Id: Ibf1263968ed29b369f079655721046d2d73bad5a
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-05-13 16:48:22 +08:00
Herman Chen
514c92ac7d [mpp_enc_impl]: Request IDR after reset
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Id6ff0b1b56a2ee3ff6af5794e001f9952f74e855
2022-05-13 14:25:50 +08:00
Herman Chen
d0af51251c [mpp_enc]: Fix extra segment on multi gen_hdr
Change-Id: I706261b30abfd87e2449f7a3a4b259a966920b7a
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-05-13 10:54:52 +08:00
Herman Chen
5d7a4724af [linux]: Add env detect for syslog flags
Change-Id: I70746562aee7131ef25a55db0cae3b7ad0c17164
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-05-12 11:32:24 +08:00
Herman Chen
31aac54a4f [h264e/h265e]: Add segment info on header gen
Change-Id: I8bba93efe03e262a0684f62a9e2a2a03d223f5f2
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-05-11 16:49:44 +08:00
Herman Chen
12858d56d1 [mpp_packet]: Add segment info and segment nb
Change-Id: I26cb5bba11393ccfb3a73b0d682b67f219034c13
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-05-11 16:49:30 +08:00
Herman Chen
de864932e3 [h265d]: Fix error of reset on info change
Change-Id: I31c5e7a0888da0ff0e7363929d0bd45369149178
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-05-11 16:47:30 +08:00
Herman Chen
6ddafd0bfa [mpp_enc]: Add split output flag
Split output flag is for low delay packet output mode.

Change-Id: I2f743f14b89864625406ebf94687f4f838f0df15
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-05-10 11:19:23 +08:00
Hongjin Li
badde4fc94 [mpp_h264]: Adjust the range of fast play marker discard
Change-Id: Id388f7eec752da6652c4a034e6346d333cdb9cd2
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
2022-05-09 09:17:03 +08:00
Herman Chen
b9828c98f2 [hal_bufs]: Add size check on clear
Change-Id: I6e294a97d3da6930f72ddb3a6181b7cbf0f3041d
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-05-06 16:08:01 +08:00
shine.liu
e874362996 [h265d]: Fix scaling list prediction delta for the 32x32 inter matrix
Change-Id: I2512a20941fcba7c5a43a3aa9f85387b8c9d29a2
Signed-off-by: shine.liu <shine.liu@rock-chips.com>
2022-05-05 14:58:39 +08:00
Herman Chen
31083b6ee3 [mpp]: Add MppIoMode
Change-Id: I5cf9fc124396141244d03dca338b4ec05a4504e0
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-04-29 17:47:59 +08:00
Herman Chen
6f288f656e [mpp_task]: Add more interface
Change-Id: Ib80597267a439d5c42a3cf9eed77614cc8cda5c5
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-04-29 17:38:46 +08:00
Herman Chen
6d43966df0 [mpp_packet]: Add task for internal flow
Change-Id: If70f07b2c7e527a9b8335e59b99fcb2cef971614
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-04-29 16:56:50 +08:00
Herman Chen
230837e41e [mpp_frame]: Add task for internal flow
1. Remove next entry in MppFrame.
2. Add MppTask in MppFrame

Change-Id: Icdf4f451e54a30977c5725848c5f4357ae54e6d8
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-04-29 16:56:50 +08:00
Herman Chen
da3fc7c4a8 [mpp_list]: Add more wait functions
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Icc8457ce1bff75eee7e5b8b8cc34360a339571a8
2022-04-29 09:52:22 +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
Herman Chen
4461331524 [hal_h265e_vepu580]: Fix debreath color issue
Change-Id: I9943b1e37e2cd3c2b811eeaddf054cbb378d6f7d
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-04-26 16:30:00 +08:00
Herman Chen
323291c2b9 [hal_h265e_vepu580]: Fix crash on FBC debreath path
Change-Id: I14cd9ea0aa8740c9357b8d5699f2111d10bb7f8a
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-04-26 11:47:47 +08:00
Hongjin Li
9d9aeba533 [mpi_enc_test][mpi_dec_test]: close slt verify file
Change-Id: Id303202846e9e415b0837e73115ce3c93503e608
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
2022-04-25 16:12:49 +08:00
Herman Chen
0b949f4b8c [hal_h265e]: Increase h265e recn/refr buffer size
Change-Id: I160b8129351a0020b4afff8c5d350ad28a60296c
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-04-25 11:45:29 +08:00
Hongjin Li
4f4c73a7ae [h264d_dpb]:Fast play is disabled by default
Flip disable_fast_play to enable_fast_play,
Fast play is disabled by default.

Change-Id: I168e02a9d84590c3b2b92fe75b2b37c655c8c63e
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
2022-04-22 09:59:18 +08:00
Herman Chen
f50df9b272 [mpp_enc]: Optimize encoder flow
1. Create hal_task_group in mpp_enc_hal.
2. Reduce EncAsyncTaskInfo copy in async flow.

Change-Id: If81ffc72122f87eb6d2f83bb5ecd7de5400bc140
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-04-21 09:37:52 +08:00
Herman Chen
a99d8e9921 Unify sync task and async task
1. Unify old EncTask and new EncAsyncTask.
2. Use rc task in EncAsyncTaskInfo to replace rc_task in MppEncImpl.
3. Use usr in EncAsyncTaskInfo to replace frm_cfg in MppEncImpl.

Change-Id: I9d6f308b12828ff63268e35845b6813c1d1ae8ae
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-04-20 16:01:36 +08:00
Herman Chen
6f9eda5bcf [mpp_dec]: Add compat check when inc fbc buf size
Change-Id: I8f6314683a99343556af3f7dfb35377a01480737
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-04-19 08:30:01 +08:00
Herman Chen
f1324e29a2 [mpp_compat]: Add mpp compatible spec module
This module is for backward / forward compatiblity with external users.
1. Support compatible feature query.
2. Support update user program compatible feature update.

Change-Id: I7661f17c442eca0a0d0d57d2a35efdb5fd88be72
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-04-19 08:29:41 +08:00
weiguo zhou
a4f7fcb6cc Fix typo in toplevel readme.txt
Change-Id: Ieebf0d09c522039548a91adc01e0d5e0b22aeae9
2022-04-19 08:23:54 +08:00
Hongjin Li
7bcf0d45dd [mpp_opt]: Modify the initialization number of opt
Change-Id: I3fef98f0feab2004b5c78dabcc4d792121bd7f1a
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
2022-04-15 10:59:00 +08:00
Hongjin Li
4e236af2a3 [h264d]: Modify fd storage method
For the problem that the 3399 platform fd is not enough,
modify the storage method of the fd

Change-Id: I489d5e7c16f499093099e7ead9c838dbe5c1de5c
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
2022-04-14 20:43:17 +08:00
Herman Chen
f903701f44 [rk_mpi]: Add encoder query function
Change-Id: I869d30bf11b26feee02f5ba307d98f6bbdcf7058
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-04-13 17:34:36 +08:00
Herman Chen
56adedbc37 [hal_task]: Fix hal_task_get_count function
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ib206c260cb55f0b98fca38e9d93ce235c1b3f66a
2022-04-08 15:10:58 +08:00
Herman Chen
072a0d6f0d [hal_h264e]: Fix extra syntax error log for dpb
https://github.com/HermanChen/mpp/issues/42

Change-Id: I85298a2cece2166932519a7cacc22806b42d5092
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-04-08 14:32:23 +08:00
Herman Chen
3e97ec8b1c [hal_task]: Add get data interface for zero copy
Change-Id: Ife6df62f6c1f251ffce08e495aa54193ed9257a5
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-04-08 11:46:34 +08:00
Herman Chen
c2f3236d3b [mpp_dec]: increase fbc ver_stride
Change-Id: Id56ee95567ea869624f783602e0a9e10ec5dc367
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-04-02 09:20:06 +08:00
Hongjin Li
14f3ef4a7c [h265d_ps]: Fix h265 video flicker issue
The update flag should be set after update of pps

Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Change-Id: I5db21e1d16ce54d5f2342bcd2625b221f45b33f3
2022-04-01 18:14:30 +08:00
Herman Chen
275705e088 [mpp_list]: Add wait function
NOTE: The wait function MUST be used with lock protection.

Change-Id: I14f48795d5833c9aedc311c56139775bf07f0e79
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-04-01 18:08:11 +08:00
Herman Chen
7a5544b8ec [rc]: Fix rc issue in async mode
1. Add async rc preset function.
2. Update rc_task pointer on async_wait task.
3. Save frame type in rc task info rather than in rc ctx.

Change-Id: I956b5f14a01e5c2cdc8b4c5f9c26660274a7f0e4
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-04-01 18:07:30 +08:00
Xingwen Fang
e86db5e072 [mpp_dec]: remove sleep when the output queue is empty
When the output queue is empty, sleep 1ms is added to avoid an
infinite loop, which leads to the problem that it takes a long
time to acquire the lock probability when outputting the frame
queue. Remove the sleep operation inside get_frame, and the APP
will ensure the problem of dead loop calls.

Signed-off-by: Xingwen Fang <fxw@rock-chips.com>
Change-Id: Ibbbaa352cf6a9fd386f7e1f944571658295977e5
2022-04-01 14:17:42 +08:00
Herman Chen
664d3346bd [mpp_service]: Add hw irq capacity check
Change-Id: I06788771ee1085433a35e90d63335f5c0ba168b9
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-03-31 11:11:22 +08:00
Herman Chen
be4132bc53 [h264e_vepu541]: Increase recn / refr buffer size
Change-Id: Idf32e9bf2ac87e82d853e98401dc9a815d284e85
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-03-30 14:26:07 +08:00