GitHub/LineageOS/G12/android_hardware_amlogic_kernel-modules_media.git
4 years agomedia_module: Optimize the h264 frame drop problem [1/1]
Peng Yixin [Sat, 28 Dec 2019 09:41:52 +0000 (17:41 +0800)]
media_module: Optimize the h264 frame drop problem [1/1]

PD#OTT-7782

Problem:
Very few decoded macro block error can also cause the
frame drop.

Solution:
If the decoded macro block error rate less than 10% (it can adjust
the threshold based on field conditions later), the frame is
considered correct, thus reducing the frame drop and ensuring that
there is only a small mosaic.

Verify:
U212

Change-Id: I62d9d4ed5c4929689f2102979081a223765b3a18
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
4 years agomedia_module: h264 store picture to dpb buffer when timeout status. [1/1]
Peng Yixin [Mon, 30 Dec 2019 05:32:39 +0000 (13:32 +0800)]
media_module: h264 store picture to dpb buffer when timeout status. [1/1]

PD#OTT-7782

Problem:
For the timeout state, the driver will discards the frame,
causing the buffer reset.

Solution:
store picture to dpb buffer when timeout status.

Verify:
u212

Change-Id: If14f02fc0ac44eaf4947dd44ef66095d38941d7a
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
4 years agomedia_module: h264 mosaics appear after buffer reset [1/1]
Peng Yixin [Wed, 23 Oct 2019 05:57:38 +0000 (13:57 +0800)]
media_module: h264 mosaics appear after buffer reset [1/1]

PD#SWPL-16745

Problem:
h264 mosaics appear after buffer reset.

Solution:
The frame following I frame, but belonging to the
previous POC is not display.

Verify:
AC214

Change-Id: I4e949a292d8a64085a5325b1f6a667b19370fd6d
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
4 years agomedia_module: h264 playback freeze [1/1]
Peng Yixin [Thu, 2 Jan 2020 04:24:33 +0000 (12:24 +0800)]
media_module: h264 playback freeze [1/1]

PD#OTT-7774

Problem:
the h264 ucode has the swap operation,
so it needs to be reloaded every run time.

Solution:
reload ucode every time

Verify:
U212

Change-Id: I37d0485be67df56d63ea3157bc27cd40392027e4
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
4 years agovdec: add work to substitude directly calling vp9_recycle_mmu_buf [1/1]
apollo.ling [Mon, 21 Oct 2019 05:07:18 +0000 (13:07 +0800)]
vdec: add work to substitude directly calling vp9_recycle_mmu_buf [1/1]

PD#SWPL-13765

Problem:
BuildRoot S905X2 mutex_lock called in timer context

Solution:
add work to substitude directly calling vp9_recycle_mmu_buf

Verify:
u212

Change-Id: I329579c7f24beddaa18092fdde1409f3f26f0076
Signed-off-by: apollo.ling <apollo.ling@amlogic.com>
4 years agovmh264: fix frames drop bug [1/1]
miaohong chen [Fri, 3 Jan 2020 11:53:53 +0000 (19:53 +0800)]
vmh264: fix frames drop bug [1/1]

PD#IPTV-5464

Problem:
Video stutter about 2s when start play time-shift of HD channel.

Solution:
When encountering an IDR frame, end the dropped frame.

Verify:
S905M2

Change-Id: I641c9e0d8c4eebfe9f7f3a331846d05b0b117a3a
Signed-off-by: miaohong chen <miaohong.chen@amlogic.com>
4 years agomedia_module: avoid out-of-bound writing [1/1]
apollo.ling [Mon, 23 Dec 2019 13:57:48 +0000 (21:57 +0800)]
media_module: avoid out-of-bound writing [1/1]

PD#OTT-7799

Problem:
kernel crash and system reboot when switch channel playback.

Solution:
Check sei data bound before writing.
avoid new thread function when in vdec releasing.

Verify:
U212

Change-Id: I221babcd5c06c70a06197644be984ad4a245da5b
Signed-off-by: apollo.ling <apollo.ling@amlogic.com>
4 years agoh264: flush dpb queue when error reset. [1/1]
Nanxin Qin [Thu, 2 Jan 2020 08:18:20 +0000 (16:18 +0800)]
h264: flush dpb queue when error reset. [1/1]

PD#SWPL-15748

Problem:
the program will stuck after the bitstream play for a cycle.

Solution:
flush dpb queue when error reset.

Verify:
x301

Change-Id: I8dfcc4ffe54fafdca0f9a9219476aa599147a258
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agoesparser: fix wrong return value when drm_write [1/1]
Tao Guo [Wed, 13 Nov 2019 09:13:18 +0000 (17:13 +0800)]
esparser: fix wrong return value when drm_write [1/1]

PD#OTT-7272

Problem:
Video can not start due to codec_write return 0
When playing drm, omx write drminfo to amstream, but codec_write
return the data size in drminfo, then omx calculate the wrong
remain size, and trying to write the remain data. but codec_write
always return 0 due to wrong data

Solution:
if drminfo only, return drminfo size
if drminfo + esdata, return esdata size + drminfo size
if esdata only, return esdata size

Verify:
JIO project

Change-Id: Iec0481a1a3a1ff928bcb0998fd19e0015c62593f
Signed-off-by: Tao Guo <tao.guo@amlogic.com>
4 years agoh264: fix unsmooth caused by frame dur wrong. [1/1]
shihong.zheng [Sat, 28 Dec 2019 06:33:26 +0000 (14:33 +0800)]
h264: fix unsmooth caused by frame dur wrong. [1/1]

PD#SWPL-18973

Problem:
h264 force interlace video unsmooth.
frame duration is double than normal.

Solution:
video vui param time_scale is wrong,
correct duration from key frames pts
and other conditions.

Verify:
AC214

Change-Id: Idea1b79afb868f14e02eaac6b2a8f0e0182f658b
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agompeg2: fix cts adaptive playback test fail. [1/1]
shihong.zheng [Mon, 30 Dec 2019 11:15:59 +0000 (19:15 +0800)]
mpeg2: fix cts adaptive playback test fail. [1/1]

PD#SWPL-19221

Problem:
mpeg2 cts case AdaptivePlaybackTest
failed.

Solution:
add two extra buffers for display.

Verify:
AC214

Change-Id: I34602c30447f2a91d387177c49be2e25b762a1ac
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agov4l: optimize flow of reset for v4l codec. [1/1]
Nanxin Qin [Mon, 23 Dec 2019 17:17:31 +0000 (01:17 +0800)]
v4l: optimize flow of reset for v4l codec. [1/1]

PD#SWPL-18391

Problem:
youtube playback drop amount of frames.

Solution:
1. default config input size is 2M.
2. dont free vdec input buffer when have not frames in block.
3. vp9 mv buffer has not free when reset happend.

Verify:
u212

Change-Id: If907625d73cb2dce68047cb605efaa9e8d87d4f5
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agomedia_module: renamed first deinterlace to dimulti for pip. [1/1]
renjiang.han [Thu, 26 Dec 2019 11:05:04 +0000 (19:05 +0800)]
media_module: renamed first deinterlace to dimulti for pip. [1/1]

PD#SWPL-18842

Problem:
When dtv and youTube are switched, the kernel panic is
caused by the deinterlace same name.

Solution:
Renamed first deinterlace to dimulti for pip

Verify:
on S905X3-AC214

Change-Id: I8a970337f13367fbd72bd8156a131bfd2fcb8b88
Signed-off-by: renjiang.han <renjiang.han@amlogic.com>
4 years agodecode: optimize local reset when decode error happened. [1/1]
Nanxin Qin [Wed, 18 Dec 2019 14:17:33 +0000 (22:17 +0800)]
decode: optimize local reset when decode error happened. [1/1]

PD#SWPL-18664

Problem:
optimize local reset when decode error happened.

Solution:
just clear dpb reference when decode error reset.

Verify:
u212

Change-Id: If8628625ce8ed0d95048ea900dbd972fcfa57ccf
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agomedia_module: mpeg2 playback stuck [1/1]
Yixin Peng [Fri, 20 Dec 2019 06:05:44 +0000 (14:05 +0800)]
media_module: mpeg2 playback stuck [1/1]

PD#OTT-7825

Problem:
mpeg2 playback stuck.

Solution:
Due to do not clear some flag of cc
subtitle in time, cause normal the
interrupt of video decoding are mistaken
for CC interrupts and cause freeze.

Verify:
AC214

Change-Id: Ia25a376d56932f318c5effd3c23e3b9b65696eed
Signed-off-by: Yixin Peng <yixin.peng@amlogic.com>
4 years agodecode: fixed the kernel crash when testing sts. [1/1]
Nanxin Qin [Mon, 23 Dec 2019 08:37:33 +0000 (16:37 +0800)]
decode: fixed the kernel crash when testing sts. [1/1]

PD#SWPL-18697

Problem:
CtsSecurityTestCases 2 fail

Solution:
fixed the kernel crash when testing sts

Verify:
u212

Change-Id: Ic7ec31daadb4c2374f1527db5b355b14e85549b3
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agoirdeto: support msr2 set dsc in ta [1/2]
Chuangcheng Peng [Fri, 11 Oct 2019 03:11:23 +0000 (11:11 +0800)]
irdeto: support msr2 set dsc in ta [1/2]

PD#RSP-245

Problem:
dmx reset will clear TA dsc setting

Solution:
add dsc in/out setting and not clear dsc

Verify:
verify at ac213

Change-Id: I66edccd3dfac6a1bc3f331e3df38165f7ce3a38d
Signed-off-by: Chuangcheng Peng <chuangcheng.peng@amlogic.com>
4 years agomedia_module: h264 mosaics appear after seek operation [1/1]
Yixin Peng [Fri, 6 Dec 2019 11:36:05 +0000 (19:36 +0800)]
media_module: h264 mosaics appear after seek operation [1/1]

PD#SWPL-17412

Problem:
reset the iqidct register cause mosaics.

Solution:
Don't to reset the iqidct register.

Verify:
AC214

Change-Id: I24c3d8c9b95134f65e1dab02404bb993761467e4
Signed-off-by: Yixin Peng <yixin.peng@amlogic.com>
4 years agodecoder: add dynamic buf margin for mpeg12/mpeg4/mjpeg/avs2/mvc. [1/1]
shihong.zheng [Tue, 10 Dec 2019 12:13:25 +0000 (20:13 +0800)]
decoder: add dynamic buf margin for mpeg12/mpeg4/mjpeg/avs2/mvc. [1/1]

PD#SWPL-18189

Problem:
add more buffers control mpeg2/mpeg4/mjpeg/avs2/mvc
for multi-instance.

Solution:
add dynamic_buf_num_margin interface for
mpeg2/mpeg4/mjpeg/avs2 decoder driver.

Verify:
U212

Change-Id: I1e5edccbea1d51e7d85c65fdeb83305cf21d50fc
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agovmh264: fix baseline fast output bug. [1/1]
shihong.zheng [Tue, 17 Dec 2019 12:44:13 +0000 (20:44 +0800)]
vmh264: fix baseline fast output bug. [1/1]

PD#OTT-7765

Problem:
baseline h264 stream but reorder_pic_num is 2.
fast output set will cause output frame disorder.

Solution:
add reorder_pic_num check when set baseline
fast output 8.

Verify:
S905X

Change-Id: Ia6a5ace66296d0034404f7974b6e43de485ea997
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agohenc: disable the flooding print by default [1/1]
yongchun.li [Tue, 10 Dec 2019 02:52:48 +0000 (18:52 -0800)]
henc: disable the flooding print by default [1/1]

PD#SWPL-18190

Problem:
There is flooding print information by default

Solution:
move the flooding inforamtion to INFO level

Verify:
A311D

Change-Id: Ibbf1fc4ef0c58ee2546da8cdebcf617961107afb
Signed-off-by: yongchun.li <yongchun.li@amlogic.com>
4 years agov4l2: drop frames [2/3]
rongrong zhou [Wed, 4 Dec 2019 10:38:43 +0000 (18:38 +0800)]
v4l2: drop frames [2/3]

PD#SWPL-17328

Problem:
drop frames

Solution:
1. add trace for debug
2. store vf get count in vf->index_disp
3. set out thread SCHED_FIFO
4. install privdata every vf

Verify:
local

Change-Id: I08fda1994a40d8331bff159bdfdeb20b38fa871c
Signed-off-by: rongrong zhou <rongrong.zhou@amlogic.com>
4 years agov4l: fixed the issue of mosaic shows when seeking. [1/1]
Nanxin Qin [Sat, 7 Dec 2019 13:46:08 +0000 (21:46 +0800)]
v4l: fixed the issue of mosaic shows when seeking. [1/1]

PD#SWPL-18134

Problem:
playback youtube 4k videos, the automatically switched resolution or
seek operation,Display abnormal.

Solution:
fixed the issue of mosaic shows when seeking or resolution change.

Verify:
u212

Change-Id: I9654fdbba7711c76dfcee4b999f63ee8ed12899d
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agovdec: enable two channnel di [2/2]
jintao xu [Tue, 10 Dec 2019 11:20:21 +0000 (19:20 +0800)]
vdec: enable two channnel di [2/2]

PD#SWPL-18329

Problem:
enable two channel di

Solution:
enable two channel di

Verify:
Verify on u212

Change-Id: I4fc94bc45d221432fca15009ebfa4548e756bd83
Signed-off-by: jintao xu <jintao.xu@amlogic.com>
4 years agov4l: optimize the input buff schedule.
Nanxin Qin [Thu, 5 Dec 2019 18:15:41 +0000 (02:15 +0800)]
v4l: optimize the input buff schedule.

Change-Id: I8224639e94696d99484e7cb94c4a0e97457389bd
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agoMerge "v4l: fixed the issue of parser. [1/1]" into amlogic-4.9-dev
Zhi Zhou [Wed, 4 Dec 2019 10:10:57 +0000 (02:10 -0800)]
Merge "v4l: fixed the issue of parser. [1/1]" into amlogic-4.9-dev

4 years agodvb: the AD audio output noise. [1/2]
hualing chen [Fri, 29 Nov 2019 12:12:27 +0000 (20:12 +0800)]
dvb: the AD audio output noise. [1/2]

PD#SWPL-17238

Problem:
play Dual_Strm_2PID_swp_AssocRouting_
ddp_DVB_h264_25fps.trp,
the audio output noise.

Solution:
add AUDIO3 type for AD get pes data.
we set default type to BYPASS_PACKET for dvr mode.

Verify:
verify at ac214 in android p.

Change-Id: Ifa70d83eb5f04fd69a9d06bb5c11a2fdd5a7871a
Signed-off-by: hualing chen <hualing.chen@amlogic.com>
4 years agov4l: fixed the issue of parser. [1/1]
Nanxin Qin [Mon, 2 Dec 2019 03:05:46 +0000 (11:05 +0800)]
v4l: fixed the issue of parser. [1/1]

PD#SWPL-17646

Problem:
the stream parse err when the memory alloc failed.

Solution:
1. replace the kmalloc to vmalloc, when there are more
   memory fragments and order that maybe cause alloc failed.
2. reference a unique struct of file_private_data

Verify:
U212

Change-Id: I499c1bb128c929d2144dc3f9f17e8555bd62d5d3
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agodecoder: add interface to get vf put count [2/2]
Brian Zhu [Thu, 28 Nov 2019 16:58:03 +0000 (00:58 +0800)]
decoder: add interface to get vf put count [2/2]

PD#SWPL-17393

Problem:
dv el can not drop frame

Solution:
add vf put count for drop frame

Verify:
verified on u212

Change-Id: I5fa699b44f174b27e4a8046cbb026563ea7fb107
Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>
4 years agomedia_module: fixed some issues for gts. [1/1]
Yixin Peng [Sun, 1 Dec 2019 08:12:19 +0000 (16:12 +0800)]
media_module: fixed some issues for gts. [1/1]

PD#SWPL-17322

Problem:
    h265 seeking test fail.

Solution:
    After seek, Clear the DPB queue.

Verify:
    AC214

Change-Id: I52b6d4b7a64c99916e5ec0efc2ae48619c877a7d
Signed-off-by: Yixin Peng <yixin.peng@amlogic.com>
4 years agov4l: fixed the issue of h264/h265 parser. [1/1]
Nanxin Qin [Sat, 30 Nov 2019 13:58:36 +0000 (21:58 +0800)]
v4l: fixed the issue of h264/h265 parser. [1/1]

PD#SWPL-17322

Problem:
1. when a frame inclued 2 or more sps and they are differnt
   which cause to triggle event of resultion change infinite.
2. play the tiny stream maybe caused crash.

Solution:
1. fixed the issue of h264/h265 parser.
2. fixed the tiny es playback iusse.

Verify:
U212

Change-Id: I313991b13867b3c057225473e0407c05b20d799f
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agov4l: fixed some issues for v4l codec. [1/1]
Nanxin Qin [Thu, 28 Nov 2019 06:30:53 +0000 (14:30 +0800)]
v4l: fixed some issues for v4l codec. [1/1]

PD#SWPL-5313

Problem:
Decoder V4L2 interface Phase3(AFBC&MMU Support)

Solution:
1. add the limit of vdec input frames.
2. add config parms canvas_mode and endian.

Verify:
U212

Change-Id: Ib3365cd1a09fac7c029bba64c70a3ed40bbd8e3f
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agomedia_module: h264 playback stuck [1/1]
Yixin Peng [Thu, 28 Nov 2019 14:33:34 +0000 (22:33 +0800)]
media_module: h264 playback stuck [1/1]

PD#SWPL-17322

Problem:
    resolution changes cause stuck.

Solution:
    The DPB size is updated every time
    to solve this problem.

Verify:
    U212

Change-Id: I232961c836ee5a071de506d45cbde958c9ff3305
Signed-off-by: Yixin Peng <yixin.peng@amlogic.com>
4 years agomedia_module: h264 add REQUEST_RESET message to user space [1/1]
Yixin Peng [Wed, 27 Nov 2019 13:29:00 +0000 (21:29 +0800)]
media_module: h264 add REQUEST_RESET message to user space [1/1]

PD#SWPL-5313

Problem:
    When the decode driver needs to reset,
    a message needs to be sent to the user
    space for this operation.

Solution:
    Add this feature.

Verify:
    U212

Change-Id: If112862058db61b870dce0e0eb9d6d13c6109152
Signed-off-by: Yixin Peng <yixin.peng@amlogic.com>
4 years agompeg12 mpeg4: fix some mpeg video problem. [1/1]
shihong.zheng [Thu, 28 Nov 2019 08:52:18 +0000 (16:52 +0800)]
mpeg12 mpeg4: fix some mpeg video problem. [1/1]

PD#SWPL-17549

Problem:
1. testCodecResetsMpeg2WithSurface fail on andorid q.
2. special xvid video can not seek.

Solution:
1. add timeout for mpeg12 ucode WAIT_MCW_WRRSP
2. save context even some frames canot be decode,
 the context may necessary for behind frames(tv-10657).
ucode gerrit id: 90009
ucode change id: I6d127c5c
ucode commit id: 6cea5dfc

Verify:
AC214 x301

Change-Id: I822f6812f7b1774e7fe2cfb5d1ba935fd96132de
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agov4l: fixed some issues for v4l codec. [1/1]
Nanxin Qin [Sun, 24 Nov 2019 09:40:53 +0000 (17:40 +0800)]
v4l: fixed some issues for v4l codec. [1/1]

PD#SWPL-5313

Problem:
Decoder V4L2 interface Phase3(AFBC&MMU Support)

Solution:
1. fixed an issue of get/set parms abnormal.
2. fixed the issue of register vfm failed cause crash.
3. added post events for exception happend.
4. fixed profile_idc changes cause stuck.

Verify:
U212

Change-Id: I4519c91409d570e6fe8f9fedaad6c48628be85a0
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agoh264_enc: set colorspace to bt709 for 720p and above [1/1]
Rico Yang [Mon, 25 Nov 2019 15:45:36 +0000 (23:45 +0800)]
h264_enc: set colorspace to bt709 for 720p and above [1/1]

PD#SWPL-15982

Problem:
h264 encoder set colorspace to bt709 for all resolution

Solution:
set colorspace to bt709 for 720p and above only

Verify:
verified on franklin

Change-Id: Ic1755181681de32750473548f96a25c05fa10044
Signed-off-by: Rico Yang <wei.yang@amlogic.com>
4 years agodecoder: fix mpeg4 display green screen. [1/1]
shihong.zheng [Wed, 13 Nov 2019 08:35:34 +0000 (16:35 +0800)]
decoder: fix mpeg4 display green screen. [1/1]

PD#IPTV-5117

Problem:
mpeg4 start decode when first frame not
ready.

Solution:
add set start_dec_buf_level for ready to run.
same with mpeg2 mjpeg mpeg4.

Verify:
S905L2A

Change-Id: I046fbfd4dfee97238eaf0982375a3a1e1759a12e
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
5 years agov4l: fixed build issue on the android P. [1/1]
Nanxin Qin [Sat, 23 Nov 2019 15:16:03 +0000 (23:16 +0800)]
v4l: fixed build issue on the android P. [1/1]

PD#SWPL-5313

Problem:
the symbol undefined cause build fail.

Solution:
fixed build issue on the android P

Verify:
u212

Change-Id: I7a576efc202b851bf88e68769f7627f7db501a82
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
5 years agov4l: fixed some issues for v4l codec. [3/3]
Nanxin Qin [Tue, 29 Oct 2019 14:08:34 +0000 (22:08 +0800)]
v4l: fixed some issues for v4l codec. [3/3]

PD#SWPL-5313

Problem:
Decoder V4L2 interface Phase3(AFBC&MMU Support)

Solution:
1. opitimize the event of notify eos when play end,
   need not alloc more buffer to dispatch ending event.
2. opitimize the interface of get buffs from m2m pool.
3. v4l2 vf video display support.
4. support config parms for v4l codec.
5. add afbc an dw for h265, vp9.
6. fixed the box and memory leak.
7. support report hdr infos from v4l codec.
8. opitimize the event of report resolution change.

Verify:
U212

Change-Id: I446f9bb3f3b64a66540f6dd32af2cd7e71d0a280
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
5 years agomedia_modlue: add v4lvideo path [1/1]
jintao xu [Wed, 31 Jul 2019 03:01:32 +0000 (11:01 +0800)]
media_modlue: add v4lvideo path [1/1]

PD#SWPL-5996

Problem:
add v4lvideo path

Solution:
add v4lvideo path

Verify:
U212

Change-Id: I1cab775e74b8365a7995a2b479a21bd0a5979564
Signed-off-by: jintao xu <jintao.xu@amlogic.com>
5 years agomh264: fix i only not out frame. [1/1]
shihong.zheng [Wed, 20 Nov 2019 13:15:02 +0000 (21:15 +0800)]
mh264: fix i only not out frame. [1/1]

PD#IPTV-4993

Problem:
i_only do not ouput frames. the dpb is full.
all frames are ref pic.

Solution:
flush dpb when decode next frame.
do not check dpb error for i_only

Verify:
S905L2A

Change-Id: I6739491e56d38440d7875f679df405a44b58f2b9
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
5 years agomedia_module: h264 green pixelation is seen during playback [1/1]
Peng Yixin [Thu, 31 Oct 2019 05:47:20 +0000 (13:47 +0800)]
media_module: h264 green pixelation is seen during playback [1/1]

PD#OTT-6820

Problem:
    Only when the resolution is switched from a stream with a lot of
    decoded buffers to another stream that needs a lot of decoded
    buffers,this problem occur when the canvas id used at the same
    time has exceeded the maximum value and cannot be allocated.

Solution:
    When switching the resolution, there is no need the canvas id
    of the previous resolution, so release it, the canvas id will
    not be insufficient to cause flower screen.

Verify:
    S922X

Change-Id: Ie9944f71d1bc85c8c90198573c9b209b74f5f828
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
5 years agoh265: The code stream with width and height of 64 failed the CTS test. [1/1]
Gan Zhang [Wed, 20 Nov 2019 05:49:54 +0000 (13:49 +0800)]
h265: The code stream with width and height of 64 failed the CTS test. [1/1]

PD#SWPL-17038

Problem:
When the width and height of the decoded macro block is 1,
the HEVC_PARSER_LCU_START parameter read from the register is 0,
which will cause the decoded data to be set to error.

Solution:
(hevc->lcu_x_num * hevc->lcu_y_num != 1)
Add the above judgment conditions to unset the decoded data to Error.

Verify:
P212

Change-Id: Ia89f5381059ef6d996bb8c60408324e0509e5b2d
Signed-off-by: Gan Zhang <gan.zhang@amlogic.com>
5 years agomedia_module: h265 full-screen mosaic during playback [1/1]
Peng Yixin [Thu, 17 Oct 2019 05:14:31 +0000 (13:14 +0800)]
media_module: h265 full-screen mosaic during playback [1/1]

PD#SWPL-12387

Problem:
    The first I frame was not incorrectly detected,
    resulting display mosaic picture.

Solution:
    Add error detection for the first I frame to
    solve this problem.

Verify:
    Verified U212

Change-Id: I2247a878c3bd7b9d13c17614856cb101623e6dab
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
5 years agomedia_module: h265 interlace format show mosaic pitcutre [1/1]
Peng Yixin [Sat, 26 Oct 2019 08:36:12 +0000 (16:36 +0800)]
media_module: h265 interlace format show mosaic pitcutre [1/1]

PD#SWPL-12376

Problem:
    1. The incorrect type information was transmitted to the backend.
    2. pending_q KFIFO is not initialized.
    3. Error data in video file causes picture freeze.

Solution:
    1. Pass the correct type vf information to the back end.
    2. Initialize pending_q KFIFO.
    3. Modify error handling logic to solve the picture freeze problem.

Verify:
    Verified AC213

Change-Id: I939fa780c30d500b1a16d43cc13764f4f862e808
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
5 years agomedia_module: fix the call sequence of del_timer_sync and cancel_work_sync [1/1]
apollo.ling [Tue, 5 Nov 2019 08:16:15 +0000 (16:16 +0800)]
media_module: fix the call sequence of del_timer_sync and cancel_work_sync [1/1]

PD#SWPL-16242

Problem:
{stresstest} {KASAN} avs bug causes system crash when do DTV 2s channel switch
and 15s suspend.(1/6,none)

Solution:
correct the call sequence of del_timer_sync and cancel_work_sync

Verify:
X301

Change-Id: I53534f207d3379fe6e463ae2e57badeceeb5f9ec
Signed-off-by: apollo.ling <apollo.ling@amlogic.com>
5 years agodvb: fix demux set serial ts mode issue [1/1]
Cheng Tong [Wed, 6 Nov 2019 06:11:31 +0000 (14:11 +0800)]
dvb: fix demux set serial ts mode issue [1/1]

PD#OTT-7142

Problem:
demux can't set ts source correctly if ts 1 at serial mode

Solution:
fix the right ts mode

Verify:
verify on s805y

Change-Id: Ie8cbbe1320d925bcd4744ea5c0ab710b58055d3b
Signed-off-by: Cheng Tong <cheng.tong@amlogic.com>
5 years agovdec: update the many parse_one_sei_record printings [1/1]
apollo.ling [Mon, 4 Nov 2019 08:09:02 +0000 (16:09 +0800)]
vdec: update the many parse_one_sei_record printings [1/1]

PD#SWPL-16189

Problem:
{stresstest} it continues print "parse_one_sei_record: payload_type"
and causes watchdog_reboot when do DTV 2s channel switch and 15s
suspend.(4/6,none)

Solution:
update the many parse_one_sei_record printings

Verify:
X301

Change-Id: Ia9aa165c1f37bd0db9f23ee5c027aaad1d124f60
Signed-off-by: apollo.ling <apollo.ling@amlogic.com>
5 years agomedia_module: fix vp9 video with encoded with VBAQ,show macro blocks [1/1]
Peng Yixin [Sat, 2 Nov 2019 04:04:00 +0000 (12:04 +0800)]
media_module: fix vp9 video with encoded with VBAQ,show macro blocks [1/1]

PD#SWPL-16144

Problem:
When playing the vp9 video with encoded with VBAQ enabled, there're
macro blocks on the screen and sometimes even worse, the decoded frames
may be crashed because of incapable of decoding.

Solution:
Modify microcode to solve this problem.

Verify:
AC213

Change-Id: Idac43674047ca9481154ef9054688e6ed66ae832
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
5 years agomedia_module: h265 playback show some mosaic pictures [1/1]
Gan Zhang [Wed, 30 Oct 2019 06:48:42 +0000 (14:48 +0800)]
media_module: h265 playback show some mosaic pictures [1/1]

PD#IPTV-4309

Problem:
In stream mode,h265 format playback show some mosaic pictures.

Solution:
Optimize the logic of handling error frames to solve
this problem.

Verify:
AC213

Change-Id: Ibaf07e45557fdf597a48bab742a092942530608b
Signed-off-by: Gan Zhang <gan.zhang@amlogic.com>
5 years agovdec: remove some printings [1/1]
apollo.ling [Thu, 31 Oct 2019 07:14:26 +0000 (15:14 +0800)]
vdec: remove some printings [1/1]

PD#SWPL-15106

Problem:
h264 keep print "ref_pic_list_reordering error"

Solution:
remove some printings

Verify:
X301

Change-Id: Ic8f9bc0c1c536abd209775d4d1b501303fc4ef67
Signed-off-by: apollo.ling <apollo.ling@amlogic.com>
5 years agovdec: improve timeout handling for vmmpeg12/vmmh264/vmmh265 [1/1]
apollo.ling [Tue, 29 Oct 2019 09:33:17 +0000 (17:33 +0800)]
vdec: improve timeout handling for vmmpeg12/vmmh264/vmmh265 [1/1]
supplementary commit.

PD#SWPL-14196

Problem:
{stress test} trunk crash and watchdog reboot happen when
do DTV h264 2s channel switch and 15s suspend.(1/5,none)

Solution:
improve the timout handling mechanism

Verify:
X301

Change-Id: I7989ad2b015855d6cacec1c54e8e05d585c8934e
Signed-off-by: apollo.ling <apollo.ling@amlogic.com>
5 years agov4l: fixed some issues for v4l codec. [2/2]
Nanxin Qin [Mon, 19 Aug 2019 12:50:09 +0000 (20:50 +0800)]
v4l: fixed some issues for v4l codec. [2/2]

PD#SWPL-5313

Problem:
Decoder V4L2 interface Phase3(AFBC&MMU Support)

Solution:
1. fixed issue of the dpb size calc.
2. remove dpb size_margin and enable 4k.
3. fixed playback stuck when work on the muti-instance.
4. remove virt to phy address to avoid warring.
5. alloc the buf of v4l when it is about to decoding.
6. timestamp unsigned long int -> u64
7. add the common module of bitstream parser.
8. h264, vp9 & h265 supports playback with multi-resolution.
9. add mpeg12 mpeg4 and mjpeg for v4l codec.
10. supports single plane for the capture buffer.
11. only count capture buff with the mode mmap.
12. supports memory scatter for v4l codec.
13. supports ucode to parse params sets.
14. implement the interface of reset for h265 & vp9.
15. supports to switch picture formats nv12 & nv21

Verify:
u212

Change-Id: I1e7fb210e1a7c8acafa81ab6f30fd03a69b94c26
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
5 years agovdec: avoid double release same resources [1/1]
apollo.ling [Thu, 17 Oct 2019 08:00:16 +0000 (16:00 +0800)]
vdec: avoid double release same resources [1/1]

PD#SWPL-10720

Problem:
Media AutoTest system met kernel crash and RAM DUMP

Solution:
check to avoid double release same resources

Verify:
P215

Change-Id: I58928ad333036aa4e146798f50764a9e201c4ecd
Signed-off-by: apollo.ling <apollo.ling@amlogic.com>
5 years agovdec: improve timeout handling for vmmpeg12/vmmh264/vmmh265 [1/1]
apollo.ling [Thu, 17 Oct 2019 12:31:08 +0000 (20:31 +0800)]
vdec: improve timeout handling for vmmpeg12/vmmh264/vmmh265 [1/1]

PD#SWPL-14196

Problem:
{stress test} trunk crash and watchdog reboot happen when
do DTV h264 2s channel switch and 15s suspend.(1/5,none)

Solution:
improve the timout handling mechanism

Verify:
X301

Change-Id: Id7bad614c3aff15630daef13ac598e3a86405e01
Signed-off-by: apollo.ling <apollo.ling@amlogic.com>
5 years agoamports: audio: Add mutex lock protect for audio port reset [1/1]
Zhizhong Zhang [Fri, 25 Oct 2019 05:22:58 +0000 (13:22 +0800)]
amports: audio: Add mutex lock protect for audio port reset [1/1]

PD#OTT-6893

Problem:
System restart after launch/exit LiveTv multiple

Solution:
Add mutex lock protect for audio port reset

Verify:
patch build of U212

Change-Id: Id175422a3c829e23b59927aea6c60e8818b9dd37
Signed-off-by: Zhizhong Zhang <zhizhong.zhang@amlogic.com>
5 years agompeg2: fix mosaics when set error_skip. [1/1]
shihong.zheng [Fri, 25 Oct 2019 03:30:13 +0000 (11:30 +0800)]
mpeg2: fix mosaics when set error_skip. [1/1]

PD#SWPL-12375

Problem:
mpeg2 mosaics after set error_frame_skip_level to 2.
a error p frame store to ref list, so have not set
error skip flag in error_skip(). the next mosaic b frame
display before p.

Solution:
set b frame error when error p in ref list.
set error_frame_skip_level to 2 default.

Verify:
u212

Change-Id: Ide23f0cf8a5f6ef72e1a6a6e129a7f7f1ef658fa
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
5 years agomh264: reload ucode when decode error. [1/1]
shihong.zheng [Thu, 24 Oct 2019 09:31:28 +0000 (17:31 +0800)]
mh264: reload ucode when decode error. [1/1]

PD#SWPL-14162

Problem:
h264 can not decode out frame when reboot or
hot plug signal cable.
pmem ucode may switch to swap code. and decode
timeout or other error, then amvdec_stop, the
pmem ucode cannot start decode when start next
frame, so need reload ucode.

Solution:
reload ucode to avoid the swap code in pmem when
start decode.

Verify:
x301

Change-Id: Id55054599b90b2baab5d5a0ccff191e1186a03ad
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
5 years agovmh264: fix error frame detect issue [1/1]
Hui Zhang [Sun, 29 Sep 2019 08:46:04 +0000 (16:46 +0800)]
vmh264: fix error frame detect issue [1/1]

PD#SWPL-12967

Problem:
in frame mode, some pic miss stream data, which may cause
data_request from hw, but driver think it is data not comming
,not skip this error frame

Solution:
in frame mode, change data_reqest handle to pic_done. driver
will check if there is error with mb number. the error will
be detected

Verify:
AC-213

Change-Id: I186c6149fc6802fbd4636f4e02b1ea787fba85be
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
5 years agomedia_module: tiny h264 stream decode error [1/1]
Gan Zhang [Tue, 8 Oct 2019 05:14:40 +0000 (13:14 +0800)]
media_module: tiny h264 stream decode error [1/1]

PD#SWPL-13083

Problem:
tiny h264 stream decode error

Solution:
disable this read cache when frame width <= 64
IQIDCT_CONTROL, bit[16] – dcac_dma_read_cache_disable

Verify:
AC213

Change-Id: I8a07b70347b335709ebe7be44735f6aa667801c6
Signed-off-by: Gan Zhang <gan.zhang@amlogic.com>
5 years agomedia_module: fixed mpeg2 playback stuck issue [1/1]
Peng Yixin [Tue, 10 Sep 2019 11:54:06 +0000 (19:54 +0800)]
media_module: fixed mpeg2 playback stuck issue [1/1]

PD#OTT-5167

Problem:
mpeg2 formate playback stuck when switch channel.

Solution:
Modify the condition to trigger decoder timeout to
resolve this problem.

Verify:
U212

Change-Id: I2642a90f9debd1dcc656581c0771c0f1d8a640d0
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
5 years agodvb: support two si2168(si2151/av2018) [1/3]
Chuangcheng Peng [Mon, 30 Sep 2019 05:52:17 +0000 (13:52 +0800)]
dvb: support two si2168(si2151/av2018) [1/3]

PD#SWPL-13198

Problem:
support U212-D814

Solution:
support U212-D814

Verify:
verify at u212-D814

Change-Id: Iede357c8cdfa24975db9d19f1f5121a51a48c85a
Signed-off-by: Chuangcheng Peng <chuangcheng.peng@amlogic.com>
5 years agoMerge "h264: h264 dpb_print error. [1/1]" into amlogic-4.9-dev
Hui Zhang [Mon, 30 Sep 2019 02:16:04 +0000 (19:16 -0700)]
Merge "h264: h264 dpb_print error. [1/1]" into amlogic-4.9-dev

5 years agoMerge "media: h264 encoder add svc feature [1/1]" into amlogic-4.9-dev
Zhi Zhou [Sun, 29 Sep 2019 11:16:38 +0000 (04:16 -0700)]
Merge "media: h264 encoder add svc feature [1/1]" into amlogic-4.9-dev

5 years agomedia_module: h264 add force modify canvas mode node [1/1]
Peng Yixin [Fri, 27 Sep 2019 07:48:39 +0000 (15:48 +0800)]
media_module: h264 add force modify canvas mode node [1/1]

PD#NONE

Problem:
Cannot modify canvas mode with node.

Solution:
Add logic to solve this problem.

Verify:
u212

Change-Id: I487fa2d50b60f7bdfb309fd9f2a18e42c9658956
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
5 years agomedia_module: add without display node [1/1]
Peng Yixin [Fri, 14 Dec 2018 09:26:26 +0000 (17:26 +0800)]
media_module: add without display node [1/1]

PD#IPTV-4140

Problem:
There are no nodes to test for decoding performance without display.

Solution:
Add without display node to resolve this issue.

Verify:
u212

Change-Id: Idec4b174f194dd719853cae7fd8fdbe56f54f816
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
5 years agoh264: h264 dpb_print error. [1/1]
shihong.zheng [Fri, 27 Sep 2019 04:33:24 +0000 (12:33 +0800)]
h264: h264 dpb_print error. [1/1]

PD#SWPL-14595

Problem:
h264 crash when ref list error.

Solution:
format print error fix.

Verify:
u212

Change-Id: Ifb40e465d5b7c536351dec8e0df4b932a76dd8dd
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
5 years agomedia_module: the screen freeze when stream mode playback [1/1]
Peng Yixin [Wed, 18 Sep 2019 12:09:10 +0000 (20:09 +0800)]
media_module: the screen freeze when stream mode playback [1/1]

PD#SWPL-13053

Problem:
Keeps entering the logic that waits for more data
to decode, but never gets more data, it cause the
screen freeze.

Solution:
Modify wait more data's logic to solve this problem.

Verify:
u212

Change-Id: I51091939dcdc0ff9bbf4ea00295b9bc87b5ff213
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
5 years agodecoder: fix mpeg4 multi frames in packet consume data abnormal. [1/1]
shihong.zheng [Wed, 25 Sep 2019 11:53:58 +0000 (19:53 +0800)]
decoder: fix mpeg4 multi frames in packet consume data abnormal. [1/1]

PD#TV-10609

Problem:
1. mpeg4 video black screen 20s at start. bug when deal with
frames size less than 8 bytes in one packets.
2. mpeg2 1088 height error.

Solution:
1. no need set back align bytes when consume byte less then 8.
2. mpeg2 1080 height limit modify to 1088.

Verify:
x301

Change-Id: Ia05018c04fc0224ee66071add819759243477bbd
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
5 years agomedia_modules: h265 format playback appears mosaic [1/1]
Peng Yixin [Wed, 18 Sep 2019 13:29:36 +0000 (21:29 +0800)]
media_modules: h265 format playback appears mosaic [1/1]

PD#SWPL-13111

Problem:
Garbage image is observed after forwarding/rewinding.
The HEVC decoder working buffer has missing initializing
before decoding and it may cause decoder internal
wrong state and generate bad output.

Solution:
Clear decoder internal working buffer before decoding.

Verify:
U212

Change-Id: Ie3b942bbbf9470d1869cb2f4e20647e9dbbea86a
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
5 years agovmh264: fixed playback for the interlace source. [1/1]
Nanxin Qin [Mon, 17 Jun 2019 13:33:35 +0000 (21:33 +0800)]
vmh264: fixed playback for the interlace source. [1/1]

PD#OTT-4563

Problem:
1080i-25-H264.mkv playback failed,no video and audio

Solution:
fixed playback for the interlace source.

Verify:
w400

Change-Id: Ie01282e4173b51f62165ebcbbffb0e7f55c58025
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
5 years agoesparser: fix address mapping warning [1/1]
Song Zhao [Thu, 12 Sep 2019 20:40:51 +0000 (13:40 -0700)]
esparser: fix address mapping warning [1/1]

PD#TV-10166

Problem:
End of AIU buf are not mapped.

Solution:
Avoid converting it to virtual address

Verify:
T962E2

Change-Id: I7ca5d8f987773cb96970a3f3f6bf7f10b28c0889
Signed-off-by: Song Zhao <song.zhao@amlogic.com>
5 years agovmh264: fix memory pollution issue caused by LMEM DMA [1/1]
Hui Zhang [Thu, 12 Sep 2019 05:59:39 +0000 (13:59 +0800)]
vmh264: fix memory pollution issue caused by LMEM DMA [1/1]

PD#SWPL-14018

Problem
LMEM DMA caused memory pullotion

Solution:
read LMEM dma address from scratch regiest directly

ucode gerrit: 85777
ucode change id: I98ef
ucode commit id: ee37df

Verify:
X301

Change-Id: I25f129dc1d8b4f77633fbdf49c43794e2b7fe2bf
Signed-off-by: Sandy Luo <sandy.luo@amlogic.com>
5 years agovmh264: fix StreamSpark{8669-128} playback not smooth issue [1/1]
Hui Zhang [Sat, 14 Sep 2019 10:03:37 +0000 (18:03 +0800)]
vmh264: fix StreamSpark{8669-128} playback not smooth issue [1/1]

PD#SWPL-10335

Problem:
default value of start_decode_buf_level is big and
cause too much time cost on check run ready. decoding
output is not quick. and display not smooth

Solution:
change start_decode_buf_level to 0x4000

Verify:
R314

Change-Id: Ia09432495dababcb51964b4d05e05bd9bfcda8ec

5 years agovmh264: fix pic discard issue [1/1]
Hui Zhang [Fri, 13 Sep 2019 09:30:26 +0000 (17:30 +0800)]
vmh264: fix pic discard issue   [1/1]

PD#SWPL-10954

Problem:
in reference list error, it will cause bufmgr reset
and discard more frames.

Solution:
1) not to do bufmgr for each reference list error.
2) change flag to NODISP for reference list error

Verify:
r314

Change-Id: Icab4dd31ca0674584e046c434e4702929c142dc8
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
5 years agovh265: fix seek mosaic issue [1/1]
Hui Zhang [Thu, 12 Sep 2019 04:54:05 +0000 (12:54 +0800)]
vh265: fix seek mosaic issue   [1/1]

PD#SWPL-14049

Problem:
there is mosaic in screeen when ff/ff or seek

Solution:
not to do error flush until first pic decoded

Verify:
r314

Change-Id: Idd0499add7040ff5bb059ebdc0db16d6680a4600
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
5 years agovmh264: fix memory pollution issue caused by DCAC DMA [1/1]
Hui Zhang [Mon, 9 Sep 2019 08:59:43 +0000 (16:59 +0800)]
vmh264: fix memory pollution issue caused by DCAC DMA  [1/1]

PD#SWPL-13280

Problem:
DCAC dma address is invalid. cause memory pollution

Solution:
read mem_offset from SCRATCH register directly. because
some corner cases, mem_offset will be set to 0. it will
cause DMA Address outof range

ucode gerrit: 85293
ucode change id: I4b82d
ucode commit id: 5aed5

Verify:
x301

Change-Id: Ifdadb92c0f86e5ed2e6f23cbb4d43e8a9544c23e
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
5 years agovmh264: fix frame drop issue in nts [1/1]
Hui Zhang [Thu, 5 Sep 2019 11:38:38 +0000 (19:38 +0800)]
vmh264: fix frame drop issue in nts [1/1]

PD#SWPL-13465

Problem:
force di happaned when resolution changed,which
cause frame drop in nts

Solution:
disable force di in secure mode

Verify:
U212

Change-Id: Ie19edacef07c46ac3eb39385b674a1d366c3c3c3
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
5 years agoaats: fix mpeg2 and avs frame check fail. [1/1]
Gan Zhang [Mon, 2 Sep 2019 09:58:54 +0000 (17:58 +0800)]
aats: fix mpeg2 and avs frame check fail. [1/1]

PD#NONE

Problem:
On X301 platform, the avs code stream has random frame errors.
On AB301 platform, 64bit code mpeg2 flush size is small.

Solution:
1.Flush dcache buffer is used to ensure the correctness of data to
solve the problem of random frame check error of avs code stream.
2.By changing the y and uv sizes of canvas, the frame calibration error
caused by mpeg2 code stream in 64-bit system due to canvas buffer can be solved.

Verify:
x301,ab311

Change-Id: I7017a2b6768e73b8335ea6785f0cb4aeb12f466f
Signed-off-by: Gan Zhang <gan.zhang@amlogic.com>
5 years agomedia_module: fixed gts h264 crash issue [1/1]
Peng Yixin [Mon, 29 Jul 2019 11:34:53 +0000 (19:34 +0800)]
media_module: fixed gts h264 crash issue [1/1]

PD#SWPL-9611

Problem:
gts test crash.
Due to an internal scheduling problem with 264,
the state is unnormal, causeing kernel crash.

Solution:
Let it not exit the decoding schedule when
DEC_RESULT_CONFIG_PARAM logic in vh264_work.

Verify:
S805Y_P244

Change-Id: I3019e88695aec9f6ca4f7e87a3bb3b67b921d672
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
5 years agoQ-bringup: modify makefile for build and boot succeed [5/8]
Shuide Chen [Fri, 28 Dec 2018 05:31:40 +0000 (13:31 +0800)]
Q-bringup: modify makefile for build and boot succeed [5/8]

PD#SWPL-3168

Problem:
cannot build media modules

Solution:
fix build requirement for Q, as:
https://android.googlesource.com/platform/build/+/master/Changes.md

Verify:
locally and patchbuild.

Change-Id: I2dda5a4804bd8ceb09fbba4a88fb0faebaa13147
Signed-off-by: Shuide Chen <shuide.chen@amlogic.com>
Signed-off-by: Tellen Yu <tellen.yu@amlogic.com>
5 years agovh265: fix h265 playback stutter issue [1/1]
Hui Zhang [Sat, 31 Aug 2019 03:01:57 +0000 (11:01 +0800)]
vh265: fix h265 playback stutter issue  [1/1]

PD#SWPL-12773

Problem:
when play back to start in dvb, there is error in stream.
it caused poc issue and output is not in correct order

Solution:
add check for poc. once there is some errors. for ex:
new poc more less than pre poc. and it is idr pic.
decoder need to do a flush first. and start decoding
from new poc

Verify:
x301

Change-Id: I04b4086a9a08d195e5453fe8cc765c3303e2a369
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
5 years agomedia_module: fixed screen static when play PIP local content [1/1]
Peng Yixin [Thu, 27 Jun 2019 03:11:41 +0000 (11:11 +0800)]
media_module: fixed screen static when play PIP local content [1/1]

PD#OTT-4677

Problem:
Multi-channel local playback of different format,
one channel will stuck when seek another channel. The
uncorrect ucode was loaded due to a logic problem, which
caused playback stuck.

Solution:
The loading ucode logic was modified to
solve this problem.
When core->last_vdec=null, set vdec->mc_loaded = 0,
the ucode will be loaded correctly.

Verify:
u212

Change-Id: Ib9ec52329138b58410079ab0a801e03a6f471e5d
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
5 years agoh264: play some video mosaics on dvb. [1/1]
shihong.zheng [Fri, 23 Aug 2019 09:17:16 +0000 (17:17 +0800)]
h264: play some video mosaics on dvb. [1/1]

PD#TV-7574

Problem:
some mosaics when play dvb bitstream.

Solution:
1. reset bufmgr when dec_dpb_status is timeout;
2. clear mv buf after alloc, it may mosaic after reset;
3. set error flag when decode_mb_count less than
   first_mb_in_slice * (1 + mbaff_frame_flag).

Verify:
T972

Change-Id: Ic2ca584a70bb0243e9d4262232df0ae3e51295ad
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
5 years agovh265: can't playback issue on R314 [1/1]
Hui Zhang [Wed, 21 Aug 2019 10:35:02 +0000 (18:35 +0800)]
vh265: can't playback issue on R314  [1/1]

PD#SWPL-13016

Problem:
h265 gxl based ucode size overflow, cause can't playback
caused by TV8081 commit

Solution:
fix size over flow issue, remove some nop

ucode gerrit: 83642
ucode change id : I22a4b
ucode commit id: 8263b2

Verify:
R314

Change-Id: I68e319c3326461bbf9f172012dfd24ba3834ba0f
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
5 years agoRevert "vh265: fix h265 playback stutter issue [1/1]"
Hui Zhang [Wed, 21 Aug 2019 08:48:23 +0000 (16:48 +0800)]
Revert "vh265: fix h265 playback stutter issue  [1/1]"

This reverts commit 4dac82134254e061cb40a23b856cd6896eea56c8.

Change-Id: I60cf2f0f0ed7b3afa8f00a271e86dcd2318aaf6a

5 years agovmh264: avoid the used_size becoming negative. [1/1]
Nanxin Qin [Mon, 12 Aug 2019 09:51:06 +0000 (17:51 +0800)]
vmh264: avoid the used_size becoming negative. [1/1]

PD#SWPL-9472

Problem:
h264 ANR issue when DTV weak signal

Solution:
avoid the used_size becoming negative.

Verify:
x301

Change-Id: Ib61d1dc942faa7f60e6548f0134ecc86e3944dbc
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
5 years agovh265: fix h265 playback stutter issue [1/1]
Hui Zhang [Sun, 18 Aug 2019 08:34:13 +0000 (16:34 +0800)]
vh265: fix h265 playback stutter issue  [1/1]

PD#SWPL-12773

Problem:
when play back to start in dvb, there is error in stream.
it caused poc issue and output is not in correct order

Solution:
add check for poc. once there is some errors. for ex:
new poc more less than pre poc. and it is idr pic.
decoder need to do a flush first. and start decoding
from new poc

Verify:
x301

Change-Id: I5442f1b120b0c94aafed6078190a8dfc689b47b1
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
5 years agoesparser: fix vp9 play abnormal. [1/1]
shihong.zheng [Sat, 17 Aug 2019 07:33:21 +0000 (15:33 +0800)]
esparser: fix vp9 play abnormal. [1/1]

PD#SWPL-12692

Problem:
vp9 play abnormal, data dropped at end
when threadrw workqueue wirte bitstream.
int type implicit convert to size_t when
compare with size_t type.

Solution:
firstly check ret less than 0, avoid
complicit convert to size_t int 64bit
when compare with left which is size_t type.

Verify:
p212

Change-Id: I8942ea23c2e711d084971bbbde63e3374b4a9b6b
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
5 years agohevc_core: fix crash issue caused by mpred dma. [1/1]
Hui Zhang [Tue, 20 Aug 2019 00:34:59 +0000 (08:34 +0800)]
hevc_core: fix crash issue caused by mpred dma. [1/1]

PD#TV-8081

Problem:
for some serious error h265 stream. it might set HEVC_MPRED_TILE_SIZE_LCU
to 0. and it caused :

1) Zero tile size will cause end address result wrong
2) Zero tile size will cause Mpred AXI write address offset wrong

it will cuase mpred dma out of range and memory poluation

Solution:
add a check for non-Zero before to set HEVC_MPRED_TILE_SIZE_LCU  register.
if 0. decoder will stop to go ahead to avoid invalid processing

ucode gerrit id: 83256
ucode change id: I4bd85
ucode commit id: 91e8ea

Verify:
X301

Change-Id: Ia72791fd7e6699a91f492fd0e5c5d10457c0c741
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
5 years agodemux: add reset flag for iptv [1/1]
Chuangcheng Peng [Fri, 16 Aug 2019 03:00:12 +0000 (11:00 +0800)]
demux: add reset flag for iptv [1/1]

PD#168964

Problem:
iptv need reset all demux

Solution:
add demux_reset_all_flag node

Verify:
verify at R311

Change-Id: I78da0a67833752a58dbeab7839f98ed77c469c44
Signed-off-by: Chuangcheng Peng <chuangcheng.peng@amlogic.com>
5 years agomedia: h264 encoder add svc feature [1/1]
yongchun.li [Sat, 27 Jul 2019 03:00:20 +0000 (20:00 -0700)]
media: h264 encoder add svc feature [1/1]

PD#SH-703

Problem:
Need SVC feature for customer project

Solution:
Support SVC feature on G12A/B h264 encoder
  add module parameters to enable and config it.

Config:Set how many continously non-reference P frames.
between two reference frames. 1 here as example
echo 1 > /sys/module/encoder/parameters/svc_ref_conf
To enable:
echo 1 > /sys/module/encoder/parameters/svc_enable

open device and encode as needed.

for multi-instances with different configration,
just configure/enable/change before open the
device for that instance.

Verify:
G12B W400

Change-Id: Ib7992db9fea994d6b2760fda58a7f19e4d509b3e
Signed-off-by: yongchun.li <yongchun.li@amlogic.com>
5 years agomedia_modules: add dec slt test code. [2/3]
shihong.zheng [Fri, 2 Aug 2019 09:39:45 +0000 (17:39 +0800)]
media_modules: add dec slt test code. [2/3]

PD#OPS-679

Problem:
add dec slt test code.

Solution:
add slt test interface in amstream and frame check.

Verify:
x301

Change-Id: Ia44ebc862d194b4175a38b211f95124e3b304404
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
5 years agovp9: fix vp9 display abnormal when double write 0x10. [1/1]
shihong.zheng [Fri, 26 Jul 2019 09:34:29 +0000 (17:34 +0800)]
vp9: fix vp9 display abnormal when double write 0x10. [1/1]

PD#SWPL-11767

Problem:
1. vp9 display abnormal when double write 0x10, function
   get_double_write_mode return 1 before frame valid;
2. some h264 video can not play in single mode.

Solution:
1. return valid double write mode when it mask by 0x300;
2. clear AV_STRATCH_J to end the userdata wait loop.

Verify:
u212

Change-Id: Ib7ae2c164393bdd1c665cbb1e298ebd38b23b705
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
5 years agodemux: add license for source file. [1/1]
Chuanzhi Wang [Thu, 25 Jul 2019 02:56:34 +0000 (10:56 +0800)]
demux: add license for source file. [1/1]

PD#SWPL-11719

Problem:
clean no license source file.

Solution:
add  license for source file.

Verify:
r314

Change-Id: I13ba77b78dab2f963af8219cd3173decd3bfb519
Signed-off-by: chuanzhi.wang <chuanzhi.wang@amlogic.com>
5 years agovvp9: enable low-latency mode by default [1/1]
Hui Zhang [Tue, 25 Jun 2019 01:28:03 +0000 (09:28 +0800)]
vvp9: enable low-latency mode by default [1/1]

PD#GH-51

Problem:
there is a little delay in vp9 decoder output

Solution:
enable low-latency mode by default in driver

Verify
X301

Change-Id: I6ddea36ad37dc7ac5c9a125cf33d41adecffdbcb
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
5 years agomedia_module: control CAM throw mcu and used api to control mcu. [1/1]
hualing chen [Tue, 30 Jul 2019 08:51:39 +0000 (16:51 +0800)]
media_module: control CAM throw mcu and used api to control mcu. [1/1]

PD#SWPL-10659

Problem:
spi_regist_boardinfo is changed,we need used amlogic spi regist api.

Solution:
1 change "spi_register_board_info" to "dirspi_register_board_info".

Verify:
verified on t962x3-t312 box.

Change-Id: I49a2769e368ce0124f381397c8b356ad14e1c785
Signed-off-by: hualing chen <hualing.chen@amlogic.com>
5 years agompeg2: fix mpeg2 disp error when switch resolution. [1/1]
shihong.zheng [Wed, 17 Jul 2019 07:07:46 +0000 (15:07 +0800)]
mpeg2: fix mpeg2 disp error when switch resolution. [1/1]

PD#SWPL-11133

Problem:
mpeg2 display picture overlapping when switch resolution.
it cause by ucode do not parse new seq header after save
context when seq end.

Solution:
1. update width and height for every pic;
2. do not save context but userdata buf wp when seq end,
   if not save userdata wp, userdata buf wp will be new
   and data may be dropped;
3. set second field pts zero.
ucode gerrit id: 80391
ucode change id: I8826818

Verify:
T962X-R314

Change-Id: Ifd3f24dad2909d2f914b95880011a816574e76f5
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
5 years agomedia_module: clean no license source file [1/1]
Gan Zhang [Mon, 29 Jul 2019 08:26:15 +0000 (16:26 +0800)]
media_module: clean no license source file [1/1]

PD#SWPL-11720

Problem:
clean no license source file.

Solution:
Add license information to the source file.

Verify:
U212

Change-Id: I928f2dd834b98bba6f3722d1146887896a1c0e49
Signed-off-by: Gan Zhang <gan.zhang@amlogic.com>