Commit Graph

3625 Commits

Author SHA1 Message Date
Herman Chen
e3af01ac76 [hal_h264e]: Fix amend buf_size set to zero issue
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Id8e4d28d2b6967a26d693bd41e4ba3491c5fff38
2022-11-09 14:52:19 +08:00
Herman Chen
d77f5574f7 [hal_h264e_amend]: Fix async stream amend issue
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ieb0efd1cc346dc786ded3af89b64ff0eab37d9d6
2022-11-09 10:26:52 +08:00
Herman Chen
dc3c692e4c [mpp_enc]: Add fps check for negtive value
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I7bad72c3fcebb16d9ed03e58a3c45b7c4c9a4948
2022-11-09 10:25:30 +08:00
xueman.ruan
9d00c8811d [hal_h264e_vepu]: Add rotation function.
Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
Change-Id: Ie520f8bbeac43423ef7e5319c0bb94649111d93e
2022-11-08 15:29:42 +08:00
Herman Chen
ee6f5b3374 [mpp_service]: Add more MPP_FLAGS_REG_OFFSET_ALONE
Add MPP_FLAGS_REG_OFFSET_ALONE flag to mpp_service_cmd_poll to avoid the
flag be cleared in kernel.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I27ef320ec472e871eace77c9238378abab3f2b34
2022-11-07 16:48:17 +08:00
xueman.ruan
edd6a71d8c [jpege_api]: fix jpeg rot error.
1. fix jpeg rotation cfg error
2. caused by commit I01c0b9187a18851354e81b5f08afc6dcaaba8365

Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
Change-Id: Iab907faf92b8d3ada6311a2ec37fde27227bb081
2022-11-04 17:28:36 +08:00
sayon.chen
9405c48f97 [hal_h264e]: Support poc_type 2 & add tsvc prefix
Change-Id: Ibbb0ee179974fdade590b97c9b3b38bcf822dffc
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2022-11-04 17:05:12 +08:00
Herman Chen
aa343f27db [mpp_cfg]: Add config debug log
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I47249720287f3b4dbfa7872f434f677deb106294
2022-11-04 14:26:47 +08:00
Hongjin Li
3198035973 [mpp_h265]: Fix hevc video flicker issue
For hevc field source without idr frame,
modify the number of dpb frame buffers
to fix the screen flickering

Change-Id: I65b471a563585a49f45de1e4388a8e22aabefee4
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
2022-11-02 16:51:57 +08:00
Hongjin Li
d5618f3ccd [mpp_h265]: Fix the black screen issue of hevc
For hevc field source without idr frame,
get idr information from recovrey point

Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Change-Id: I4c5aaa20b074d470eff73461ac15c1019f74cfb4
2022-11-02 16:51:28 +08:00
Johnson Ding
4ce2785fd3 [vproc]: Fix dma buffer -1 issue
IEP2 out dst buffer may be NULL if doing reset.
log trace:
    mpp_dma_import_fd:198: dma_buf_get fd 1023 failed(-9)
    rk_vcodec: mpp_task_attach_fd:1679: can't import dma-buf 1023
    rk_vcodec: mpp_process_task_default:566: alloc_task failed.
    rk_vcodec: mpp_wait_result_default:826: session 00000000ca01418f
        pending list is empty!
    rk_vcodec: mpp_msgs_wait:1532: session 540 wait result ret -5

Change-Id: I8a824cd199d703f35d866d800dc7107caf1d76b3
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2022-11-02 16:46:19 +08:00
Johnson Ding
e2764751b4 [vproc]: Adjust vproc thread flow to fix dead lock
Change-Id: I0ae8e0f44a4a8df03183511086f47e5ba561042a
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2022-11-02 16:46:19 +08:00
Johnson Ding
293157e10f [iep2]: Frame mode all passed to iep2 for detected
1. Add MPP_VPROC_MODE_DETECTION for user to enable frame/field data
detection for iep2.
2. Use MPP_FRAME_FLAG_DEINTERLACED flag for frame/field data detection
flag in MppFrame.
3. Add vproc version and detection function to dec_vproc module.

Change-Id: I41e36c6df4a09970952b499eda5930091e6f716d
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2022-11-02 16:41:07 +08:00
Herman Chen
8828359534 [misc]: chmod all code file to 644
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I2225d7508a7f8bf5693077d20f48065e8324b318
2022-11-02 11:10:49 +08:00
sayon.chen
f4efa00669 [m2v_parser]: Fix field mode no set SLOT_HAL_OUTPUT
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
Change-Id: If7b23e2eb2df0138c787e27a7d66c7d7893ba606
2022-11-02 09:26:54 +08:00
Hongjin Li
0dc066ca4c [h264d_dpb]: Fix h264 video flicker issue
Restrict the poc interval can only be modified to 1.

In the case where it can be modified to 2, it may cause
the screen to flicker.

However, if it is not allowed to change to 2, it may cause
the dpb buffer to be full before the frame can be output.

Change-Id: I5a76920f565d856c6e6f3f2ff2e88bf5ca822954
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
2022-11-02 09:12:39 +08:00
Hery Xu
618cee428c [vpu_api_legacy] add cmd to use mpi config
Signed-off-by: Hery Xu <hery.xu@rock-chips.com>
Change-Id: I205e2f7e9015f09a59613850e828d72b85e59370
2022-11-01 15:09:49 +08:00
Herman Chen
af5298e14e [hal_h265e_vepu580]: Add segment for tile mode
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I1739deacda9ca40079aa17a818fd180503401f3e
2022-10-31 16:11:20 +08:00
Herman Chen
67b1f3d552 [mpp_service]: Fix error on more than 1024 fd
https://redmine.rock-chips.com/issues/379038
When the reg_offset ioctl is not set the first time decoding will get
error on translate the pps buffer fd in kernel.
So we must set the MPP_FLAGS_REG_OFFSET_ALONE on each message.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I67f8413047adc77ca3addfe8dbed28ab1b0bcea8
2022-10-31 15:53:58 +08:00
Herman Chen
0abe5d1bb6 [readme]: Update support list and repo path
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I471f7e2d8ef66e89105bcbcfd8171576d2273a04
2022-10-31 11:06:26 +08:00
Rimon Xu
1cc1af1b08 [osal]: reorder dma heap type select priority
Change-Id: Ifd2286ecf97fb4477693c24cdaec10c1df15eacf
Signed-off-by: Rimon Xu <rimon.xu@rock-chips.com>
2022-10-28 10:06:22 +08:00
Johnson Ding
e7a328f49c [vdpu34x_h264]: Fix voidx of RPS data error
Change-Id: I06e7a70e3ffc2310fc7fd1b5a465f8ac5b90f101
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2022-10-26 17:50:09 +08:00
Herman Chen
e3c49445bd [mpp_buf_slot]: Fix extra clear on hal_output
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I3375c6fa48da47d43b7eb1c7ab125f1f31b0d394
2022-10-24 15:57:42 +08:00
Herman Chen
53426a7536 [m2v]: Fix slot leak on field order error
When mpeg2 stream has frame / field switch and mismatch field pair just
mark the picture as error and continue decoding.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I51dac1854c3d76364a671f4be31ae08947b0af2d
2022-10-24 15:52:46 +08:00
Grey Li
447f984178 [jpegd]: fix overflow in copy mode
Signed-off-by: Grey Li <grey.li@rock-chips.com>
Change-Id: I8158bfacf9b4da4f5b12bc26861e0250af31f3fa
2022-10-21 16:45:49 +08:00
Hongjin Li
25f22e04b6 [legacy]: Fix the stride information of the frame
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Change-Id: I1995a308cabe498c7988c16cc546da8dbde62989
2022-10-21 16:45:33 +08:00
Hongjin Li
084402cb6a [legacy]: set output format to mpp
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Change-Id: I841d674ce115928508708bc084f265c9fcb84cd9
2022-10-21 16:44:00 +08:00
Herman Chen
fed7460f4a [mpp_mem_pool]: Add leak buffer count print
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: If2295767b307bd8f089d6092d4a51343b61768e8
2022-10-18 18:02:57 +08:00
Herman Chen
b7afc49a5b [h264e]: Fix error on gop larger than 65536
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ia6c119adbbe1cd3c1a8a31689aacc2e8bd9de98a
2022-10-18 10:27:59 +08:00
Hongjin Li
8b61a64c07 [vp8]: Fix vp8 encode rgba stride limit
Change-Id: Ic7a57169863d09cbce041a813108089b4f958d7f
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
2022-10-13 18:27:42 +08:00
Yandong Lin
3adde926e2 [avs]: Add avs module
NOTE: I frame header decoding should check stream version.

Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
Change-Id: I1c8276f4499d73e3b60d582890037dec376e136f
2022-10-13 15:16:13 +08:00
Johnson Ding
a9cb2cff35 [enc]: fix IDR not encoded problem
When GOP is set to 60 that is the same as the default GOP by
application, igop at reference module isn't set as expected, that leads
to CPB not be cleaned correctly and IDR frame won't be encoded.

see [issue](https://redmine.rock-chips.com/issues/374780)

Change-Id: I2f1030cab700aa560dea07284b820a73c637631e
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2022-10-11 14:50:08 +08:00
sayon.chen
1f8ec3b78d [mpp_service]: Enlarge offset request buffer cnt
NOTE: realloc may change the buffer base. This will invalid the pointer
which point to the old buffer base.
This issue will make 4 tile H.265 encoding with multi osd generate
error stream.

Change-Id: I764ee9b2097687ae9d5f2bcc8d2ff5987a636844
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2022-10-10 18:06:47 +08:00
Xinhuang Li
9b860cd250 [mpp_soc]: Fix rv1109/rv1126 soc_info err
Signed-off-by: Xinhuang Li <buluess.li@rock-chips.com>
Change-Id: I5de57f4c414d65c0d768c77470cf95a68d6ee71d
2022-10-10 16:03:42 +08:00
Rimon Xu
79e4bda9fa [h264d]: fix afbc judging error when field mode
Change-Id: I71fbdb25f8eaed5ddc471fe5d1b73c4b4219a99a
Signed-off-by: Rimon Xu <rimon.xu@rock-chips.com>
2022-09-30 11:15:00 +08:00
sayon.chen
d7f0b0e9c4 [hal_h265]: Fix memset strmbuf align_offset maybe overflow
Change-Id: I1580ce6622ca3e4f4d9b418e5af22b10ebfe5433
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2022-09-27 16:40:39 +08:00
sayon.chen
3562557943 [vepu580_hevc]: Support enc max with up to 16384
Change-Id: If91add1c9220c7e3e6eff315be9165a18880d24b
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2022-09-27 16:32:34 +08:00
Herman Chen
27e4974b89 [hal_vepu580]: Adjusting default parameters
1. Raise H.265 aq step for lower bitrate.
2. Change H.265 skip and small mv tendency.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Signed-off-by: toby.zhang <toby.zhang@rock-chips.com>
Change-Id: I2f454d016aa1d227bb5321533a79e67b701c5e0f
2022-09-27 09:22:52 +08:00
Herman Chen
45739cd4e7 [mpp_enc]: Clear split arg and out when disabled
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ibd94134cc2e25b9b076785a40fa39f7360878a43
2022-09-27 09:17:08 +08:00
Herman Chen
9b2c8f30ba [mpp_enc]: reduce extra log on IDR request
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I1ceb9072cee04d5bc4c17d67a23de4f4ea9d5897
2022-09-26 11:48:17 +08:00
sayon.chen
b0ae2b7122 [h265d_param]: DXVA slice param use dynamic malloc
Change-Id: Id362b642121502786497bf57223356723b9838f7
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2022-09-24 10:03:57 +08:00
toby.zhang
ba13512fbd [hal_h265e_vepu580]: Adjusting tuning parameters
Change tuning parameter to let ME choose small movement normally.

Signed-off-by: toby.zhang <toby.zhang@rock-chips.com>
Change-Id: Ib6a08f11fba53c247bbf2300d062508e9071461b
2022-09-24 09:02:42 +08:00
sayon.chen
d654d25ea9 [h265d_ref]: Add miss ref used by current check
Change-Id: I6c0974ed2ea33720d7aeec0f63d6e71f838e3cb5
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2022-09-23 14:03:45 +08:00
Yandong Lin
69127d4657 [h264d_parser]: fix last empty eos pkt send to hw issue in avcc case
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: I92ef6211c9389870455ba4681183cbe3ea6ab3ca
2022-09-23 09:01:43 +08:00
sayon.chen
a2094ca30a [h265d]: Modify hw resolution capability check method
Change-Id: Ibb7d450d77812f203f5502579e9ed61468c63140
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2022-09-22 18:11:43 +08:00
sayon.chen
346c126ac2 [h264d]: Modify hw resolution capability check
Change-Id: I28d60b2fb4fb9244d041fa3f023d40323e622118
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2022-09-22 18:11:18 +08:00
sayon.chen
2bf30c6f32 [mpp_soc]: Add capability core num set
Change-Id: I76add0b060b2c94914e7b11e8fb42d29c1987384
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2022-09-22 17:32:31 +08:00
sayon.chen
038fecb3da [mpp_soc]: Add capability dec linebuf limit
Change-Id: I6b6d9f0728965ab4b73dc2ece7cd211b6fee190f
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2022-09-22 17:32:21 +08:00
sayon.chen
6b4846bebd [soc_info]: Add cap_down_scale set
Change-Id: Ic0921ce74aea0d71d1629c4d88b5e76b87f294e9
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2022-09-22 17:29:54 +08:00
xueman.ruan
09de35e9b5 [enc_cfg]: Update mirror transformation.
1. constraint the range of input argument.
2. add flip config, equal to vertical mirror transformation.
3. add mirroring_ext and rotation_ext to config set, for supporting
GET_CFG control.

Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
Change-Id: I01c0b9187a18851354e81b5f08afc6dcaaba8365
2022-09-21 15:21:40 +08:00