Commit Graph

654008 Commits

Author SHA1 Message Date
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
Jian Xu
05957f1255 adec: clear up the uio interface
PD#166264

Change-Id: I74241eb9844a8642e33084f502d79c690a6cd000
2019-07-23 17:52:49 +09:00
rongrong zhou
b3a170d087 amvdec_ports: fix vdec_h264_if dpb size calculation errors.
PD# 173402

dpb size error

Change-Id: Ia1fcb6c689f4a9663065a38bf1bd04499366d5f8
Signed-off-by: rongrong zhou <rongrong.zhou@amlogic.com>
2019-07-23 17:52:49 +09:00
shihong.zheng
a4d634c06a mh264: parse vui info for buffer number calculation
PD#173030: vmh264: parse vui info max_dec_frame_buffering to
calc reorder_pic_num when bitstream_restriction_flag is enabled.

Change-Id: Ib14e54be3f5149cf4150ac63fe66d88171c14c2b
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
2019-07-23 17:52:49 +09:00
Nanxin Qin
fdfd1e23b1 amvdec_ports: fixed the build err with the kernel 32bit.
PD#170885

Change-Id: I2d4ed2e0dc2497190f00e24e96b28223d675c0dc
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
2019-07-23 17:52:49 +09:00
Nanxin Qin
683ef21d17 amvdec_ports: optimize some codes of the v4l vcodec.
PD#170885

1. support the h264 decoding with multi-instance.
2. the reference count of clk mux has't clean was fixed.
3. replace capture worker to thread process.
4. optimize the machine status of the vcodec.
5. remover some locks unnecessary to promote efficiency.
6. the picture infos used to vda that was fixed.

Change-Id: I061ebdc088c8c7e14eab73032308715da5f4aafb
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
2019-07-23 17:52:49 +09:00
Peng Yixin
8a1571bf31 media_module: h265: fast output the first I frame
PD#172137:
the first I frame output when decoder statu is HEVC_DECPIC_DATA_DONE.

Change-Id: Ib6625b670268b8d9c251c05e261a137199677f6c
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
2019-07-23 17:52:49 +09:00
Hui Zhang
d2a0e21fa9 media_module: support 264 mmu for G12A
PD#169065: add 264 mmu support for G12A

ucode gerrit: 47098

Change-Id: I8b0b97005c2f6d9b19a271dab258c014c06bd4e0
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
2019-07-23 17:52:49 +09:00
Hui Zhang
b81f149cde media_module: fix MAX_BUF_NUM redefine issue
PD#166415: vp9: fix MAX_BUF_NUM MACRO redefine issue

Change-Id: I54370f682cf6ddfd24d25ef450f2c5b74e944337
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
2019-07-23 17:52:49 +09:00