Commit Graph

654016 Commits

Author SHA1 Message Date
Rong Zhang
cfd91cae22 Revert "media_module: h264 [1/1]"
This reverts commit af5e395542ebd9478abbcbca4ebd1acec0adf288.

Change-Id: I0d24901aba3651d9f32ebae4277595c57c768aba
2019-07-23 17:52:49 +09:00
Rong Zhang
da1f2d5c6d media_module: h264 [1/1]
PD#SWPL-596

Problem:
	Support User data push for H264 Single-instance

Solution:
	1. Add user data push handler for h264
	2. get correct user data buffer address for mh264
	   and mpeg2 for 32/64 Bit version

Verify:
	Verified Einstein

Change-Id: If09a4240c512dcb13426fc88d0d3696ac3d8dd4e
Signed-off-by: Rong Zhang <rong.zhang@amlogic.com>
2019-07-23 17:52:49 +09:00
yan yan
3cd8d40691 media_module: Teletext make kernel unstable. [1/1]
PD#SWPL-2509

Problem:
Ring buffer pointer may become null.

Solution:
Add judgement.

Verify:
Local build. R311

Change-Id: Ia3329bd91503b6d137b21a6e82fe2ca8380d087b
Signed-off-by: yan yan <yan.yan@amlogic.com>
2019-07-23 17:52:49 +09:00
Yinming Ding
b62bf43787 media_module: fix last few seconds of the DD+ stream are not smooth [1/4]
PD#SWPL-714

Problem:
The last few seconds of the DD+ stream are not smooth by DTV playback.

Solution:
check the apts and vpts both discontinue,then replay.

Verify:
P321

Change-Id: I125a64905623ad639b5e96089e6650dfcb96607b
Signed-off-by: Yinming Ding <yinming.ding@amlogic.com>
2019-07-23 17:52:49 +09:00
Conglin Guo
23c3b1b555 media_modules: special p video play jagged [1/1]
PD#SWPL-265

Problem:
special p video play jagged

Solution:
1.special p video force interlace

Verify:
T962 P321

Change-Id: I9f82bb8649d31166d9847dec59e5c75080d63d21
Signed-off-by: Conglin Guo <conglin.guo@amlogic.com>
2019-07-23 17:52:49 +09:00
Conglin Guo
374cd016ee media_modules: avs reset decoder stop [1/1]
PD#SWPL-2480

Problem:
avs reset decoder stop

Solution:
1. avs reset  remove vdec reset code

Verify:
T962 P321

Change-Id: I92dbb9b1bfa49f3d2f08d9fda6670a595bb91d97
Signed-off-by: Conglin Guo <conglin.guo@amlogic.com>
2019-07-23 17:52:49 +09:00
Rong Zhang
701bfb72fd Revert "media_module: mh264 [1/1]"
This reverts commit dfa0cc3ed4dcd483a15703ca8c972c606239a337.

Change-Id: I2ba9b92aaeb276032a2c006e905a53a8c2800adf
2019-07-23 17:52:49 +09:00
Rong Zhang
b2ef5b9f41 media_module: mh264 [1/1]
PD#IPTV-311

Problem:
	decode a 4K mbaff video file will produce many random
	mosaic frame

Solution:
	Add mbaff macro decode timing support for multi-instance
	for 4.9 Kernel
	ucode gerrit id:55144

Verify:
	Verified ampere

Change-Id: I9f027331dfb449a362f5d947bc9f60b4f7a9a36f
Signed-off-by: Rong Zhang <rong.zhang@amlogic.com>
2019-07-23 17:52:49 +09:00
Peng Yixin
c6e1f95014 media: Video Peek function need support VP9 format: [1/1]
PD#SWPL-2304

Problem:
Video Peek function need support VP9 format.

Solution:
Video Peek function supported VP9 format.

Verify:
Verified p241

Change-Id: I49cec0054eb4694ee7872bc696bacad057b9b2f0
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
2019-07-23 17:52:49 +09:00
Jian Wang
17bdb39393 vp9: add txl do not support vp9 [1/2]
PD#SWPL-2301

Problem:
txl do not support vp9 can build vp9 component
duo to vts fail

Solution:
do not add vp9 profile on txl

Verify:
verify on p321

Change-Id: Id738adbdaf61f395da439428afb000245425d237
Signed-off-by: Jian Wang <jian.wang@amlogic.com>
2019-07-23 17:52:49 +09:00
shihong.zheng
49a8500a7c decoder: force 8k no compress and optimize vp9 code for tl1 [1/1]
PD#SWPL-36

Problem:
display cannot support 8k compress.

Solution:
1.force double write 2 for tl1 8K vp9;
2.force tl1 h265 double write 3 no compress;
3.optimized vp9 avs2 tl1 code.
4.add 8k to profile info.

Verify:
X301

Change-Id: If496a0efb9cf9c87b0123aaab6f6b78981858e73
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
2019-07-23 17:52:49 +09:00
Hui Zhang
f7b23df1a1 media_module: fix vp9/h265 double write only(0x10) issue [1/1]
PD#SWPL-896

Problem:
1) vp9/h265 double write only mode doesn't work with mmu ucode
2) double write flag bug in decoder driver probe

Solution:
1) change code to support double write only mode with mmu ucode
2) fix double write flag bug

Verify:
QA verify

Change-Id: I544d49547238545303cd090541ff6effd1606863
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
2019-07-23 17:52:49 +09:00
shihong.zheng
e541f1aa96 avs: reset vdec core when error reset [1/1]
PD#SWPL-1235

Problem:
pc bad value in kernel panic after change source

Solution:
vdec reset core when avs error reset

Verify:
need verify by t962-p321 as jira description.

Change-Id: I490980c43dd4c3de28af01021b3cb0b82d4e151c
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
2019-07-23 17:52:49 +09:00
Hui Zhang
d5597dc409 media_module: optimize buf_available check condition in mh264 [1/1]
PD#SWPL-1617

Problem:
On S805X, back end performance is not good. easy to cause
bufmgr reset and cts  failed.

Solution:
optimize buf_available checkcondition to avoid reset.

Verify:
Verified P241

Change-Id: I98c7e9ad8a8c31e0f97c26f5130952d4308756bb
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
2019-07-23 17:52:49 +09:00
Hui Zhang
3926ee9b6d media_module: fix fw teeload status issue in vmh264 [1/1]
PD#SWPL-2284

Problem:
 there is issue in vmh264 fw teeload. which cause decoding fail.
REG_G status should be saved for each instance

Solution:
saved reg_g at each instance ctx

Verify:
Verified P241

Change-Id: I7ff11951a7c53f360dfdae9a8605180f28c7bb4b
2019-07-23 17:52:49 +09:00
kunpeng.tang
32c779b23e media_modules: encoder: fix compile error [1/1]
PD#SWPL-2270

Problem:
warnings being treated as errors

Solution:
fix int-conversion

Verify:
verify local

Change-Id: I33d0375ff2bd9b2dd52deccf56c6a5565830717f
Signed-off-by: kunpeng.tang <kunpeng.tang@amlogic.com>
2019-07-23 17:52:49 +09:00
kunpeng.tang
75ab7af1ed media_modules: encoder: fix kernel panic in encoder module [1/1]
PD#SWPL-2270

Problem:
when do camera record on ampere P,platform stuck and reboot,
kernel panic in encoder module

Solution:
change phys_to_virt to codec_mm_phys_to_virt;
dma_flush to codec_mm_dma_flush

Verify:
verify by ampere P

Change-Id: I04002587a0683473a6609d3a89176a5cebd3260e
Signed-off-by: kunpeng.tang <kunpeng.tang@amlogic.com>
2019-07-23 17:52:49 +09:00
Hui Zhang
3b5848f74e media_module: fix netflix test video freeze issue [1/1]
PD#SWPL-809

Problem:
in stream mode, decoder drivers with again check will be always in run_ready state.
because of again_threshold not reach. but acutally there is enough data in vbuf.
decoding hang up

Solution:
sync input buf status once again check appears

Verify:
QA test on ampere

Change-Id: I72dc98461865f296fe0c625f8ca60a11561976ac
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
2019-07-23 17:52:49 +09:00
Chuangcheng Peng
84fbdcbe33 dvb:fixed subtitle memory invalid issue[1/1]
PD# SWPL-2268

Problem:
open subtitle, memory invalid and crash

Solution:
change phys_to_virt to codec_mm_phys_to_virt

Verify:
verify on P321 android p

Change-Id: I165bb708945c28cc20c2aaf21ce4b04517556a54
Signed-off-by: Chuangcheng Peng <chuangcheng.peng@amlogic.com>
2019-07-23 17:52:49 +09:00
shihong.zheng
711917ca2a decoder: fix too much get status failed. [1/1]
PD#SWPL-2241

Problem:
too much print like below,
"amstream_do_ioctl error :ffffffed, c02053c3"

Solution:
set dec_status return 0 in multi-dec driver.

Verify:
Verify by x301

Change-Id: Ibd07e487706176b5c6a316ce48234b608112d0ce
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
2019-07-23 17:52:49 +09:00
Zhi Zhou
b4627f5d56 media: license: modify to GPL [1/1]
PD#SWPL-2111

    Problem:
    license source files error

    Solution:
    modify to GPL

    Verify:
    verify by locally

Change-Id: Iccce6436b1e110c97ecff8cd3be264b03bbe11cf
Signed-off-by: Zhi Zhou <zhi.zhou@amlogic.com>
2019-07-23 17:52:49 +09:00
Peng Yixin
487fa3c88b media_module: fix some coverity error: [1/1]
PD#SWPL-2053

Problem:
    Coverity detected some code defects.

Solution:
    Fixed these code defects.

Verify:
    Verified u212

Change-Id: I715b4565cd55608e087cd82aff7f36b2f06c8546
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
2019-07-23 17:52:49 +09:00
Nanxin Qin
efea3c59cf decoder: checked init state before reads the vdec status. [1/1]
PD#SWPL-2142

Problem:
the kernel maybe crash when swicthed the src channel

Solution:
checked init state before reads the vdec status

Verify:
p321

Change-Id: I3b9fc2128615c5b6151915baecb0516a7ebca2f4
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
2019-07-23 17:52:49 +09:00
Nanxin Qin
7603fd817e decoder: fixed build err for buildroot. [1/1]
PD#SWPL-1909

Problem:
fixed build err for builroot.

Solution:
fixed build err for builroot.

Verify:
p321

Change-Id: Ib470b9299abd853e8dbf4e4f91e56c8b8544a430
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
2019-07-23 17:52:49 +09:00
Jian Wang
fb6581fc97 media: license: modify to GPL [1/1]
PD#SWPL-2111

Problem:
license source files error

Solution:
modify to GPL

Verify:
verify by locally

Change-Id: I77dc054ec4501dd3fb65079a8f437fcc8c3d144f
Signed-off-by: Jian Wang <jian.wang@amlogic.com>
2019-07-23 17:52:49 +09:00
Jian Wang
89b1ff42a0 media: add copyright license [1/1]
PD#SWPL-2111

Problem:
no license source files

Solution:
add license header

Verify:
verify by locally

Change-Id: Ia7fe71853a86dc4665a642643a1ac9f1ad8cf6ec
Signed-off-by: Jian Wang <jian.wang@amlogic.com>
2019-07-23 17:52:49 +09:00
Nanxin Qin
eba9cc8b79 media_modules: remap the highmem addr to prevent crash on the kernel 32bit [2/2]
PD#SWPL-1909

Problem:
mem rw exception caused crashed.

Solution:
1. add mapping the highmem address by the func vmap().
2. remove the flag CODEC_MM_FLAGS_CPU if not necessary.

Verify:
p212, w400

Change-Id: Id2904331098eef7245e9949619840dcb20d16b4b
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
2019-07-23 17:52:49 +09:00
shihong.zheng
bcd96d9ce9 media_module: fixed tl1 bringup bugs [1/1]
PD#SWPL-36

Problem:
hevc 8k mosaic on tl1-x301

Solution:
1. tl1 hevc clk run in 800Mhz default;
2. fix hevc 8k mosaic;
3. decrease hevc 8k mem consume.

Verify:
verified on x301, u212

Change-Id: Idfcce363a0a8da8e63c46a4204dc3e123474c9e5
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
2019-07-23 17:52:49 +09:00
shihong.zheng
43daee674f media_modules: fixed cannot run multi dec [1/2]
PD#SWPL-1964

Problem:
multi play seized up.

Solution:
fix fw load failed in multi dec

Verify:
veryfy by u212

Change-Id: Icc90e171f46b3137375456298bc8562917d4efa3
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
2019-07-23 17:52:49 +09:00
Renjiang Han
0ceb223ea4 H264_encoder: add case of ge2d for bgr [2/2]
PD#SWPL-1977

Problem:
Hardware coding does not support bgr

Solution:
Convert bgr to rgb using ge2d

Verify:
local

Change-Id: I9e246a0ae99a35c36fb92bb9c17ea63726bb5d28
Signed-off-by: Renjiang Han <renjiang.han@amlogic.com>
2019-07-23 17:52:49 +09:00
shihong.zheng
f5ac21ece5 h264: fixed s805x halt begin decode
PD#156197: h264: set the s805x vdec clk to 333Mhz when
start decode, and set to normal clk after decoded 30 frames.

Change-Id: I08261af396f2b99af3e1a610a68967eef58b695f
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
2019-07-23 17:52:49 +09:00
Rong Zhang
ec56c30577 VDEC: AVS2 [1/1]
PD#174425

Problem:
	Support AVS2 on G12A and GXLX2 for multi-instance

Solution:
	1. ucode support AVS2 HDR information push ucode
	   gerrit id:47825
	2. AVS2 C Driver support multi-instance
	3. fix buffer leakage issue due to multi-task reentry
        4. add stream buf empty check
	5. This patch was merged in gerrit 52448, but dure to
	   the fault of ucode launcher, it was revered in
	   gerrit:53708. The ucode launcher fault has been
	   resolved in bug SWPL-670 with commit: 8546160f1. And
	   now, we recommit this patch with new ucode.bin

Verify:
	Verified U212

Change-Id: I5d9b60546ef8ac4371ae19f68b0281b4d69cfd1f
Signed-off-by: Rong Zhang <rong.zhang@amlogic.com>
2019-07-23 17:52:49 +09:00
Hui Zhang
5e886ee2fe media_module: fix 264 4k mmu stream mode playback issue [1/1]
PD#SWPL-949

Problem:
1) with some 264 4k stream,  mmu doesn't  work in stream mode
2) there is no secure access right in 4k mmu

Solution:
1) fixed access rights issue in uboot in 264 mmu mode
2) disable 264 4k mmu mode

Verify:
Verified u212

Change-Id: I7b610581d96e017101a1b0a3ff7745e1b1c51b4c
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
2019-07-23 17:52:49 +09:00
Hui Zhang
cbb101b4ee media_module: optimization for vdec schedule debug and fw load[1/1]
PD#SWPL-895

Problem:
optimization for vdec schedule debug and fw load

Solution:
1) change vdec_core_thread priority
2) add reload flag in vdec to check if reload fw at every run
3) add mc_type to check if fw need reload at every run

Verify:
Verified p212

Change-Id: Ic14f14831bf59d913450228ba07e0f94dde5347e
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
2019-07-23 17:52:49 +09:00
Rong Zhang
26b35ddcdd VDEC: HEVC [1/1]
PD#SWPL-869

Problem:
        Notified HDR10+ message to receiver

Solution:
	1. parse sei data to check hdr10+ data header
        and then change transfer_characteristic to
	0x30 in signal_type for each picture.
	2. add video_signal_type debug infomation

Verify:
        Verified U212

Change-Id: Ibcc65e624c2c82304fbda1b0ab02a603e975bd27
Signed-off-by: Rong Zhang <rong.zhang@amlogic.com>
2019-07-23 17:52:49 +09:00
shihong.zheng
1bba286120 media_modules: mh264: keep last frame while reset decoder [1/2]
PD#OTT-71

Problem:
google cast display green lump when seek.
bufmgr reset after seek opration.

Solution:
keep the normal pic before reset and free buffer;

Verify:
U212, Atom

Change-Id: I0b1d21fb73ed8e7b2bf9815b53e0832444f1e41a
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
2019-07-23 17:52:49 +09:00
Hui Zhang
e29ec06326 media_module: fix h265 playback bug on s805X [1/1]
PD#SWPL-1020

Problem:
h265 decoder report over size failed when play 1080/720 stream

Solution:
fix check 4k limit bug in ucode
ucode gerrit: 53789

Verify:
QA test on P241

Change-Id: I9a7c876dcfa06b100778c05def75d9c04bfdd81f
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
2019-07-23 17:52:49 +09:00
Rong Zhang
15710f5ea0 media_module: vp9 [1/1]
PD#SWPL-971

Problem:
	youtube play 4k60 vp9 video file, Serious
	frame loss

Solution:
	entend decode buffer number to 12

Verify:
	Verified Ampere

Change-Id: I876c16e3b45eebda2640260ceab84c093463abfe
Signed-off-by: Rong Zhang <rong.zhang@amlogic.com>
2019-07-23 17:52:49 +09:00
Rong Zhang
85df393120 Revert "VDEC: AVS2 [1/2]"
This reverts commit 1899bb901336d36074694f80f552d4e0f4bda630.

Change-Id: I1a8878a21e7b00d323df527ed12be15e05ef2a74
2019-07-23 17:52:49 +09:00
Rong Zhang
2f3f2d09aa VDEC: AVS2 [1/2]
PD#174425

Problem:
	Support AVS2 on G12A and GXLX2 for multi-instance

Solution:
	1. ucode support AVS2 HDR information push ucode
	   gerrit id:47825
	2. AVS2 C Driver support multi-instance
	3. fix buffer leakage issue due to multi-task reentry
        4. add stream buf empty check

Verify:
	Verified U212

Change-Id: I28998ac9f7a66fa8738afdbc812bcc1ca7436b24
Signed-off-by: Rong Zhang <rong.zhang@amlogic.com>
2019-07-23 17:52:49 +09:00
Chuangcheng Peng
1f8afba3b0 DVB:fix g12a can't record ts issue [1/1]
PD# SWPL-479

Problem:
dvr function will cause crash

Solution:
open async_fifo init function

Verify:
verify by u200 at android p.

Change-Id: I97812b2241d5857646e19230232805fa4b39849f
Signed-off-by: Chuangcheng Peng <chuangcheng.peng@amlogic.com>
2019-07-23 17:52:49 +09:00
Zhi Zhou
7a7cb8c898 vmh264: fixed crash bug.when no virt addr.
PD#172483: if reserved mem is not maped;
	must check the memory before used.

Change-Id: Ie6955059c73858e071c6d3b13e0698d659e6891a
Signed-off-by: Zhi Zhou <zhi.zhou@amlogic.com>
2019-07-23 17:52:49 +09:00
shihong.zheng
24e759113f media_modules: tl1 bringup changes [1/3]
PD#SWPL-520

Problem:
tl1 bringup changes

Solution:
1. add tl1 cpu type
2. hevc decoder support 8k
3. replace get_cpu_type() with get_cpu_major_id()
ucode commitid:
d9582c3a6697c25d81b706d41d20d8908158ef9f

Change-Id:
Iac3a5f20698277d3f7f500fba6a27b88f6ac5839

Verify:
p212, w400

Change-Id: Iac3a5f20698277d3f7f500fba6a27b88f6ac5839
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
2019-07-23 17:52:49 +09:00
live.li
4d1f1ffb27 media_module: adec: 32bit&64bit kernel compatible [1/1]
PD#SWPL-841

Problem:
 R311 32bit kernel audio cant output

Solution:
 R311 32bit kernel adec driver can't get
 cbus base addr correct, fix it

Verify:
   R311 32bit kernel

Change-Id: Ia6da4726aa49078e8d1a65002bde17555601728d
Signed-off-by: live.li <live.li@amlogic.com>
Signed-off-by: Jian Xu <jian.xu@amlogic.com>
2019-07-23 17:52:49 +09:00
Peng Yixin
a20dfbc252 media_module: h265: [1/1]
PD#174220

Problem:
After analyzing SPS, we found the value of sps_num_reorder_pics_0 is 0.
it is an error value, cause video play block.

Solution:
if it value is 0, we will set 7 for pass cts test.

Verify:
Verified S905X2

Change-Id: Iff03ec4448f687d4fca2de2dbf3210cb65a90568
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
2019-07-23 17:52:49 +09:00
Yao.Liu
72b294a41b media_module: vp9/h265: add save buf mode [2/2]
PD#173436 PD#SWPL-349

Problem:
not enought codec mm for cts decoder test which
running in both none-nativewindow and nativewindow mode

Solution:
reduce omx output buffer and decoder buffer for gsi

Verify:
QA verified

Change-Id: I7cf120722c42db2ed75cc09e25a3fbb34cdf9598
Signed-off-by: Yao.Liu <yao.liu@amlogic.com>
2019-07-23 17:52:49 +09:00
Peng Yixin
be3f6f1bd9 media_module: mpeg2 vh264: [1/1]
PD#173066

Problem:
have some KASAN bug

Solution:
fixed user-memory-access defect.

Verify:
Verified S905X

Change-Id: Ic4fc16d512d1a7bd14a0df9901ae9e6e201bb8a7
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
2019-07-23 17:52:49 +09:00
Lifeng Cao
49859761b1 media_module: fix issue of div_s64 usage on 32bit kernel
PD#174336: vp9&avs2: fix issue of div_s64 usage

Change-Id: I351c8d1a93a38585da0d4ed0760bd6c7905f5f3f
Signed-off-by: Lifeng Cao <lifeng.cao@amlogic.com>
2019-07-23 17:52:49 +09:00
Hui Zhang
63b5b63e7f media_module: add debug level limit for hdr info
Change-Id: I6c9f1bc8f66366b1859230886978409880c9b621
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
2019-07-23 17:52:49 +09:00
Peng Yixin
5f4c8b5445 media_module: h265: fix video play block issue.
PD#174220:

After analyzing SPS, we found the value of sps_num_reorder_pics_0 is 0, it is an error value, which also caused the video play block.

Change-Id: I6e6d9bccf1284977f64fed9805fd329749fe020c
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
2019-07-23 17:52:49 +09:00