GitHub/LineageOS/G12/android_hardware_amlogic_kernel-modules_media.git
4 years agodemux: dsc source enable [1/1]
Chuangcheng Peng [Fri, 3 Apr 2020 06:06:44 +0000 (14:06 +0800)]
demux: dsc source enable [1/1]

PD#SWPL-23541

Problem:
  REE set dsc source don't work in time.

Solution:
  add set dsc source work in time.

Verify:
  irdeto cas verify.

Change-Id: I761b6c18a68fbc35dcf6d26e75cb3a0904a9c1a2
Signed-off-by: Chuangcheng Peng <chuangcheng.peng@amlogic.com>
4 years agoasyncfifo: secure dvr IRQ used external buf size [1/1]
pengfei.liu [Thu, 16 Apr 2020 16:06:22 +0000 (00:06 +0800)]
asyncfifo: secure dvr IRQ used external buf size [1/1]

PD#SWPL-23704

Problem:
Record 4K secure content may have error data

Solution:
1. increase Secure buffer size to 2M
2. DVR IRQ used external buffer size

Verify:
Android 10 + AC214

Signed-off-by: pengfei.liu <pengfei.liu@amlogic.com>
Change-Id: I335597a4c76f620405a40b7d600ccf9ecbe16164

4 years agovc1: fixed the crash when some vc1 video ff. [1/1]
shilong.yang [Tue, 21 Apr 2020 02:46:33 +0000 (10:46 +0800)]
vc1: fixed the crash when some vc1 video ff. [1/1]

PD#SWPL-24046

Problem:
fast forward vc1 video, crash happened.

Solution:
reset vdec status when resume.

Verify:
TM2

Change-Id: I12b46fcaf11ed17bf52068de8d2b5822b089e1e8
Signed-off-by: shilong.yang <shilong.yang@amlogic.com>
4 years agovdec: 805 add di support [1/1]
jintao xu [Wed, 1 Apr 2020 08:58:38 +0000 (16:58 +0800)]
vdec: 805 add di support [1/1]

PD#SWPL-23335

Problem:
805 not support di

Solution:
vfm add di

Verify:
p212

Change-Id: I87a61909f748b1723a8c015587db876b9f8a0d9b
Signed-off-by: jintao xu <jintao.xu@amlogic.com>
4 years agovdec: add kpi trace log. [2/3]
jianchuan.ping [Fri, 13 Mar 2020 06:33:59 +0000 (14:33 +0800)]
vdec: add kpi trace log. [2/3]

PD#SWPL-21061

Problem:
Missing trace log in vdec module for kpi purpose

Solution:
Add trace log in video decoder driver including
H264-MultiInstance
H265
Mpeg12-MultiInstance

Verify:
AC214

Change-Id: I0177e571fdcc5064c1af9fc35be30962e386b775
Signed-off-by: jianchuan.ping <jianchuan.ping@amlogic.com>
4 years agovmh264: fix video jitter bug [1/1]
miaohong chen [Thu, 16 Apr 2020 02:57:27 +0000 (10:57 +0800)]
vmh264: fix video jitter bug [1/1]

PD#SWPL-24276

Problem:
Interlaced stream jitter.

Solution:
This type of stream consists of a pack of two fields
and a pack of single fields.
When the second field is the same as the pts of the first field,
the display module will drop the second field, causing jitter.
The pts of the second field needs to be set to 0,
and the display module reconstructs the pts
through duration / 2 to output the second field.

Verify:
u212

Change-Id: I53b0c4104c5e21a98423e49bb27831b1e9b20e11
Signed-off-by: miaohong chen <miaohong.chen@amlogic.com>
4 years agoh265: fix hevc interlace video freeze. [1/1]
shihong.zheng [Thu, 19 Mar 2020 06:35:58 +0000 (14:35 +0800)]
h265: fix hevc interlace video freeze. [1/1]

PD#OTT-9097

Problem:
hevc interlace video freeze after seek or
stress test.

Solution:
use max dec pic num for hevc interlace.
fix vf ref consume abnormal.

Verify:
u212

Change-Id: I4810130e05d10f14d637b455ff4880f1dde758bc
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agoopes: 8 bytes lost in the end of opes [1/1]
Zhiqiang Han [Thu, 26 Mar 2020 10:47:24 +0000 (18:47 +0800)]
opes: 8 bytes lost in the end of opes [1/1]

PD#SWPL-23950

Problem:
lost 8 bytes of data in ob buf,
as the wr ptr is used continuously,
the lost always occurs at the end of filtering.

Solution:
use the correct wr ptr.

Verify:
project verify

Change-Id: Id1c6a372fba4bf72b34902e81027b65c5b457a0a
Signed-off-by: Zhiqiang Han <zhiqiang.han@amlogic.com>
4 years agodvb: add variable to control section monitor [1/1]
Chuangcheng Peng [Wed, 15 Apr 2020 09:36:36 +0000 (17:36 +0800)]
dvb: add variable to control section monitor [1/1]

PD#OTT-9397

Problem:
 play video, it do not smooth.

Solution:
 monitor section, some stream will reset dmx
 it will cause video that don't smooth, add variable
 to control, default disable.

Verify:
 not verify.

Change-Id: I53e044a6765581ed16b011e0712b6acd7369d6a4
Signed-off-by: Chuangcheng Peng <chuangcheng.peng@amlogic.com>
4 years agodemux: fixed ts3 serial use s2p not work [1/1]
Chuangcheng Peng [Tue, 7 Apr 2020 05:05:28 +0000 (13:05 +0800)]
demux: fixed ts3 serial use s2p not work [1/1]

PD#TV-16787

Problem:
tsin_c serial input not work.

Solution:
correct to use s2p.

Verify:
verify at T962X3-AB301

Change-Id: I47c69fbb1ac00be535fbd448271a0a3068912b85
Signed-off-by: Chuangcheng Peng <chuangcheng.peng@amlogic.com>
4 years agomedia_modules: add jpeg encoder [1/1]
Rico Yang [Fri, 20 Mar 2020 16:08:27 +0000 (00:08 +0800)]
media_modules: add jpeg encoder [1/1]

PD#SWPL-18749

Problem:
tm2 needs hw jpeg encoder

Solution:
porting jpeg encoder driver

Verify:
verified on t962x3 ab301

Change-Id: I8c0d537c44cd7e9589b8d78d9647b7a74186af39
Signed-off-by: Rico Yang <wei.yang@amlogic.com>
4 years agoav1: fix 8k too many memory consume. [1/1]
shihong.zheng [Mon, 13 Apr 2020 13:03:18 +0000 (21:03 +0800)]
av1: fix 8k too many memory consume. [1/1]

PD#SWPL-24045

Problem:
8k av1 too many scatter alloc from sys, cause
out of memory and reboot.
av1 unsupport seek.

Solution:
1. av1 support seek;
2. optimize mv buffer alloc size;
3. change max pic width or height when no config from omx;
4. vcodec profile support av1 8k;
5. reduce some buffers for 8K play.

Verify:
ab311

Change-Id: I21e735049e5600fa95cd80c8434bda7e317ea777
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agofw: fixed the warning of KASAN. [1/1]
Nanxin Qin [Wed, 15 Apr 2020 07:49:41 +0000 (15:49 +0800)]
fw: fixed the warning of KASAN. [1/1]

PD#SWPL-24231

Problem:
slab-out-of-bounds in get_firmware_data

Solution:
the wrong of raw data size that include header size,
It caused out of bounds for read buffer.

Verify:
AB301

Change-Id: I324dac8b9db79a4c92555840b1a5298a4511b551
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agodmx: Do timeshift than FF,the progress bar time display error. [1/2]
hualing chen [Tue, 7 Apr 2020 08:04:44 +0000 (16:04 +0800)]
dmx: Do timeshift than FF,the progress bar time display error. [1/2]

PD#SWPL-23655

Problem:
get delay time error.

Solution:
1.init vpts first vpts.
2.reset vpts first vpts when reset channel.

Verify:
verified on 214.

Change-Id: I6db97e2a0be6aa4270892a173b5e33f5deb36400
Signed-off-by: hualing chen <hualing.chen@amlogic.com>
4 years agomedia_modules: modify tuner and demod attach struct [2/3]
nengwen.chen [Fri, 10 Apr 2020 06:28:38 +0000 (14:28 +0800)]
media_modules: modify tuner and demod attach struct [2/3]

PD#SWPL-23756

Problem:
1.modify tuner and demod attach struct.

Solution:
1.modify tuner and demod attach struct.

Verify:
Verified by tl1, tm2, sm1.

Signed-off-by: nengwen.chen <nengwen.chen@amlogic.com>
Change-Id: I25bd9859553144c6a71f11c05aaabe0d4b093d71

4 years agomedia_modules: add some variables for driver interface [1/2]
apollo.ling [Sat, 14 Mar 2020 06:46:04 +0000 (14:46 +0800)]
media_modules: add some variables for driver interface [1/2]

PD#SWPL-21057

Problem:
some variable values obtained from the new driver interface are abnormal

Solution:
add the missing variables for driver interace

Verify:
x301,u212

Change-Id: I8d99820e7afcba2acd2adb39af7aa83911293f26
Signed-off-by: apollo.ling <apollo.ling@amlogic.com>
4 years agoav1: av1 support dv frame mode. [1/2]
shihong.zheng [Thu, 26 Mar 2020 07:30:04 +0000 (15:30 +0800)]
av1: av1 support dv frame mode. [1/2]

PD#SWPL-22440

Problem:
av1 support frame mode dolby vision.

Solution:
add av1 dv deivece and set dvbl provide name
when dual flag.
add without display node for debug.

Verify:
ab311

Change-Id: I7b4f154ca565b8dd0ff8e91071fe030cdb4bdb98
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agoav1: fix av1 mosaics. [1/1]
shihong.zheng [Wed, 8 Apr 2020 02:27:43 +0000 (10:27 +0800)]
av1: fix av1 mosaics. [1/1]

PD#SWPL-23681

Problem:
av1 video mosaics both compress and dw picture.

Solution:
TM2_REVB_FORCE_PALETTE_CLK_ON for tm2 revb.
defined is for TM2_REVB chip only. no need for other chips.
gerrit id: 104752
change id: I20bb44
commit id: c2b25e5

Verify:
tm2 revb ab311

Change-Id: Id3b5f955efcc5253d19fb13554a35783dc3ff015
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agovdec: secure add di [1/1]
jintao xu [Tue, 31 Mar 2020 09:31:49 +0000 (17:31 +0800)]
vdec: secure add di [1/1]

PD#SWPL-23144

Problem:
secure not di

Solution:
secure vfm add di

Verify:
AC-214

Change-Id: I3ccab38b3178a29445ed651b43c046491de81e8f
Signed-off-by: jintao xu <jintao.xu@amlogic.com>
4 years agofw: fixed issue of loading faild on aosp. [1/1]
Nanxin Qin [Wed, 8 Apr 2020 06:42:19 +0000 (14:42 +0800)]
fw: fixed issue of loading faild on aosp. [1/1]

PD#SWPL-23530

Problem:
fixed issue of loading faild on aosp.

Solution:
the dup feature default size is 0, we must be reset the
value after parser the fw data.

Verify:
ab311

Change-Id: If7b36ca3b91ec81499da4f49ff5cff6385524035
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agoRevert "Vp9: Garbage picturen appears at the begin [1/1]"
Hui Zhang [Wed, 8 Apr 2020 06:58:46 +0000 (22:58 -0800)]
Revert "Vp9: Garbage picturen appears at the begin [1/1]"

This reverts commit 0d6cc485a7aea8bd01e01504f2067f5af37550b5.

Change-Id: I2931f79d892a0b6426b4cfebe86b98ba39b119b7

4 years agoVp9: Garbage picturen appears at the begin [1/1]
Gan Zhang [Wed, 25 Mar 2020 08:22:48 +0000 (16:22 +0800)]
Vp9: Garbage picturen appears at the begin [1/1]

PD#SWPL-21296

Problem:
When double write is 3, because the keep in mem_head_handle is the
compressed data header and there is no keep to yuv data,
the display before starting to play is dirty data.

Solution:
Change the data in mem_head_handle to yuv data.

Verify:
U212

Change-Id: I0e867152079c704173878a3c7bd939c62b141b44
Signed-off-by: Gan Zhang <gan.zhang@amlogic.com>
4 years agovdec: clean up debug log. [1/1]
joy.rao [Wed, 8 Apr 2020 04:07:49 +0000 (12:07 +0800)]
vdec: clean up debug log. [1/1]

PD#SWPL-23474

Problem:
need clean up some debug log

Solution:
clean up debug log.

Verify:
u212

Change-Id: I066ddec0a660062ed977992f997c213757adf847
Signed-off-by: joy.rao <joy.rao@amlogic.com>
4 years agodecoder: fix ff/fb for mpeg4&mpeg12&h265 format is abnormal. [1/2]
yanan.wang [Thu, 19 Mar 2020 11:39:31 +0000 (19:39 +0800)]
decoder: fix ff/fb for mpeg4&mpeg12&h265 format is abnormal. [1/2]

PD#SWPL-23122

Problem:
when ff/fb for mpeg4&mpeg12&h265 on trick mode is abnormal.

Solution:
add mpeg4&mpeg12&h265 TRICKMODE_I function.

Verify:
u212

Change-Id: If378a1d0d85f7212316d6c15ceff6becd0130071
Signed-off-by: yanan.wang <yanan.wang@amlogic.com>
4 years agofw: update ucode package video_ucode_v0.2.bin. [1/1]
Nanxin Qin [Mon, 16 Mar 2020 08:51:06 +0000 (16:51 +0800)]
fw: update ucode package video_ucode_v0.2.bin. [1/1]

PD#SWPL-23530

Problem:
it is the reason that the memory for secure os is not enough, we have to
optimize the size of firmware TA and ucode package, the version 0.2 is a
new design for ucode manager and save space of storage.

Solution:
updata ucode package of version 0.2.
ucode commit: e6fe92e9dabf13e6cc2d095d98e7d938cc811c8a

Verify:
p212, ac214

added duplicate feature to remove firmware redundancy to save storage space.

Change-Id: Ibcaca6e46e2c5c15ecfad4d308c87caf29047fca
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agoav1: fix av1 frame mode pts wrong. [1/1]
shihong.zheng [Sat, 4 Apr 2020 07:36:46 +0000 (15:36 +0800)]
av1: fix av1 frame mode pts wrong. [1/1]

PD#SWPL-23502

Problem:
1.av1 frame mode pts wrong and not fluency.
  flash noisy on picture.
2. av1 use vp9 words.

Solution:
1. clear input chunks pts after used, so the remain
   frame in one packet will set pts 0. buffering input
   chunks pts, and use it when the output pic pts is 0.
2. replace vp9 to av1 in av1 driver.

Verify:
ab311

Change-Id: Ib1a4063c9aafc1307bdc2c5912005daf26af6681
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agovh265: fix frame output issue [1/1]
Hui Zhang [Sun, 5 Apr 2020 06:01:03 +0000 (14:01 +0800)]
vh265: fix frame output issue [1/1]

PD#SWPL-23636

Problem:
commit 98920 introduce this issue. first frame
will be output twice with same vf. because
first frame pic->num_reorder_pic was set to 0
by fast output. next output check will use
this flag and output it again.
which also cause cts and autotest fail

Solution:
for first output,using hevc->sps_num_reorder_pics_0
to check fast output

Verify:
AB311

Change-Id: I89ba47b7295b737325aa738caba273398177fe47
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
4 years agov4l2: fix kernel panic after EOS [1/1]
Song Zhao [Thu, 20 Feb 2020 05:43:28 +0000 (21:43 -0800)]
v4l2: fix kernel panic after EOS [1/1]

PD#SWPL-20924

Problem:
After EOS, if there are still frames in dpb, vdec_v4l2_buffer can not be
fetched from vframe. Because rest flow already clear all buffer_specs[].

Solution:
Check for valid v4l_mem_handle

Verify:
U212

Change-Id: I6e22f538bbe01b258acf2b2f6cb5411fdc89e1c4
Signed-off-by: Song Zhao <song.zhao@amlogic.com>
4 years agohwdmux: add parser mediaconfig [2/2]
rongrong zhou [Thu, 2 Apr 2020 07:53:53 +0000 (15:53 +0800)]
hwdmux: add parser mediaconfig [2/2]

PD#SWPL-22965

Problem:
can not get stb pts

Solution:
add parser mediaconfig to get pts

Verify:
AC214

Signed-off-by: rongrong zhou <rongrong.zhou@amlogic.com>
Change-Id: I1f0cccc63ecc45cd470de2145d810a601c853a8e

4 years agoav1: fix some av1 issues [1/1]
shihong.zheng [Wed, 1 Apr 2020 02:51:28 +0000 (10:51 +0800)]
av1: fix some av1 issues [1/1]

PD#SWPL-18751

Problem:
1. av1 dv get meta data wrong;
2. play av1 pending;
3. hdr video_signal_type and metadata support.

Solution:
1. fix set metadata wrong and support hdr
metadata upload.
2. get video_signal_type from ucode.
3. waiting dma done and waiting more at end of frame.
ucode gerrit id: 103792
ucode commit id: e6fe92e9d

Verify:
ab311

Change-Id: I785b5c3cb0da3d708c4b42c3d995f5a6763a5575
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agov4l2: buffer not returned in DMABUF mode [1/1]
Song Zhao [Wed, 1 Apr 2020 20:48:10 +0000 (13:48 -0700)]
v4l2: buffer not returned in DMABUF mode [1/1]

PD#SWPL-23493

Problem:
aml_recycle_dma_buffers() is only called when aml_vdec_worker() is
schedule. If all buffers are queued into output port, application will
have no extra output buffer to trigfer aml_vdec_worker(). It will lead
to freed buffer inside input->vframe_block_free_list can not be returned
to application.  Thus, deadlock.

Solution:
Trigger aml_recycle_dma_buffers when capture buffer is dquened.

Verify:
U212

Change-Id: I8314bced72abc715ed371ce503976d4b447d9037
Signed-off-by: Song Zhao <song.zhao@amlogic.com>
4 years agov4l: fixed the issue of enum framesize. [1/1]
Nanxin Qin [Tue, 31 Mar 2020 10:38:32 +0000 (18:38 +0800)]
v4l: fixed the issue of enum framesize. [1/1]

PD#SH-2866

Problem:
can not playback 4k source on the platform linux.

Solution:
1. add type of picture format for enum frameszie.
2. change the value of stepwise to avoid pic size not match.

Verify:
w200

Change-Id: I336dea84062f79e3cd2d875cfb64bf4781cfa8de
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agoav1: fix av1 av out of sync issue in frame mode. [1/1]
Hui Zhang [Wed, 1 Apr 2020 05:45:03 +0000 (13:45 +0800)]
av1: fix av1 av out of sync issue in frame mode. [1/1]

PD#SWPL-18571

Problem:
av1 av out of sync in frame mode

Solution:
use duration to cal new pts for NON-KEYFRAME, because
multi-frames in one packet might cause frame vpts is missed

Verify:
ab311

Change-Id: Id77cabcbe7940afc2a9056251b37073272e9d11c
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
4 years agoav1: fix av1 decode timeout and crash. [1/1]
shihong.zheng [Mon, 30 Mar 2020 10:02:35 +0000 (18:02 +0800)]
av1: fix av1 decode timeout and crash. [1/1]

PD#SWPL-23300

Problem:
av1 decode timeout and crash.

Solution:
check pic_config null value.
timeout return when isr process busy.
disable timeout for mosaic issue.

Verify:
ab311

Change-Id: Ib55dd451e198aaab42d15f5611837fe7377c59eb
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agov4l: mpeg2 support parse of parms sets by ucode for v4l codec. [2/2]
Peng Yixin [Thu, 12 Mar 2020 09:13:44 +0000 (17:13 +0800)]
v4l: mpeg2 support parse of parms sets by ucode for v4l codec. [2/2]

PD#SWPL-21525

Problem:
mpeg2 need to support parse of parms sets by ucode.

Solution:
1.mpeg2 support parse of parms sets by ucode.
2.Optimize the v4l2 code
3.Ucode parser is set by default.
ucode gerrit : 101628
ucode commit id: be19953

Verify:
u212

Change-Id: I284c9750c118edc607ea72c8ff5a94d196dfc529
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
4 years agoh264: sps info wrong in ucode [1/1]
Hui Zhang [Tue, 31 Mar 2020 01:13:40 +0000 (09:13 +0800)]
h264: sps info wrong in ucode [1/1]

PD#SWPL-23224

Problem:
sps info was wrong write to sps base. because
missing a write lmem after parser . so following
info is wrong

Solution:
add this write lmem for correct sps memory locate
ucode gerrit : 103386
ucode commit id: 616d7

Verify:
U212

Change-Id: I51790e1e0ae441168d64d7e8359072e9ac32d031
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
4 years agov4l: fixed the issue of crash on multi-inst when the app exit. [1/1]
Nanxin Qin [Wed, 25 Mar 2020 10:35:49 +0000 (18:35 +0800)]
v4l: fixed the issue of crash on multi-inst when the app exit. [1/1]

PD#SH-3015

Problem:
Exit double decoder playback  cause system reboot

Solution:
1. have an issue with waiting decoding ending thas has fixed.
2. we must be ensure the job statue switched when invoke m2m pause.
3. to protect the list of capture thread.

Verify:
u212

Change-Id: I389b541d48b3460ef004a89df921f88cf6bee196
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agov4l: Resolve resolutions change at the end of a file [1/1]
Peng Yixin [Wed, 18 Mar 2020 07:35:45 +0000 (15:35 +0800)]
v4l: Resolve resolutions change at the end of a file [1/1]

PD#SWPL-23321

Problem:
Resolutions change at the end of a file, it cause playback stuck or
exit playback.

Solution:
Add eos events to distinguish between resolution change event.

Verify:
u212

Change-Id: Iec972284d7a0f3ad6cfac6375efa16e1b5c7b87e
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
4 years agoav1: fix the film grain double write block problem. [1/1]
shihong.zheng [Mon, 30 Mar 2020 03:29:27 +0000 (11:29 +0800)]
av1: fix the film grain double write block problem. [1/1]

PD#SWPL-18751

Problem:
film grain stream will be block when decode second frame.

Solution:
avoid using a reg which inuse.
gerrit id: 103421
commit id: d59479f2b

Verify:
ab311

Change-Id: I5b2eadd9cbd72980b3123091a029cb5787f4a2ba
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agoav1: fix multi frame in one packet. [1/1]
shihong.zheng [Fri, 27 Mar 2020 02:28:49 +0000 (10:28 +0800)]
av1: fix multi frame in one packet. [1/1]

PD#SWPL-18751

Problem:
av1 frame mode mosaic. multi frames in
one packet.

Solution:
continue decode next frame for the remaining
data in the packet.

Verify:
ab311

Change-Id: I6311d8aa8ea7ac724d96c1b64aca82f1605a9d1c
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agovav1: fix film grain 10bit video decode timeout. [1/1]
shihong.zheng [Thu, 26 Mar 2020 02:58:31 +0000 (10:58 +0800)]
vav1: fix film grain 10bit video decode timeout. [1/1]

PD#SWPL-18751

Problem:
film grain 10bit mosaic and some frames decode timeout.

Solution:
wait film grain status read done.
gerrit id: 103068
commit id: 8ec5c842

Verify:
ab311

Change-Id: I018f8c972863364840504976e4b473475e54d929
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agompeg12: close debug print log. [1/1]
shihong.zheng [Mon, 23 Mar 2020 11:57:00 +0000 (19:57 +0800)]
mpeg12: close debug print log. [1/1]

PD#SWPL-22905

Problem:
mpeg12 too many debug print log.

Solution:
change print level for debug log.

Verify:
X301

Change-Id: Ic3f53c47f2f810081ce6da241e2ef516357cc8aa
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agovdec: remove vdec from connected_vdec_list before release it [1/1]
apollo.ling [Wed, 25 Mar 2020 08:09:54 +0000 (16:09 +0800)]
vdec: remove vdec from connected_vdec_list before release it [1/1]

PD#TV-16434

Problem:
When timeout happens both in vdec_disconnect and platform_device_unregister,
we release the vdec, but the vdec still in connected_vdec_list

Solution:
remove vdec from connected_vdec_list before release it

Verify:
X301

Change-Id: I6d732213a4929b2ba718d92bfb64a3e3d154551b
Signed-off-by: apollo.ling <apollo.ling@amlogic.com>
4 years agoav1: porting av1 dv and fg code. [1/1]
shihong.zheng [Sat, 21 Mar 2020 07:41:05 +0000 (15:41 +0800)]
av1: porting av1 dv and fg code. [1/1]

PD#SWPL-18751

Problem:
tm2 revb av1 bringup.

Solution:
porting from Rain's code, gerrit id: 95109, Patch Set 15.
1. support dolby meta data, enable MCRCC_ENABLE, use allocated mv buffer;
2. set vf->fgs_valid, can dump film grain table.

Verify:
tm2 revb ab311

Change-Id: I9d722df135bdc81fd9ee464f05200c3ea60a9ef8
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agovh265: add ip mode for low-latency [1/1]
Hui Zhang [Sat, 15 Feb 2020 05:40:46 +0000 (13:40 +0800)]
vh265: add ip mode for low-latency [1/1]

PD#SWPL-22820

Problem:
decoder latency is too big for ip only application

Solution:
add ip mode in 265 decoder for low-latency improvement.
if reorder_num = 0 in stream. decoder will handle in
ip mode.
disable_ip_mode is control node to disable ip_mode.
disable_ip_mode is 0 by default

Verify:
AC214

Change-Id: Ie8326b90d6b0f77c12410602f5705aacee03f4e1
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
4 years agovav1: add stream offset for pts lookup [1/1]
Hui Zhang [Tue, 24 Mar 2020 05:37:50 +0000 (13:37 +0800)]
vav1: add stream offset for pts lookup [1/1]

PD#SWPL-18751

Problem:
duration is not correct and AV not sync

Solution:
add stream offset for pts lookup

Verify:
AB311

Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
Change-Id: I71f3274b6d855744135588af7754c6721f5bf24b

4 years agomedia_module: fixed playback stuck issue [1/1]
Yixin Peng [Tue, 10 Mar 2020 02:05:33 +0000 (10:05 +0800)]
media_module: fixed playback stuck issue [1/1]

PD#SWPL-21645

Problem:
When input data insufficient and decoder does not
work properly, timeout was not in effect.

Solution:
Modify the logic to make the timer work properly.

Verify:
U212

Change-Id: I49a4c3571e7611bd5c953c2d5349786a3e4582bd
Signed-off-by: Yixin Peng <yixin.peng@amlogic.com>
4 years agoadd more buf for av1 decoder
Hui Zhang [Sun, 22 Mar 2020 12:20:57 +0000 (20:20 +0800)]
add more buf for av1 decoder

Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
Change-Id: I959ebc9b489981f7b340c988b04dd04e21a4b571

4 years agovmh264: fixed h264 ar changed issue. [1/2]
Hui Zhang [Thu, 19 Mar 2020 05:50:31 +0000 (13:50 +0800)]
vmh264: fixed h264 ar changed issue. [1/2]

PD#SWPL-22711

Problem:
h264 ratio be changed wrongly by driver

Solution:
use a tmp variable for h264_ar in dec_status()

Verify:
u212

Change-Id: I2c37ca127936c63ffd3857609f533e51a6aa8eff
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
4 years agodecoder: add tm2 revb bringup code. [2/3]
shihong.zheng [Thu, 12 Mar 2020 07:48:25 +0000 (15:48 +0800)]
decoder: add tm2 revb bringup code. [2/3]

PD#SWPL-18751

Problem:
tm2 revb decoder bringup.

Solution:
1. add new dmc reg define for tm2 revb.
2. add AV1 decoder driver code.

Verify:
tm2 revb ptm

Change-Id: I08f760049de2b926f14721ea53f8578d7b28b178
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agompeg12: improve mpeg12 buf use cnt. [1/1]
shihong.zheng [Mon, 2 Mar 2020 08:11:11 +0000 (16:11 +0800)]
mpeg12: improve mpeg12 buf use cnt. [1/1]

PD#OTT-8694

Problem:
mpeg12 mosaic and freeze.

Solution:
separate buf use cnt and reference pic count.

Verify:
ac-200

Change-Id: Ia9668e706e51cef8775e6b48137290c94fdf76bd
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agodmx: more info for CRC fail [1/1]
Zhiqiang Han [Thu, 12 Mar 2020 04:23:49 +0000 (12:23 +0800)]
dmx: more info for CRC fail [1/1]

PD#SWPL-22300

Problem:
got nothing from CRC fail

Solution:
print pid who's CRC fail

Verify:
Patchbuild

Change-Id: Ied406616e2d81a97d3b8569fac3a60c2d1cd19d2
Signed-off-by: Zhiqiang Han <zhiqiang.han@amlogic.com>
4 years agosubtitle: reset subtitle parser in dmx reset [1/1]
Zhiqiang Han [Wed, 4 Mar 2020 09:41:32 +0000 (17:41 +0800)]
subtitle: reset subtitle parser in dmx reset [1/1]

PD#SWPL-22300

Problem:
The parser,
will be operated in driver dmx and amstream,
which must be carefully maintained
with its buf ptr.
The reset procedure among dmx and amstream,
destroyed the buf ptr.

Solution:
reset the buf ptr in dmx

Verify:
Patchbuild

Change-Id: Idc080e4bbba1f30d44193a02f23996d3b62f767d
Signed-off-by: Zhiqiang Han <zhiqiang.han@amlogic.com>
4 years agompeg2: fixed the issue of picture type error. [1/1]
Nanxin Qin [Mon, 16 Mar 2020 06:45:02 +0000 (14:45 +0800)]
mpeg2: fixed the issue of picture type error. [1/1]

PD#SWPL-22217

Problem:
the picture format type has not be set caused display abnormal.

Solution:
the picture format type be set to NV21 default.

Verify:
u212

Change-Id: I3da7bf50cca874f2304d1757606daa1c8af1c907
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agoh265: fix some hevc interlace issue. [1/1]
shihong.zheng [Mon, 16 Mar 2020 02:47:02 +0000 (10:47 +0800)]
h265: fix some hevc interlace issue. [1/1]

PD#OTT-8900

Problem:
hevc interlace display half picture.
hevc interlace double write 3 configed.

Solution:
1. set double write mode 1 for hevc interlace.
2. set hevc->double_write_mode valid when set
0x8000000x > double_write_mode.
3. set vdec status height x2 for hevc interlace.

Verify:
u212

Change-Id: I80f041902baad1204ce86b4bbbd8c073bec0b3cb
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agomedia_modules: H265 seek operation crash [1/1]
Peng Yixin [Tue, 3 Mar 2020 02:12:15 +0000 (10:12 +0800)]
media_modules: H265 seek operation crash [1/1]

PD#SWPL-21997

Problem:
H265 video file seek operation crash.
1.Memory freed is still being used
2.The number of buffers calculated by the
decoder driver and v4l2 is inconsistent.

Solution:
1.Free memory correctly
2.The number of buffers calculated by the
decoder driver and v4l2 stay the same.

Verify:
AC214

Change-Id: Idaee66c8a4e0dbf63d493555e224b15c131dcb64
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
4 years agomedia_module: mh264 avoid to use cache to do dma [1/1]
apollo.ling [Wed, 11 Mar 2020 15:02:32 +0000 (23:02 +0800)]
media_module: mh264 avoid to use cache to do dma [1/1]

PD#SWPL-19513

Problem:
in mh264 driver. the dma may use cache which may incur memory violation.

Solution:
in mh264 driver. use dma_alloc_coherent instead.

Verify:
X301

Change-Id: Id0a601178eb5873a0b803133bcc022388063646d
Signed-off-by: apollo.ling <apollo.ling@amlogic.com>
4 years agoamstream: CTC need support IPTV Player event. [4/4]
wenjie.chen [Thu, 9 Jan 2020 02:54:34 +0000 (10:54 +0800)]
amstream: CTC need support IPTV Player event. [4/4]

PD#SWPL-18534

Problem:
CTC need support IPTV Player event report to middleware
from amstream.

Solution:
CTC support IPTV Player event report to middleware
from amstream.

Verify:
u212

Change-Id: I0c66beb988b7cd6166aa0c4d2092af1d47c236b8
Signed-off-by: wenjie.chen <wenjie.chen@amlogic.com>
4 years agodecoder: set cap_pix_fmt in vidioc_vdec_s_fmt [1/1]
Song Zhao [Thu, 12 Mar 2020 17:31:27 +0000 (10:31 -0700)]
decoder: set cap_pix_fmt in vidioc_vdec_s_fmt [1/1]

PD#SWPL-21954

Problem:
vidioc_vdec_g_fmt() is not the correct place to set this fmt

Solution:
set cap_pix_fmt in vidioc_vdec_s_fmt()

Verify:
U212 with v4l2-uvm-test

Change-Id: I6174c872cb459ee7e1236d0af5dbdbbdfbd6f8ba
Signed-off-by: Song Zhao <song.zhao@amlogic.com>
4 years agoamstream: add IPTV Player event report to middleware from amstream. [2/2]
yanan.wang [Mon, 24 Feb 2020 10:54:04 +0000 (18:54 +0800)]
amstream: add IPTV Player event report to middleware from amstream. [2/2]

PD#SWPL-21119

Problem:
support AmlProbe feature to AndroidQ.

Solution:
add IPTV Player event report to middleware from amstream.

Verify:
u212

Change-Id: Ifa0fd5accbf2beb17ff660801b4021688284aec3
Signed-off-by: yanan.wang <yanan.wang@amlogic.com>
4 years agodecoder: resolve UV revertion issue for NV12 [1/1]
Nanxin Qin [Wed, 11 Mar 2020 11:19:37 +0000 (19:19 +0800)]
decoder: resolve UV revertion issue for NV12 [1/1]

PD#SWPL-21954

Problem:
Vframe->type is not correctly set for NV12

Solution:
Put NV12 format to vframe->type

Verify:
U212 with v4l2-uvm-test

Change-Id: Ib20f583605e6acec3660d871f8cd6c0ef8022b83
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agoRevert "decoder: resolve UV revertion issue for NV12 [1/1]"
Hui Zhang [Wed, 11 Mar 2020 09:43:36 +0000 (01:43 -0800)]
Revert "decoder: resolve UV revertion issue for NV12 [1/1]"

This reverts commit 3441f4085ee5c8f435863832bab372bfad4f762d.

Change-Id: If8160328fbd33c3dc73e09bb942decbd0552df81

4 years agodecoder: resolve UV revertion issue for NV12 [1/1]
Song Zhao [Sat, 29 Feb 2020 08:53:33 +0000 (00:53 -0800)]
decoder: resolve UV revertion issue for NV12 [1/1]

PD#SWPL-21954

Problem:
Vframe->type is not correctly set for NV12

Solution:
Put NV12 format to vframe->type

Verify:
U212 with v4l2-uvm-test

Change-Id: I76ea36ffc2eeea6382ead52693a8082838aa0e95

4 years agomedia_module: h264 mosaics issue [1/1]
Yixin Peng [Fri, 6 Mar 2020 10:17:46 +0000 (18:17 +0800)]
media_module: h264 mosaics issue [1/1]

PD#OTT-7437

Problem:
Because of the video file have some error,
the decoder did not filter out some masaics frames,
result show mosaic picture.

Solution:
1.Due to the video file error, the DPB buffer is flushed
when the driver logic is wrong, resulting in the
reference frame referenced by the later frame is not
correct, result show mosaic picture, remove the error
logic to solve this problems.
2.When there are some frames lost in the video file and
have frame number gap, the reference frame relationship
will be wrong and the decoding will show mosaic picture.
In this case, the decoding of the frame will be marked
wrong, to solve this problem.
3.Resolve the error in the stream file, all the frames
except for I frame were marked as wrong frames, resulting
playback unsmooth.

Verify:
u212

Signed-off-by: Yixin Peng <yixin.peng@amlogic.com>
Change-Id: I530c47ffb6c0d7f9a59143101bf7b58076eb8513

4 years agoh265: fix h265 dv crash. [1/1]
shihong.zheng [Sat, 7 Mar 2020 05:54:20 +0000 (13:54 +0800)]
h265: fix h265 dv crash. [1/1]

PD#SWPL-21687

Problem:
h265 dv crash.
some dv data will get after current frame output.
aux data will be changed when cb get aux data.

Solution:
current pic do not output after get new pic.

Verify:
u212

Change-Id: I85d56a47beb9c92b6361e644ffc5a9b8d9acf2a9
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agoh265: 8k performance improvement [2/2]
Hui Zhang [Fri, 28 Feb 2020 08:31:17 +0000 (16:31 +0800)]
h265: 8k performance improvement  [2/2]

PD#TV-14744

Problem:
8k performance limitation

Solution:
add multi-tile optimation for performance improvement

Verify:
X301

Change-Id: I5d9121869eb9e1396369175719f7e42afba63e15
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
4 years agodmx: Optimize memory of aml_dmx_hw_init(768KB) [1/1]
Zhiqiang Han [Tue, 25 Feb 2020 00:57:27 +0000 (08:57 +0800)]
dmx: Optimize memory of aml_dmx_hw_init(768KB) [1/1]

PD#SWPL-20868

Problem:
too much memory used

Solution:
optimize

Verify:
Patchbuild

Change-Id: Ic68d7f4d99cee0fc53ec104684c84b29bfba83f3
Signed-off-by: Zhiqiang Han <zhiqiang.han@amlogic.com>
4 years agomjpeg: dump mjpeg yuv from decoder. [1/1]
shihong.zheng [Sat, 8 Feb 2020 06:27:11 +0000 (14:27 +0800)]
mjpeg: dump mjpeg yuv from decoder. [1/1]

PD#SH-2447

Problem:
mjpeg display abnormal.

Solution:
add mjpeg dump yuv420 code for debug.

Verify:
u212

Change-Id: I5aaf4298063d394a8627f77b06b45ab2dd411061
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agov4l: support parse of parms sets by ucode for v4l codec. [1/1]
Yixin Peng [Tue, 11 Feb 2020 02:06:35 +0000 (10:06 +0800)]
v4l: support parse of parms sets by ucode for v4l codec. [1/1]

PD#SWPL-20308

Problem:
need to support parse of parms sets by ucode.

Solution:
support parse of parms sets by ucode.

Verify:
u212

Change-Id: I2030332303e02fd338eb5ba29f51b46b136cd7ba
Signed-off-by: Yixin Peng <yixin.peng@amlogic.com>
4 years agovmh264: fix oversize check issue [1/1]
Hui Zhang [Tue, 25 Feb 2020 02:27:28 +0000 (10:27 +0800)]
vmh264: fix oversize check issue [1/1]

PD#TV-14024

Problem:
for long time stress test with error in h264 stream.
vdec dmc voulation happened. because oversize check
including 8K, it's a mistake. maybe cause memory
polution our h264 decoder doesn't support 8K

Solution:
1) remove 8K in oversize check
2) fix vf check valid bug (not related with dmc voilation)

Verify:
T972

Change-Id: I1b5dbb395a1d77d8030fd545219f69402df6c7a5
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
4 years agovdec: add vfm path config [1/1]
miaohong chen [Wed, 26 Feb 2020 08:14:45 +0000 (16:14 +0800)]
vdec: add vfm path config [1/1]

PD#SWPL-20691

Problem:
vfm path need config in driver.

Solution:
cfg in decoder driver.

Verify:
u212

Change-Id: I1d53c514b9fdc8efcf4ad89af31d9eebb20e55ea
Signed-off-by: miaohong chen <miaohong.chen@amlogic.com>
4 years agoMerge "fw: fixed issue of slab out of bounds. [1/1]" into amlogic-4.9-dev
Hui Zhang [Wed, 26 Feb 2020 07:46:18 +0000 (23:46 -0800)]
Merge "fw: fixed issue of slab out of bounds. [1/1]" into amlogic-4.9-dev

4 years agofw: fixed issue of slab out of bounds. [1/1]
Nanxin Qin [Tue, 25 Feb 2020 11:27:07 +0000 (19:27 +0800)]
fw: fixed issue of slab out of bounds. [1/1]

PD#OTT-8429

Problem:
H.264 Video encoder fails when trying 2-way Video

Solution:
fixed issue of slab out of bounds.

Verify:
u212

Change-Id: Ia949f2b6ff47373871c93e30cf1bc8ba62f805ff
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agoucode: The h264 failed in the CTS test on AndroidQ [1/1]
Gan Zhang [Mon, 24 Feb 2020 15:47:36 +0000 (23:47 +0800)]
ucode: The h264 failed in the CTS test on AndroidQ [1/1]

PD#SWPL-21038

Problem:
On the G12A platform, the 64x720 resolution of
h264 failed in the CTS test.

Solution:
restore DCAC_DDR_BYTE64_CTL reg after reset on G12A platform.

ucode gerrit : 99693
ucode commit : f3e3bf

Verify:
U212 and AC214

Change-Id: Idcdeac086b145c663318e04e54721b39d22a93e1
Signed-off-by: Gan Zhang <gan.zhang@amlogic.com>
4 years agoMedia modules: Start play slow. [1/2]
jianchuan.ping [Fri, 14 Feb 2020 14:05:48 +0000 (22:05 +0800)]
Media modules: Start play slow. [1/2]

PD#SWPL-20222

Problem:
Pts not set correctly in AUDIO_START for tsync_abreak not correct.

Solution:
Not set tsync_abreak flag anymore.

Verify:
S905L3

Change-Id: I0ea13805582df20dc86c602e27e1be6c15b8b8dd
Signed-off-by: jianchuan.ping <jianchuan.ping@amlogic.com>
4 years agomedia_modules: add pip tunnel mode path [3/3]
shuanglong.wang [Wed, 12 Feb 2020 04:33:59 +0000 (12:33 +0800)]
media_modules: add pip tunnel mode path [3/3]

PD#SWPL-20255

Problem:
add pip tunnel mode path

Solution:
add pip tunnel mode path

Verify:
verify by buildroot

Change-Id: Ie892b72d6b2b15cc8fc088d79116beaf3ed12d34
Signed-off-by: shuanglong.wang <shuanglong.wang@amlogic.com>
4 years agov4l: fixed build err on arch 32bit.
Nanxin Qin [Tue, 25 Feb 2020 05:19:28 +0000 (13:19 +0800)]
v4l: fixed build err on arch 32bit.

PD#SWPL-20317

Problem:
android p patchbuild err.

Solution:
fixed build err on arch 32bit, dma_addr_t is
differece on the diff arch.

Verify:
u212

Change-Id: Ia9d6c6ff5e7202905326c31e02839796601fb87c
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agovmh264: add vf_valid_check function [1/1]
shengyang.lin [Mon, 24 Feb 2020 05:53:02 +0000 (13:53 +0800)]
vmh264: add vf_valid_check function [1/1]

PD#OTT-8684

Problem:
vf is null pointer cause reboot

Solution:
add a vf_valid_check to protect

Verify:
905x2 9.0

Change-Id: I2137039448aa4b9f59adee8d8307add663af713c
Signed-off-by: shengyang.lin <shengyang.lin@amlogic.com>
4 years agov4l: support drm input on model of dmabuf. [1/1]
Nanxin Qin [Tue, 11 Feb 2020 08:36:30 +0000 (16:36 +0800)]
v4l: support drm input on model of dmabuf. [1/1]

PD#SWPL-20317

Problem:
need to support drm input for use drm.

Solution:
support drm input on model dmabuf.

Verify:
u212

Change-Id: I442aced436891949a1d50d834284fcd154c2abd8
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agovdec: system reboot during channel switch [1/2]
Hui Zhang [Sat, 8 Feb 2020 01:59:52 +0000 (09:59 +0800)]
vdec: system reboot during channel switch  [1/2]

PD#SWPL-20142

Problem:
there is 2 instances during channel switch.
decoding fail in parallel_decode (vdec stream + hevc frame)
there is a race conditioni in dmc set.

Solution:
remove heve_wait_ddr in vdec_save_input_context

Verify:
AC214

Change-Id: I4a4fca88d4fa013793541cd81f08cd84fc2e2009
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
4 years agovdec: vdec add count for di NR support [2/2]
shihong.zheng [Thu, 13 Feb 2020 13:06:19 +0000 (21:06 +0800)]
vdec: vdec add count for di NR support [2/2]

PD#SWPL-19111

Problem:
no support P video NR process

Solution:
add vdec count for di NR support

Verify:
AC-214

Change-Id: If242f4500356025f8eea933c8ae52ae1756da442
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agoh265: support 12 tile width stream [2/2]
Hui Zhang [Fri, 21 Feb 2020 02:39:49 +0000 (10:39 +0800)]
h265: support 12 tile width stream [2/2]

PD#TV-14744

Problem:
 h265 10 tiles width stream playback fail

Solution:
add support for update to 12 tiles witdh in h265 stream
ucode gerrit : 99213
ucode commit id : 7a9ef

Verify:
X301

Change-Id: Id4dc35c023f43cce439e37b60fd81a99962f8aa0
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
4 years agompeg4: Play h263 video bus hang [1/1]
Hui Zhang [Thu, 20 Feb 2020 07:12:36 +0000 (15:12 +0800)]
mpeg4: Play h263 video bus hang [1/1]

PD#SWPL-20663

Problem:
When playing h263 video on TM2 platform,
the decoding hardware did not stop completely when exiting
resulting in the bus hang when writing to DMC during playback.

Solution:
Add a hardware reset when exiting.

Verify:
TM2

Change-Id: I726eebed8850732a0429794c5ed8bee64cdf0a95
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
4 years agovdec: avoid array underfollow [1/1]
apollo.ling [Thu, 20 Feb 2020 03:00:20 +0000 (11:00 +0800)]
vdec: avoid array underfollow [1/1]

PD#TV-14622

Problem:
System reboot when burn-in play 3D video

Solution:
Avoid the array underfollow.

Verify:
verified at X31A0-T950X2 project.

Change-Id: Ia1f90bc1056b3bd9accd9c10c7ae78a5e50cb1a1
Signed-off-by: apollo.ling <apollo.ling@amlogic.com>
4 years agodemux: correct ciplus bit [1/1]
Chuangcheng Peng [Tue, 18 Feb 2020 12:51:44 +0000 (20:51 +0800)]
demux: correct ciplus bit [1/1]

PD#SWPL-20857

Problem:
demux data lost when switch scrambled channels

Solution:
correct ciplus bit.

Verify:
 verify at ZTE/Magecable project

Change-Id: I814563e408f2790a470bb4e9e899b82d61520a7a
Signed-off-by: Chuangcheng Peng <chuangcheng.peng@amlogic.com>
4 years agomedia_modules: optimize the loading of demod and tuner [2/3]
nengwen.chen [Tue, 14 Jan 2020 11:56:54 +0000 (19:56 +0800)]
media_modules: optimize the loading of demod and tuner [2/3]

PD#SWPL-20095

Problem:
1.optimize the loading of demod and tuner.

Solution:
1.optimize the loading of demod and tuner.
2.DVB uniformly calls the attach interface to load demod or tuner.
3.Demod and Tuner internal structure is independent of DVB structure.
4.All demod and tuner configuration parameters are passed on attach.

Verify:
Verified by x301 and ac214.

Change-Id: I99f4fb0312e0299fddd5e1cdce51456ff1810a6e
Signed-off-by: nengwen.chen <nengwen.chen@amlogic.com>
4 years agov4l: fixed the problem of multi plane addr [1/1]
Nanxin Qin [Tue, 17 Dec 2019 09:04:06 +0000 (17:04 +0800)]
v4l: fixed the problem of multi plane addr [1/1]

PD#SWPL-13705

Problem:
1. HEBC/VP9 doesn't support multi planar buffer
2. revert limite the buffer number returned from REQBUFS
   as some issue on the mediahal will to be fixed.

Solution:
Configure canvas correctly according to vdec_v4l2_buffer

Verify:
U212 with VP9/HEVC streamer playback

Change-Id: I0ba73005ae6e610d19eba7e8bed1b038022f7cd1
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agoavs: avs single mode use 8 bufs. [2/2]
Hui Zhang [Tue, 28 Jan 2020 10:32:52 +0000 (18:32 +0800)]
avs: avs single mode use 8 bufs. [2/2]

PD#SWPL-17453

Problem:
vc1 format decoder need set 8 decoder output margin.

Solution:
1)add 8 refer buffers for vc1 decoder.
2) compatible with old 4 buf driver
ucode gerrit: 98011
ucode commit id: 3e888

Verify:
u212

Change-Id: I8bda273f55529f948ba532658793636bde6c315b
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
4 years agov4l2: mpeg2: support multi-planar [1/1]
Song Zhao [Wed, 18 Dec 2019 05:35:41 +0000 (21:35 -0800)]
v4l2: mpeg2: support multi-planar [1/1]

PD#SWPL-12624

Problem:
1. Enable V4L2 Mpeg2 decoder
2. Enable V4L2 Mpeg2 ucode parser to support secure mode

Solution:
* Use canvas linear mode
* Support NV21
* Add frame dump feature in aml_port
* Use width/heigh from IF layer before ucode is enable to parse it, it
  will make sure canvas is correctly configured (not 0 width and height).
* Add 00 00 01 00 padding for every frame in unsecure mode
* pass buffer margin number from interface to decoder. Make sure
  vdec_mpeg12_hw_s->buf_num and aml_vcodec_ctx->dpb_size are in sync.
* use completion to wait for decoder to parse the stream
* Also limite the buffer number returned from REQBUFS to ctx->dbp_size
  It will prevent application from allocate more memory than enough.

Verify:
U212

Change-Id: Ib7542fccdde6a10f9ec38b5584b8b523d4d378dc
Signed-off-by: Song Zhao <song.zhao@amlogic.com>
4 years agosub: may sleep in irq-disabled [1/2]
Zhiqiang Han [Sun, 19 Jan 2020 04:57:19 +0000 (12:57 +0800)]
sub: may sleep in irq-disabled [1/2]

PD#SWPL-20113

Problem:
may sleep in irq-disabled

Solution:
use self maintaining buf for sub pes channel

Verify:
Patchbuild

Change-Id: I12ebc0182c9789f026b0f31246d7ba99b01792ca
Signed-off-by: Zhiqiang Han <zhiqiang.han@amlogic.com>
4 years agovmpeg12: fix stream mode no frame ouput. [1/1]
shihong.zheng [Mon, 10 Feb 2020 09:10:07 +0000 (17:10 +0800)]
vmpeg12: fix stream mode no frame ouput. [1/1]

PD#SWPL-20197

Problem:
mpeg12 no frame output in stream mode.

Solution:
fix bug condition in run.

Verify:
newton

Change-Id: I12a46256679421f4e5bf7297d5cfe798b6305aa9
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agov4l: opitimize v4l debug module and interface unification. [1/1]
Nanxin Qin [Sat, 1 Feb 2020 10:37:37 +0000 (18:37 +0800)]
v4l: opitimize v4l debug module and interface unification. [1/1]

PD#SWPL-20310

Problem:
Opitimize v4l debug module and interface unification.

Solution:
opitimize v4l debug module and interface unification.

Verify:
u212

Change-Id: Ic7ee875c87389771505c838453dd2f5dd1c3e529
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agovmh264: bitstream cts case fail on Q
Hui Zhang [Sat, 1 Feb 2020 11:55:45 +0000 (19:55 +0800)]
vmh264: bitstream cts case fail on Q

PD#SWPL-15890

Problem:
bitstream test case fail randomly

Solution:
1)for tiny picure (64 width), need disable Hw Cache
2)add ENABLE_WAIT_BUFDW_WRRSP
3)flush yuv buf cache after allocated

ucode gerrit : 98032
ucode commit : c1c101

Verify:
AC214

Change-Id: I8e845f4c87860b2495f7bbc40cec2f8156521e5c
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
4 years agodecoder: Android P hardware/amlogic/media_modules coverity issue [1/1]
apollo.ling [Tue, 7 Jan 2020 11:01:48 +0000 (19:01 +0800)]
decoder: Android P hardware/amlogic/media_modules coverity issue [1/1]

PD#SWPL-11723

Problem:
media_modules coverity issue

Solution:
According to the coverity reports, fix the decoder related issues

Verify:
u212

Change-Id: I7931abe2d10ff59282d6f1148d437b09ffabe70e
Signed-off-by: apollo.ling <apollo.ling@amlogic.com>
4 years agoh265: fixed the issue of release sequence. [1/1]
Nanxin Qin [Tue, 14 Jan 2020 06:34:13 +0000 (14:34 +0800)]
h265: fixed the issue of release sequence. [1/1]

PD#SWPL-19283

Problem:
Irdeto and YouTube switch between each other, OTT restarts automatically

Solution:
1. it's wrong of release seq that the pic release after dec instance rm..
2. fixed some worring of kasan that caused by release sequece abnormal.

Verify:
ac214

Change-Id: I9a4347e94d9cbb16df295ed1b893e50bef99375b
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agovdec: add struct for getting multi-vdec information modules part [1/1]
apollo.ling [Mon, 20 Jan 2020 15:39:46 +0000 (23:39 +0800)]
vdec: add struct for getting multi-vdec information modules part [1/1]

PD#SWPL-1449

Problem:
sizeof in android P is unsined int but long unsigned int in Q

Solution:
covert sizeof type to u32

Verify:
u212

Change-Id: Iee31852ddbb3af61fd9636f2ccd39afb1253d8c7
Signed-off-by: apollo.ling <apollo.ling@amlogic.com>
4 years agovdec: add struct for getting multi-vdec information modules part [1/4]
apollo.ling [Sun, 29 Sep 2019 06:57:18 +0000 (14:57 +0800)]
vdec: add struct for getting multi-vdec information modules part [1/4]

PD#SWPL-1449

Problem:
need to implement a way to get multi-vdec information

Solution:
add new data struct to dynamically record each VDEC's information

Verify:
u212

Change-Id: I03cf0ff013e64b865dbd83cce85ff7abc43b15a4
Signed-off-by: apollo.ling <apollo.ling@amlogic.com>
4 years agov4l: fixed video blurred when resolution change. [2/2]
Nanxin Qin [Sun, 12 Jan 2020 09:08:17 +0000 (17:08 +0800)]
v4l: fixed video blurred when resolution change. [2/2]

PD#SWPL-19709

Problem:
Playback youtube 360vr video blurred screen when switch

Solution:
need to check the inst is valid when the res change.

Verify:
u212

Change-Id: I8d9f65a320e62568f470d0ed17621f9cfd5b6dd5
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agomedia_module: interlace file playback stuck [1/1]
Yixin Peng [Fri, 6 Dec 2019 02:07:16 +0000 (10:07 +0800)]
media_module: interlace file playback stuck [1/1]

PD#SWPL-17439

Problem:
    Interlace file playback will stuck

Solution:
    Since multiple vf are not supported in
    v4l2 to correspond to a buffer, and there
    is no di module at present, only one vf
    is transmitted to the interlace source first,
    and then how to implement it will be discussed
    after adding di module to v4l2.

Verify:
    U212

Change-Id: Ib5fb7f0dc8a4960ab3f7daff91ab88a0f53643e2
Signed-off-by: Yixin Peng <yixin.peng@amlogic.com>
4 years agovmh264: Solve the problem of picture shake [1/1]
miaohong chen [Thu, 16 Jan 2020 12:42:05 +0000 (20:42 +0800)]
vmh264: Solve the problem of picture shake [1/1]

PD#IPTV-5848

Problem:
local play "LHDMI--wumochou.ts" the video is judders

Solution:
Obtain the top and bottom field priority flags from the sei grammar
to determine whether to output the top or bottom field first.

Verify:
S905L2A

Change-Id: Id3dd99d90b782a97014c7b0f7b7b0c4c94537751
Signed-off-by: miaohong chen <miaohong.chen@amlogic.com>