Commit Graph

236 Commits

Author SHA1 Message Date
qiyao.zhou 0d24f992bd di_process: need reset di when I/P switch. [1/1]
PD#SWPL-182680

Problem:
interlace stream switch to 4k, DI NULL point comes out.

Solution:
Add reset flow for this case.

Verify:
t5w

Change-Id: I69100a73cd97cfef315fa4fbc0e588376d6d22ff
Signed-off-by: qiyao.zhou <qiyao.zhou@amlogic.com>
2024-08-26 19:55:15 -07:00
qiyao.zhou c74920acd4 videoqueue: video play would freeze when switch [1/1]
PD#SWPL-182909

Problem:
Repeat put frame when queue buf failed.

Solution:
notify put flow in videoqueue.

Verify:
txhd2

Change-Id: I5369ff41525daa7406e414ea36674030afb83b56
Signed-off-by: qiyao.zhou <qiyao.zhou@amlogic.com>
2024-08-22 03:45:46 -07:00
zhenteng.tian 700c04564e v4lvideo: add pointer check to avoid kernel panic. [1/1]
PD#SWPL-180986

Problem:
1. kernel panic due to null pointer
2. measure the performance of DI in ns

Solution:
1. add pointer check to avoid kernel panic
2. measure the performance of DI in ns

Verify:
T5W

Change-Id: Ie3a4bb8f330622f8f8c9e47d717e5c9e2d153059
Signed-off-by: zhenteng.tian <zhenteng.tian@amlogic.com>
2024-08-19 03:52:59 -07:00
zhenteng.tian 1a31e40dc0 vc: enable low latency mode for dec vf in game mode. [1/1]
PD#SWPL-181820

Problem:
enable low latency mode for dec vf in game mode

Solution:
enable low latency mode for dec vf in game mode

Verify:
T5M

Change-Id: I168f33dfe6777e2cb2fd20d4538ab52fd5722a3b
Signed-off-by: zhenteng.tian <zhenteng.tian@amlogic.com>
2024-08-19 03:52:47 -07:00
zhenteng.tian ac4d783d72 vc: notify frame display info to mediaproxy. [1/1]
PD#SWPL-177588

Problem:
video_composer need notify frame display info to mediaproxy

Solution:
notify frame display info to mediaproxy

Verify:
T5M

Change-Id: Icd7f8f030a78245086dd0c3eba5cd1e7d3761e70
Signed-off-by: zhenteng.tian <zhenteng.tian@amlogic.com>
2024-08-15 21:45:31 -07:00
baocheng sun 87c26cc21e videotunnel: lock vt_instance_put [1/1]
PD#SWPL-180601

Problem:
vt instance use after free during stress tests

Solution:
lock vt_instance_put

Verify:
t5m

Change-Id: I09da4aebc1def8b51ecd63d57181470b61e4a7f9
Signed-off-by: baocheng sun <baocheng.sun@amlogic.com>
2024-08-15 03:56:10 -07:00
chen.xu 32a3341535 video_composer: vc support dec set screen mode [1/1]
PD#SWPL-178926

Problem:
video_composer need support dec set screen mode.

Solution:
1.while dec set screen mode, vpp using this 1st priority.

Verify:
T982

Change-Id: I71d9cdb4d7b7ed452427f55e6e8767709d35b052
Signed-off-by: chen.xu <chen.xu@amlogic.com>
2024-08-12 23:48:34 -07:00
qiyao.zhou f752b020af di_process: kernel panic when switch stream. [1/1]
PD#SWPL-181057

Problem:
v4lvideo would call free_di_mgr_data When switch
stream, this would put the  file which DI output
use it.

Solution:
Add protect flow in di_process.

Verify:
t5m

Change-Id: Icbe2a05ca5daee2a29b8e570b81fd3a8687929da
Signed-off-by: qiyao.zhou <qiyao.zhou@amlogic.com>
2024-08-12 02:28:48 -07:00
yudong.cai 60b2991fd0 vdin: Green appears at the bottom of the vdin screenshot [1/1]
PD#SWPL-179666

Problem:
Write Enable The ddr switch is turned on slowly,
resulting in the valid data in front of a graph is not written

Solution:
1.Reduce kernel log
2.enable vdin1 ddr writing before entering ISR

Verify:
T5W

Change-Id: Ie8073b362759447fda8cac6ad5d08552d52a2927
Signed-off-by: yudong.cai <yudong.cai@amlogic.com>
2024-08-12 02:28:34 -07:00
Yongjie Zhu c5dfd532ca UVM: v4l data copy need size check [1/1]
PD#SWPL-175011

Problem:
screencap v4lvideo lead to kernel panic

Solution:
add size check before v4lvideo data copy

Verify:
t3 U

Change-Id: I137cdf83ad8a888188446be63bd789a0d92fdd4a
Signed-off-by: Yongjie Zhu <yongjie.zhu@amlogic.com>
2024-08-08 04:50:10 -07:00
qiyao.zhou c0abab7dc1 vc: screen anomaly when use dma buf composer. [1/1]
PD#SWPL-179663

Problem:
dma buf not config data width and height.

Solution:
fix the issue vicp cannot perform compositing on dma_buf.

Verify:
T3X

Change-Id: Ia134d691c502076289f536f77a8e60d7d25cb8bc
Signed-off-by: qiyao.zhou <qiyao.zhou@amlogic.com>
2024-08-08 01:56:59 -07:00
qiyao.zhou 8898860f5b di_process: remove unused file in buf manager. [1/1]
PD#SWPL-180571

Problem:
Do dq_checkin but not senc to hwc,this result
put buf error.

Solution:
Add free_checkin flow for this case.

Verify:
txhd2

Change-Id: I62da8f213523f1553e9d3ff1653f25a570fb3baa
Signed-off-by: qiyao.zhou <qiyao.zhou@amlogic.com>
2024-08-06 05:50:29 -07:00
zhenteng.tian f9d195fb71 video_composer: do not perform composer in game mode. [1/1]
PD#SWPL-175879

Problem:
do not perform composer in game mode

Solution:
do not perform composer in game mode

Verify:
T3X

Change-Id: I9afe00f71b818d0d1e5fd285d7f9baef3fccd1b4
Signed-off-by: zhenteng.tian <zhenteng.tian@amlogic.com>
2024-08-06 03:42:27 -07:00
qiyao.zhou 78363f9c4d di_process: vf not include decoder vf param. [1/1]
PD#SWPL-171638

Problem:
DI output vf not include decoder vf param..

Solution:
Add decoder vf param when output vf in di_process.

Verify:
t3

Change-Id: I7c6cccaa295270fc57b5c5eee84fd3682ee8cdca
Signed-off-by: qiyao.zhou <qiyao.zhou@amlogic.com>
2024-08-06 03:42:09 -07:00
qiyao.zhou b464acc72b di_process: not create fence beforce di output. [1/1]
PD#SWPL-179302

Problem:
Not create fence beforce di output, this
result to VC drop frame.

Solution:
Create fence beforce sent frame to di.

Verify:
s6

Change-Id: I98906d07ff41ef6865225009bcfd7d406a04f188
Signed-off-by: qiyao.zhou <qiyao.zhou@amlogic.com>
2024-07-30 00:42:13 -07:00
qiyao.zhou df13c445fb vicp: add shutdown flow for vicp. [1/1]
PD#SWPL-179050

Problem:
poweroff dissipation for VICP clk.

Solution:
1.Implement function in vicp for shutdown.
2.cherry pick 20baea19c687c86f559e02fcd4e10184f14c409f.

Verify:
s5

Change-Id: I0e6fcd59176172d13f70e02661f7e0da182c0677
Signed-off-by: qiyao.zhou <qiyao.zhou@amlogic.com>
2024-07-30 00:41:28 -07:00
chen.xu 2fde76a323 amlvideo2: sync code from project to trunk [1/1]
PD#SWPL-178849

Problem:
1.ge2d src format need config little or big endian.
2.tv path use amlvideo2.1 to screencap, while stream_off
should only stop vdin1.

Solution:
modify code.

Verify:
T982

Change-Id: I32331425dcf346233180d5df08cfe8c41e66f440
Signed-off-by: chen.xu <chen.xu@amlogic.com>
2024-07-24 06:20:41 -07:00
chen.xu 69d5a31bca video_process: di do rotate pipeline adaption [1/1]
PD#SWPL-171638

Problem:
di do rotate pipeline adaption.

Solution:
support.

Verify:
T982

Change-Id: Ic149b5a2562792a27ce959c0849306d4448a8613
Signed-off-by: chen.xu <chen.xu@amlogic.com>
2024-07-24 06:19:40 -07:00
yufei.huan cee43d202a deinterlace: interlace source reverse screen [1/1]
PD#SWPL-171839

Problem:
Reverse feature is not supported.

Solution:
Add panel Reverse feature.

Verify:
txhd2

Change-Id: I4a63f64ad486df36638904bff3cd8152aeceb734
Signed-off-by: yufei.huan <yufei.huan@amlogic.com>
2024-07-21 20:03:38 -07:00
chen.xu 89d608b0f5 video_composer: fix video composer panic [1/1]
PD#SWPL-177962

Problem:
NULL pointer result panic

Solution:
Correctly pass parameters

Verify:
S6

Change-Id: Icac7c3dc463193ea8445eba239a289bcca06d80c
Signed-off-by: chen.xu <chen.xu@amlogic.com>
2024-07-19 21:43:23 -07:00
zhenteng.tian 3cdcecabeb vc: add lcevc data path for pipeline. [1/1]
PD#SWPL-168205

Problem:
lcevc data cannot be passed backward to vpp.

Solution:
add lcevc data path for pipeline.

Verify:
S7D

Change-Id: I656baa444025f4aaebfea67e19a011c152961c5f
Signed-off-by: zhenteng.tian <zhenteng.tian@amlogic.com>
2024-07-18 20:03:23 -07:00
qiyao.zhou 01a822342e dp: Add LCEVC support in diprocess. [1/1]
PD#SWPL-174365

Problem:
LCEVC no need do di.

Solution:
add LCEVC support in diprocess.

Verify:
s7d

Change-Id: I0df139cdeb5827413a196a1fb6d482c127fb266f
Signed-off-by: qiyao.zhou <qiyao.zhou@amlogic.com>
2024-07-17 05:57:24 -07:00
zhenteng.tian c4b7be183f vc: skip vf type check for VT color buffer. [1/1]
PD#SWPL-176881

Problem:
1. kernel panic occurs in some video switching conditions
2. perform type checking on VT color buffer and print error messages

Solution:
1. fix kernel panic problem
2. skip vf type check for VT color buffer

Verify:
T7C

Change-Id: I63a02a481d36d84786d62f5d2994ea718af1ef0e
Signed-off-by: zhenteng.tian <zhenteng.tian@amlogic.com>
2024-07-16 03:55:27 -07:00
jintao xu ae8359e6a1 di_process: I frame dummy use two I frame [1/1]
PD#SWPL-176912

Problem:
di print many err log

Solution:
I frame dummy use two I frame, not use P

Verify:
T5M

Change-Id: I9d2910496ab778c327f9f5a2bbdd4b2249f3dc41
Signed-off-by: jintao xu <jintao.xu@amlogic.com>
2024-07-12 02:14:14 -07:00
yufei.huan 3dca9d3950 deinterlace: interlace source reverse screen [1/1]
PD#SWPL-171839

Problem:
Reverse feature is not supported.

Solution:
Add panel Reverse feature.

Verify:
txhd2

Change-Id: I932cad7309cf4960035b8897f1bb7f7acffe51ca
Signed-off-by: yufei.huan <yufei.huan@amlogic.com>
2024-07-11 22:05:29 -07:00
jintao xu 60e476c211 di_process: set buffer_keep mode to 1 [1/1]
PD#SWPL-174885

Problem:
di keep buf when hdmi rx reset

Solution:
di not keep buf when buf free to di after reg

Verify:
T5W

Change-Id: Iad71dbea981547ac5482e17d739c097855b8c4ec
Signed-off-by: jintao xu <jintao.xu@amlogic.com>
2024-07-09 05:11:14 -07:00
qiyao.zhou 9df91d1dca vc: Add duration param for composer vframe. [1/1]
PD#SWPL-176007

Problem:
composer vframe no duration param.

Solution:
add duration param for composer vframe.

Verify:
t3x

Change-Id: I520d6e790177cda43fce28be428ff01180221f7b
Signed-off-by: qiyao.zhou <qiyao.zhou@amlogic.com>
2024-07-09 01:15:24 -07:00
qiyao.zhou 03bf5a98d0 di_process: not do dummy when size change [1/1]
PD#SWPL-174583

Problem:
Di would spend long time when size change,
but this is no need.

Solution:
Modify diprocess flow.

Verify:
t5m

Change-Id: I2241a91249d01fa9e9fef50a1c1d3d654e478b02
Signed-off-by: qiyao.zhou <qiyao.zhou@amlogic.com>
2024-07-08 00:46:57 -07:00
zhenteng.tian 5d51f3adf9 vc: screen anomaly when using vf and dma buf for compositing.. [1/1]
PD#SWPL-174021

Problem:
screen anomaly in dma_buf and vf frame data composition using composer.

Solution:
1.clear src_vf after completing the composition of a frame of data.
2.fix the issue vicp cannot perform compositing on dma_buf.

Verify:
T3X

Change-Id: Ibf5492d823a1f1e8540feae7d8e275487a83710c
Signed-off-by: zhenteng.tian <zhenteng.tian@amlogic.com>
2024-07-05 21:44:44 -07:00
chen.xu ef7acbdac7 vicp: fix composer use vicp for S6 [1/1]
PD#SWPL-173018

Problem:
composer need use vicp for S6

Solution:
support

Verify:
S6

Change-Id: I3ceb3c044ec3fa447e12b31dc33792fdde5c9236
Signed-off-by: chen.xu <chen.xu@amlogic.com>
2024-07-05 10:44:46 +08:00
qiyao.zhou 2c4572ef31 vc: bypass di according to compression ratio [1/1]
PD#SWPL-172361

Problem:
bypass di according to compression ratio.

Solution:
Modify vc flow to implement this requirement.

Verify:
t5m

Change-Id: Iace3aec5f202369882793a42c66a6b590211cf29
Signed-off-by: qiyao.zhou <qiyao.zhou@amlogic.com>
2024-07-03 00:13:18 -07:00
chen.xu eb03bdebad videodisplay: support afbc and dw src crop [1/1]
PD#SWPL-169574

Problem:
src data need crop

Solution:
support afbc and dw src crop

Verify:
T962D4

Change-Id: I7f1e70f70375e282d4c1b32a3802134567b91490
Signed-off-by: chen.xu <chen.xu@amlogic.com>
2024-07-03 00:13:05 -07:00
zhenteng.tian cb8730b144 video_composer: set frc operation mode according to duration. [1/1]
PD#SWPL-172344

Problem:
use video_composer to set the FRC working mode.

Solution:
use video_composer to set the FRC working mode.

Verify:
T5M

Change-Id: I70ad264105144ae07b2c8336e722c7369c025f74
Signed-off-by: zhenteng.tian <zhenteng.tian@amlogic.com>
2024-06-28 03:58:00 -07:00
wenlong.zhang 367cf02120 drm: support video rotate function [1/1]
PD#TV-94929

Problem:
support video rotate function

Solution:
support video rotate function

Verify:
t5w

Test:
DRM-OSD-68

Change-Id: Ibdbafd97ac8874f3df7bab01e52fe2d639e4f567
Signed-off-by: wenlong.zhang <wenlong.zhang@amlogic.com>
2024-06-27 20:07:44 -07:00
zhenteng.tian 840abb827f video_composer: enable low latency mode for drm. [1/1]
PD#SWPL-173202

Problem:
the delay time for sending the display needs to be optimized.

Solution:
enable low latency mode for drm.

Verify:
S7D

Change-Id: I94e1dd453228f70cf9db29f954e89dcfdb3f7271
Signed-off-by: zhenteng.tian <zhenteng.tian@amlogic.com>
2024-06-19 03:21:13 -07:00
chen.xu 8f7b8d6dd3 video_composer: fix use dewarp rotate vc set crop to vpp [1/1]
PD#SWPL-171604

Problem:
use dewarp rotate vc set crop to vpp

Solution:
support

Verify:
T7C

Change-Id: Iaac141168c7ee7be57fd1b43af10e288193bb1cd
Signed-off-by: chen.xu <chen.xu@amlogic.com>
2024-06-11 22:35:15 -07:00
qiyao.zhou 6ae4cac925 diprocess: move thread flow in diprocess. [1/1]
PD#SWPL-171533

Problem:
create thread would pending hwc process.

Solution:
Move thread flow to open and release flow.

Verify:
t5w

Change-Id: Ia1cea13985756eb66445484dd9afbf65ca2be95e
Signed-off-by: qiyao.zhou <qiyao.zhou@amlogic.com>
2024-06-11 01:49:21 -07:00
qiyao.zhou 6923a25210 vc: Optimization and organization task flow. [1/1]
PD#SWPL-168975

Problem:
Optimization and organization task flow in vc.

Solution:
Optimization and organization task flow in vc.

Verify:
t3x

Change-Id: I556e672382d70d43abe618094bfd30f3788879e1
Signed-off-by: qiyao.zhou <qiyao.zhou@amlogic.com>
2024-06-07 01:03:48 -07:00
chen.xu bf225e4574 amlvideo2: support src 10bit and amlvideo2.0 crop [1/1]
PD#SWPL-171577

Problem:
support src 10bit and amlvideo2.0 crop.

Solution:
support.

Verify:
T7C

Change-Id: I23a98be4c3712776a45a613f48ce040f3308a535
Signed-off-by: chen.xu <chen.xu@amlogic.com>
2024-06-06 02:24:34 -07:00
chen.xu 01b269349d video_composer: flip and rotate case vc first do flip then rotate [1/1]
PD#SWPL-171754

Problem:
flip and rotate case vc first do flip then rotate.

Solution:
support.

Verify:
T7C

Change-Id: Ib4262a0e16a05688efcd0eef3fb0e53519197b7f
Signed-off-by: chen.xu <chen.xu@amlogic.com>
2024-06-05 02:26:36 -07:00
dabing.qi bdb6ace157 videotunnel: add lock when free instance [1/1]
PD#SWPL-169887

Problem:
when connect and free are called at the same time,
vt instance could be free before connect

Solution:
add lock in vt instance free process,so vt  connect
and vt free will not conflict.

Verify:
T5M

Change-Id: Ibb49cdbb716b22f61aeafeab9ca7011a33f6318b
Signed-off-by: dabing.qi <dabing.qi@amlogic.com>
2024-06-05 02:25:57 -07:00
qiyao.zhou cc324b68e2 dp: kernel panic in di_process. [1/1]
PD#SWPL-170482

Problem:
NULL point in di_process.

Solution:
Add NULL point check in code flow.

Verify:
t5w

Change-Id: I6353235518aaa576fe18d6f45f26ab73fd17aa36
Signed-off-by: qiyao.zhou <qiyao.zhou@amlogic.com>
2024-06-03 08:00:24 -07:00
zhenteng.tian ad70110e5a vc: set bitdepth_dw for ge2d when vf is compressed. [1/1]
PD#SWPL-160633

Problem:
vdin provide bitdepth_dw for double write data.

Solution:
set bitdepth_dw for ge2d when vf is compressed.

Verify:
T3X

Change-Id: I3e1c2e2a193ea46f4fa121ee71db54b58ff88f01
Signed-off-by: zhenteng.tian <zhenteng.tian@amlogic.com>
2024-05-31 05:24:38 -07:00
Tianhua Sun e46c0634c0 videotunnel: add COLOR_ONCE to refresh cmd list [1/1]
PD#SWPL-165989

Problem:
game mode switch to standard mode,flash the line screen

Solution:
need resend last cmd COLOR_ONCE to consumer when consumer reconnect.

Verify:
t3x

Change-Id: I51e8c15567ada60685bc56eda7a42f0a4481a8b7
Signed-off-by: Tianhua Sun <tianhua.sun@amlogic.com>
2024-05-29 01:59:09 -07:00
zhenteng.tian 4ccf05a12f vc: force composer when refresh rate of 4K1K screen exceeds 240Hz. [1/1]
PD#SWPL-163419

Problem:
force composer when refresh rate of 4K1K screen exceeds 240Hz.

Solution:
force composer when refresh rate of 4K1K screen exceeds 240Hz.

Verify:
T3X

Change-Id: Ic2aafc6e9ebb676223a9f564b452526447ee4133
Signed-off-by: zhenteng.tian <zhenteng.tian@amlogic.com>
2024-05-23 20:01:17 -07:00
qiyao.zhou cb98936313 di: video stretch downwards on starting [1/1]
PD#SWPL-170069

Problem:
crop param would been modify by di.

Solution:
Modify crop param setting flow in di.

Verify:
t5d

Change-Id: If3f61769454d54e1ef7d28655039c027547b9545
Signed-off-by: qiyao.zhou <qiyao.zhou@amlogic.com>
2024-05-22 22:00:08 -07:00
wenlong.zhang 86ad56769f drm: support yuv 10bit for video [1/1]
PD#SWPL-146801

Problem:
support yuv 10bit for video

Solution:
support yuv 10bit for video

Verify:
s7

Test:
DRM-OSD-63

Change-Id: I93d00a77cb6776bd430c2db9845e685ff059bddd
Signed-off-by: wenlong.zhang <wenlong.zhang@amlogic.com>
2024-05-20 23:55:39 -07:00
qiyao.zhou 3260b15582 dp: no put buf when switch p to I. [1/1]
PD#SWPL-165621

Problem:
When switch P to I, dp would reset DI,
the buf has queued to DI not reduce reference.

Solution:
Modify diprocess uninit flow.

Verify:
t5d

Change-Id: I3f999581817f293551befc0493812e7faea9ffd1
Signed-off-by: qiyao.zhou <qiyao.zhou@amlogic.com>
2024-05-20 06:40:08 -07:00
qiyao.zhou 9fb10938af dp: no need reset di when start video play. [1/2]
PD#SWPL-169541

Problem:
No need reset di when satrt play video.

Solution:
Modify di process flow for this case.

Verify:
t5d

Change-Id: I678409f7c5dac9df614a8a22933bea6ffb011c0a
Signed-off-by: qiyao.zhou <qiyao.zhou@amlogic.com>
2024-05-16 05:55:31 -07:00
zhenteng.tian f08062e7d6 vq: notify di to bypass di_p for dual channel input. [1/1]
PD#SWPL-165640

Problem:
The bandwidth is insufficient to meet the simultaneous DI processing.

Solution:
notify di to bypass di_p for dual channel input.

Verify:
T3X

Change-Id: I91f7e823fd44fb7fa27984a50250d87c08bc685c
Signed-off-by: zhenteng.tian <zhenteng.tian@amlogic.com>
2024-05-16 05:55:25 -07:00