Commit Graph

654127 Commits

Author SHA1 Message Date
Portisch
4d554aeb46 phy_device: fix: do not check for suspend on resume Only check if the device was sent to suspend before. 2019-07-23 17:52:49 +09:00
Arthur Liberman
99903b4df9 osd: don't call osd_wait_vsync_event during HW decoded video playback 2019-07-23 17:52:49 +09:00
adamg
2617009f5a drivers/amlogic/media/osd: fix potentially incorrect hw/pxp modes 2019-07-23 17:52:49 +09:00
afl1
4e30d1de2e pinctrl: meson-gxbb 2019-07-23 17:52:49 +09:00
Hui Zhang
195c001e7c media_module: single mode fw load failed issue [1/1]
PD#SWPL-4263

Problem:
when run hevc stream mode first. then to run hevc single
mode. fw load failed. (vdec core no issue). the root cause
is that hevc dmc is disabled when hevc remove. it need to be
enabled before fw load. single mode missed it

Solution:
add hevc dmc enable before hevc fw load in single mode

Verify:
U212

Change-Id: Iad6a578b285d3a5fedc8d8b4da98af6a50d5b80b
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
2019-07-23 17:52:49 +09:00
Peng Yixin
0046660ba6 module: use new interface to increase accuracy of ar calculation [2/2]
PD#OTT-2068

Problem:
When playing 1280x128 video under normal screen mode, the aspect ratio from
decodec is not accurate enough by multipling 0x100. (128x256/1280=25.6).
Dropping 0.6 will cause height losing 9 lines.

Solution:
Using new interface to pass real ar width and height following steps:
1.Set old ar variable to 0x3ff as a trigger flag.
2.set the original ar value into sar_width and sar_height of vframe.

Verify:
verified on franklin

Change-Id: I681197707f3f2cff64298dc13c28c28f7ee80b94
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
2019-07-23 17:52:49 +09:00
shihong.zheng
e138484e6a vdec: fix crash in vdec_get_default_vdec_for_userdata. [1/1]
PD#SWPL-6811

Problem:
Unable to handle kernel NULL pointer dereference at virtual address 00000114
PC is at vdec_get_default_vdec_for_userdata+0x50/0x8c [decoder_common]
LR is at 0x0

Solution:
vdec in vdec_connect_list searched is NULL, it's
may moved to disconnect list.

Verify:
x301

Change-Id: I407b0115fd4dfacf2bf575f1d981e079702b8800
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
2019-07-23 17:52:49 +09:00
shihong.zheng
ebb06aed1a vdec: fix iptv vdec_sync_input error. [1/1]
PD#IPTV-2248

Problem:
too many vdec_sync_input error while stream mode play
with frame mode at same time.

Solution:
frame mode set a input ptr to VLD_MEM_VFIFO_RP, if it
do not restore the stream mode value, the input data
will be error and too many vdec_sync_input error. set
the vdec input restore to vdec_sync_input.

Verify:
S905L3

Change-Id: I62c66c250f09680f8e792e63314b711ff925b9a1
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
2019-07-23 17:52:49 +09:00
Zhao Yi
ca17754760 mh264: check I frame [1/1]
PD#SWPL-7098

Problem:
frame's Slice type is not set

Solution:
set slice type while a frame is decoded finished.

Verify:
T962X_R311

Change-Id: If024a3e49b6d5573a10f49e22e401f7d91399638
Signed-off-by: Zhao Yi <zhao.yi@amlogic.com>
2019-07-23 17:52:49 +09:00
Conglin Guo
c5a8c2a841 media_modules: single_mode play video crash [1/1]
PD#SWPL-7077

Problem:
single_mode play video  crash

Solution:
1 timer stop after cancel_work_sync.
2 Conditions established schedule_work.

Verify:
T962X2

Change-Id: Id092f27edf14a17684b8142073318c8ac91b0dcf
Signed-off-by: Conglin Guo <conglin.guo@amlogic.com>
2019-07-23 17:52:49 +09:00
nengwen.chen
793f8032a2 hardware_dmx: Remove unused code can cause memory corruption [1/1]
PD#SWPL-7378

Problem:
Removing unused code can cause memory corruption.

Solution:
Removing unused code can cause memory corruption.

Verify:
verified by x301

Change-Id: Ie50472998247a19337c5bacd16606a0bfa45aef0
2019-07-23 17:52:49 +09:00
joy rao
4a246fb265 vdec: add force no-secure even process drmmode for vmx [1/1]
PD#SWPL-1822

Problem:
Usually in drmmode VDEC is allowed only can access secure.
vmx ultra hls is played in  drmmode and uses hw demux. Hw
demux will parse es data to nosecure. Then VDEC will read invalid data
and decoding failed.

Solution:
Force setup no-secure when vmx hls is played.

Verify:
S905d

Change-Id: I5771ecb403a71bc6ebced5c485de40e4583561a5
Signed-off-by: joy rao <joy.rao@amlogic.com>
2019-07-23 17:52:49 +09:00
shihong.zheng
788bf2b1c0 mmpeg12: fixed closed caption disorder. [1/1]
PD#SWPL-4186

Problem:
mpeg2 display cc abnormal.

Solution:
drop old cc data when dec_result is DEC_RESULT_AGAIN.

Verify:
x301

Change-Id: I88d25d1defb6b10cbf5790ab8691e9a95c58e510
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
2019-07-23 17:52:49 +09:00
jintao xu
173bf5a8dd encoder: bringup sm1 and tm2. [1/1]
PD#SWPL-6373

Problem:
1.bringup sm1.
2.bringup tm2.

Solution:
1.modify the operation of the DOS power on/off
to compatible with soc sm1/tm2.
2.fix sm1 265 encoder cannot init driver

Verify:
AC200 & AB311

Change-Id: If8bfff5ac558cff7e93f1c48ea6eef0592427753
Signed-off-by: jintao xu <jintao.xu@amlogic.com>
2019-07-23 17:52:49 +09:00
Chuangcheng Peng
8b7704805e dvb: tm2 support hiu1 [1/2]
PD#SWPL-6806

Problem:
    tm2 support hiu1 in bringup

Solution:
   tm2 support hiu1 in bringup

Verify:
   veify at AB301

Change-Id: If158788a29b6e96395cb2f546276f516c1cb7a0b
Signed-off-by: Chuangcheng Peng <chuangcheng.peng@amlogic.com>
2019-07-23 17:52:49 +09:00
Conglin Guo
4614ea7532 media_modules: timeout_process trigger softlockup crash [1/1]
PD#SWPL-6395

Problem:
timeout trigger softlockup.

Solution:
1 amvdec_stop,adjust timeout HZ to HZ/10,Cancel
  the  timeout warning.
2 First clear timeout, after amvdec_stop Reduce
  frequent triggers timeout_process.

Verify:
T962X2

Change-Id: I5312786395db30fdb511d6e980f20e4ed466c3c1
Signed-off-by: Conglin Guo <conglin.guo@amlogic.com>
2019-07-23 17:52:49 +09:00
Nanxin.Qin
959f192fd0 decode: bringup tm2. [1/2]
PD#SWPL-5261

Problem:
bringup tm2.

Solution:
1. add chip type.
2. add power ctrl for dos.

Verify:
AC200

Change-Id: Ie8360008d03f34cca43a066f88773f54d1246978
Signed-off-by: Nanxin.Qin <nanxin.qin@amlogic.com>
2019-07-23 17:52:49 +09:00
Hui Zhang
1cd271f6fa avs2: fix avs2 decoder error issue on G12B. [1/1]
PD#SWPL-7004

Problem:
avs2 decoding failed on G12B. root cause is line rdma
irq enable which will side effect hevc decoding.

Solution:
fix hsync problem
ucode gerrit: 71546
ucode commit id: 707b473ad8384673ceff432daf94a6cf25501018

Verify:
W400

Change-Id: Ib67e8ea629399b481ecbb87893866ba8803cfaf4
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
2019-07-23 17:52:49 +09:00
Hui Zhang
eb8aa86061 media_module: fix kasan check issue [1/2]
PD#SWPL-6847

Problem:
1) mpeg2/mjpeg multi instance alloc issue
2) mpeg2/mpeg4/mjpeg multi-instance kasan check failed

Solution:
1) use valloc instead of kzalloc
2) fix kasan check issue

Verify:
x301

Change-Id: I1bd207f46b87f081269514cacd994e805f5248d3
2019-07-23 17:52:49 +09:00
Hui Zhang
9be50aa0fc media_module: remove mpeg12_multi run ready debug print
Change-Id: Idef7f92a0536da08aa3f71bb21db392a4bf8f3f4
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
2019-07-23 17:52:49 +09:00
Conglin Guo
dedaac4de4 vmh264: fix channel switching system hangup issue in vmh264 remove [1/1]
PD#SWPL-6729

Problem:
hw bus dead lock in vmh264 remove.

Solution:
wait for decoder hw stopped completely before vmh264 remove

Verify:
X301

Change-Id: I1f41bf40630d7b56a6722cdb93d63df48dc29c63
Signed-off-by: Conglin Guo <conglin.guo@amlogic.com>
2019-07-23 17:52:49 +09:00
Rong Zhang
e299d162c4 media_module: mh264 [1/1]
PD#SWPL-6853

Problem:
	code section size for mh264 in ucode is nearly exhaust.

Solution:
	Parse sei data in c driver and get correct pic_struct for each field.
	ucode gerrit id: 54486
	ucode change id: I931ab485c4be0344c20648369dd32a172c542c3f

Verify:
	Verified T962X2-X301

Change-Id: I43f4a6b81b08c5f40ea82d881918fe0421dee7a6
Signed-off-by: Rong Zhang <rong.zhang@amlogic.com>
2019-07-23 17:52:49 +09:00
Rong Zhang
8dd9f4c08b media_module: h264/mpeg2/h265 [1/2]
PD#SWPL-3654

Problem:
	provide aspect_ratio information by AMSTREAM_IOC_VDECSTAT

Solution:
	add ration_control information in vdec_status function for
	h264/mh264/vh265/mpeg12/mmpeg12, and normalized it for
	aspect_ratio in AMSTREAM_IOC_VDECSTAT message.

Verify:
	Verified U212

Change-Id: Idec14dc61a1df48d84a3de051f5b23c6e8993a02
Signed-off-by: Rong Zhang <rong.zhang@amlogic.com>
2019-07-23 17:52:49 +09:00
Rong Zhang
f7a7e516b9 media_module: mh264/h265/avs2 [2/2]
PD#SWPL-6607

Problem:
	Not support QOS information for mh264.h265,avs2

Solution:
	Support QOS information picking for mh264,h265,avs2
	Support QOS information access interface by ioctl

Verify:
	Verified franklin

Change-Id: I630a9d9ca3541ae6329d58b028e7f6d4d3b7f94f
Signed-off-by: Rong Zhang <rong.zhang@amlogic.com>
2019-07-23 17:52:49 +09:00
renjiang.han
7a15a8818e vdec: remove ppmgr [1/1]
PD#SWPL-6794

Problem:
ppmgr cannot receive amlvideo.

Solution:
remove ppmgr.

Verify:
On S922x

Change-Id: I79eae25e11a03203ffc1aad732bc50064e982e30
Signed-off-by: renjiang.han <renjiang.han@amlogic.com>
2019-07-23 17:52:49 +09:00
Hui Zhang
4bbbe9be25 vmh264: fix progressive i_only issue [1/1]
PD#IPTV-2370

Problem:
decoding will block with progressive stream in i only mode 2

Solution:
skip slice parser and go to pic_done to search next start code directly
when slice type is not I slice.

Verify:
905L3

Change-Id: I86f2affb06cf73eecb90fc430a93fe09b0c59011
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
2019-07-23 17:52:49 +09:00
Zhao Yi
ece84e9e41 h264_multi: add UNSTABLE_PTS [4/7]
PD#SWPL-2183

Problem:
pts of avi B-Frame is error.

Solution:
Ignore the PTS of the B frame and recalculate a pts by frame duration

Verify:
t962_p321

Change-Id: I48858471429e9458dbf2873698c934a885eda1f3
Signed-off-by: Zhao Yi <zhao.yi@amlogic.com>
2019-07-23 17:52:49 +09:00
Hui Zhang
9c91b7285e vh265: pic crop info mistmatch issue[1/1]
PD#TV-3412

Problem:
pic crop info is not match at moment of resolution switching.
becuase of crop info is stored in hevc struct. which may cause
reslution is mismatch with real size. display will flick.

Solution:
store pic crop info to pic struct.

Verify:
U212

Change-Id: Iafcef2335b659286f8c3219e14f71da42d47977c
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
2019-07-23 17:52:49 +09:00
Rong Zhang
c7f2221333 media_module: mmpeg2 [1/1]
PD#SWPL-6488

Problem:
	Not support user data push to application

Solution:
	update ucode and driver to support user data push for multi-mpeg12
	ucode gerrit id: 65033
	ucode change id: I9abd700aa72f9073d581e8192fbed0277d30ce2e

Verify:
	Verified einstein

Change-Id: I9364923d5ea9c0cd6925a1cb54febcf377ee3ce4
Signed-off-by: Rong Zhang <rong.zhang@amlogic.com>
2019-07-23 17:52:49 +09:00
Hui Zhang
97a997d366 vh264: fix channel switching system hangup issue in vh264 remove [1/1]
PD#SWPL-6377

Problem:
hw bus dead lock in h264 remove.

Solution:
wait for decoder hw stopped completely before h264 remove

Verify:
X301

Change-Id: Ia3555e687ecfe452948922d3e221c0fae0ad499d
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
2019-07-23 17:52:49 +09:00
Nanxin.Qin
e61469d472 firmware: fixed issue of playback h264. [2/2]
PD#SWPL-5261

Problem:
the wrong building for h264.

Solution:
1. fixed issue of playback h264.
2. ucode commit id:
   59f2de9e64980a9240b7a72e8a171bdf9d7c41ab

Verify:
X301

Change-Id: Ic45aa022ae706d31f1ebfc007dab65585f989e5c
Signed-off-by: Nanxin.Qin <nanxin.qin@amlogic.com>
2019-07-23 17:52:49 +09:00
Chuangcheng Peng
de73f552ff dvb: bringup for sm1 [1/2]
PD#SWPL-6244

Problem:
sm1 add dsc sm4/isda,demux cascade

Solution:
change code for sm4/isda,dmx cascade

Verify:
verify at sm1

Change-Id: Ia89c408d90b24e7c52512efefb7a3a3e93b70f89
Signed-off-by: Chuangcheng Peng <chuangcheng.peng@amlogic.com>
2019-07-23 17:52:49 +09:00
Conglin Guo
18eec68951 media_modules: g12b:Distinguish g12b vera verb [1/1]
PD#SWPL-5259

Problem:
Distinguish g12b  ver b ver a.

Solution:
Distinguish g12b  ver b ver a.

Verify:
g12a vera verb

Change-Id: I9ae2890384d245933fcccce6d574366714599b25
Signed-off-by: Conglin Guo <conglin.guo@amlogic.com>
2019-07-23 17:52:49 +09:00
Conglin Guo
a82c7b53df media_modules: sync VLD_VIFIFO_WP PARSER_VIDEO_WP [1/1]
PD#SWPL-5841

Problem:
decoder VLD_VIFIFO_WP PARSER_VIDEO_WP no sync

Solution:
sync VLD_VIFIFO_WP PARSER_VIDEO_WP

Verify:
T962X2-X301

Change-Id: Id481d7757fb8f6ca4eacd9c504f7201f8eaf4995
Signed-off-by: Conglin Guo <conglin.guo@amlogic.com>
2019-07-23 17:52:49 +09:00
Nanxin.Qin
f5311f1968 decoder: bringup sm1. [1/2]
PD#SWPL-5261

Problem:
bringup sm1.

Solution:
1. add cpu chipid sm1.
2. modify the operation of the DOS power on/off
   to compatible with soc sm1.
3. ucode commit id:
   6e4fda861bcf23d1bb01f4a8c2fe516219e818c7

Verify:
AC200

Change-Id: I386a324bae2d78e4d66f9adeeb23f898b4cccc61
Signed-off-by: Nanxin.Qin <nanxin.qin@amlogic.com>
2019-07-23 17:52:49 +09:00
renjiang.han
7b0d11f009 path: add ppmgr [4/5]
PD#TV-2649

Problem:
There is no ppmgr in the path.

Solution:
add ppmgr in the path.

Verify:
on u212

Change-Id: If930b1ed868fe319b6baa8d285a605ef2c3ff075
Signed-off-by: renjiang.han <renjiang.han@amlogic.com>
2019-07-23 17:52:49 +09:00
kunpeng.tang
bb5df58fec H.265: fix vpu resume issue [1/1]
PD#SWPL-5533

Problem:
system crashed in vpu resume

Solution:
Only vpu open_ref_count more than zero,do resume

Verify:
g12b_w400

Change-Id: I9c2cd6242482293499ffddfea5309e5072014eba
Signed-off-by: kunpeng.tang <kunpeng.tang@amlogic.com>
2019-07-23 17:52:49 +09:00
Hui Zhang
d115248cd6 vmh264: fix video flicker issue when stream error [1/1]
PD#SWPL-5826

Problem:
DVB vmh264 playback will appears video flicker when back to
start playback, it's dpb innoemal when stream error. output
poc is not in sequence.

Solution:
flush dpb first when dpb has error. avoid dpb error data inside

Verify:
X301

Change-Id: Ib8a56c6d4b269a4961e500786939ebc5ea92ed45
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
2019-07-23 17:52:49 +09:00
shihong.zheng
5b3ba51692 vc1: fix vc1 error reset crash. [1/1]
PD#SWPL-6287

Problem:
vc1 crash in error reset code.

Solution:
add a work queue schedule for error reset.

Verify:
x301

Change-Id: I61a91d3bb0a004d242b11dd6d50eea80822ef332
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
2019-07-23 17:52:49 +09:00
shihong.zheng
eedbd88bc0 mpeg4: unsupport resolution limit. [1/1]
PD#TV-3382

Problem:
mpeg4 unsupport resolution which bigger than 1080p.

Solution:
check and limit the resolution in probe.

Verify:
x301

Change-Id: I7b4ea8c707e4f488eb5f3a3886686de272894f37
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
2019-07-23 17:52:49 +09:00
rongrong zhou
160fc47de1 mpeg12: do not use p frame pts for some stream [1/1]
PD#SWPL-4402

Problem:
play not smooth

Solution:
do not use P frame pts

Verify:
Verify on X301

Change-Id: I70b91506d1ecdc9baf8c66a27b706416a769bac6
Signed-off-by: rongrong zhou <rongrong.zhou@amlogic.com>
2019-07-23 17:52:49 +09:00
shihong.zheng
46bee0efb6 amstream: adjust vdec connect timming. [1/1]
PD#SWPL-5888

Problem:
too many vdec_sync_input error print.

Solution:
1. remove vdec_connect befer other hw initial.
2. vdec_disconnect before parser wp/rp reset in tsdemux.

Verify:
x301

Change-Id: I7b8909496918a581d48a09deefad58cb1ce0e0f4
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
2019-07-23 17:52:49 +09:00
Hui Zhang
6bacff146c vmh264: fix frame mode playback not smooth issue [1/1]
PD#SWPL-5926

Problem:
In frame mode and frmbase_cont_bitlevel > 0 case. with some stream
driver will finish search start code until H264_SEARCH_BUFEMPTY. it
will cost 2+ vsync time. decoder will be blocked. actually, in frame mode
decoder don't need to wait for timeout. decoder should return with
H264_SEARCH_BUFEMPTY once bitlevel is very low.

Solution:
skip search start code vsync timeout wait in frame mode

ucode gerrit: 63873 63932

Verify:
X301

Change-Id: Id7a8f08aef41c16f00b56745ac8ffbced632e97e
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
2019-07-23 17:52:49 +09:00
shihong.zheng
79ec5f6b31 vc1: oversize vc1 streams limit. [1/1]
PD#TV-3303

Problem:
played vc1 oversize stream cause sys no response.

Solution:
limit oversize vc1 stream.

Verify:
x301

Change-Id: Ifc75c1025b2bd81642b5659feffdd42111a286d8
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
2019-07-23 17:52:49 +09:00
peter wang
f60ee39d4c vmh264: fix alloc memory failed on cts accuracy test [1/1]
PD#SWPL-5281

Problem:
test cts android.media.cts.DecodeAccuracyTest have failed cases

Solution:
disable mmu when using ionvideo

Verify:
verified on local

Change-Id: I41a0ec051810369a69f2a7dce29fb6a913593445
Signed-off-by: peter wang <peter.wang@amlogic.com>
2019-07-23 17:52:49 +09:00
nengwen.chen
5641b6a214 hardware_dmx: add multi tuner attach [3/3]
PD#TV-1539

Problem:
add multi tuner attach.

Solution:
add multi tuner attach.

Verify:
verified by x301

Change-Id: I93cbd50d24b58f6c00e206d05965cf848c32e25a
Signed-off-by: nengwen.chen <nengwen.chen@amlogic.com>
2019-07-23 17:52:49 +09:00
Nanxin Qin
b4a6ee08b6 decode: fixd the bug of the vdec add frame. [1/2]
PD#SWPL-4597

Problem:
1. Probabilistic full-screen display mosaic after seek 8K H265
2. the wrong of the write point caused to flush cache area is error.

Solution:
corrected the error of flush cache range.

Verify:
X301

Change-Id: I946a488329d02bc21f40546ac7185818e3f2f3ff
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
2019-07-23 17:52:49 +09:00
Tao Guo
6987242bf5 media_module: add atrace print [1/1]
PD#SWPL-4956

Problem:
Need atrace to debug multimedia issue

Solution:
Add atrace prints

Verify:
P212

Change-Id: Idd414734dd88223c3640878be26a82991f44a880
Signed-off-by: Tao Guo <tao.guo@amlogic.com>
2019-07-23 17:52:49 +09:00
Peng Yixin
e946533f48 media_module: add function to statistics video fps [1/1]
PD#SWPL-1885

Problem:
    We need a function to statistics video fps.

Solution:
    Add a function to statistics video fps

Verify:
    Verified U212

Change-Id: I626af8dec92df3c4bc68de33e6db387137137660
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
2019-07-23 17:52:49 +09:00
shihong.zheng
516dd11a82 mmpeg2: fix mmpeg2 field & frame struct stream mosaic. [1/1]
PD#SWPL-5838

Problem:
mmpeg2 decoded pic display mosaic.

Solution:
ucode check and wait second field decode finish.
ucode gerrit_id: 63055

Verify:
x301

Change-Id: I2783b6de2f15598efc7be29d9b48951e00e89c57
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
2019-07-23 17:52:49 +09:00