GitHub/LineageOS/G12/android_hardware_amlogic_kernel-modules_media.git
4 years agoamstream: fixed issue that can not playback. [1/1]
Nanxin Qin [Fri, 16 Oct 2020 07:20:15 +0000 (15:20 +0800)]
amstream: fixed issue that can not playback. [1/1]

PD#SWPL-33180

Problem:
the boot shows get posts but did not release
cause all resource can not playback.

Solution:
clear ports status when inst exit.

Verify:
u212

Change-Id: I7246f29273649786159336773951a8714c8a8e70
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agoamstream: fix crash when update ext stbuf metainfo. [1/1]
shihong.zheng [Thu, 10 Sep 2020 09:18:51 +0000 (17:18 +0800)]
amstream: fix crash when update ext stbuf metainfo. [1/1]

PD#SWPL-33180

Problem:
1. fix crash when update ext stbuf metainfo.
2. delay put fd cause playback stuck.

Solution:
1. add some null check for metainfo update.
2. If it is the single instance that the pipeline of DTV used,
   then have to check that the resources which is work on the
   tunnel are being released.

Verify:
ah212

Change-Id: Iaa68a6c2b4fcd0b8dbea30603c2d6e4e3463160e
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agov4l: set DV aux data into vframe [1/1]
Song Zhao [Thu, 8 Oct 2020 23:53:23 +0000 (16:53 -0700)]
v4l: set DV aux data into vframe [1/1]

PD#SWPL-27950

Problem:
Aux data is not copied to vframe.

Solution:
Limit update_vframe_src_fmt() to v4l use case only.

Verify:
U212 + gstreamer

Change-Id: I35e99caff5d0c02ea38253e0b614233bfe05f784
Signed-off-by: Song Zhao <song.zhao@amlogic.com>
4 years agoh265: add vf debug informations. [1/1]
gan.zhang [Wed, 16 Sep 2020 06:34:32 +0000 (14:34 +0800)]
h265: add vf debug informations. [1/1]

PD#SWPL-25416

Problem:
There is no debug informations for vf.

Solution:
add vf debug informations.

Verify:
AB301

Change-Id: I0954578e590637e736c4d337b473b732b46e50e6
Signed-off-by: gan.zhang <gan.zhang@amlogic.com>
4 years agomedia_module: h265 fixed wrong sps cause playback stuck issue [1/1]
Peng yixin [Thu, 10 Sep 2020 06:38:08 +0000 (14:38 +0800)]
media_module: h265 fixed wrong sps cause playback stuck issue [1/1]

PD#SWPL-30901

Problem:
Because the SPS information in the video file is incorrect,
cause playback stuck.

Solution:
When this happens, all buffers will released to resolve the problem.

Verify:
U215

Change-Id: I080c7bfd4e57642a7edae64e3b69d4eee356254c
Signed-off-by: Peng yixin <yixin.peng@amlogic.com>
4 years agomedia_module: h265 fixed same frame being written to DPB multiple times [1/1]
Peng Yixin [Mon, 7 Sep 2020 09:23:26 +0000 (17:23 +0800)]
media_module: h265 fixed same frame being written to DPB multiple times [1/1]

PD#SWPL-30901

Problem:
In stream mode, multiple frames are decoded in a decoding process,
but at last there is insufficient data. As a result, other frames
are stored in DPB except last frame. However, the next run will be
decode again and stored in DPB, which results in the same frame being
stored in DPB for many times and cause playback stuck.

Solution:
In this case, release all the frames stored in the DPB in this
decoding process to resolve this problem.

Verify:
U215

Change-Id: I1f1360467a5bfb364cde03268857922ca05b8d75
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
4 years agoav1: fix some stream playback appears mosaics. [2/2]
gan.zhang [Mon, 12 Oct 2020 02:04:40 +0000 (10:04 +0800)]
av1: fix some stream playback appears mosaics. [2/2]

PD#SWPL-34649

Problem:
For av1 formats, the top reference data is 20 times of other formats, so
new DDR store/load function added for AV1. For some special case, tile
is narrow and the decoding speed is relatively fast, this will result in
the data is still in write pipeline, not write to DDR yet. This caused
decoding wrong.

Solution:
Adding checking of write response before loading inside microcode, wait
for write pipeline finish before read.

ucode gerrit id:127347
ucode commit id:3a3627
ucode change id:If8fc5

Verify:
AB311

Change-Id: I04d73a1c6819655851d53a3deddf56158b8157fb
Signed-off-by: gan.zhang <gan.zhang@amlogic.com>
4 years agoh265: aux data exceeding size results in crash. [1/1]
gan.zhang [Fri, 2 Oct 2020 07:05:20 +0000 (15:05 +0800)]
h265: aux data exceeding size results in crash. [1/1]

PD#SWPL-34380

Problem:
When parsed to eos, the aux_size of the last frame
of data is set in set_aux_data to an incorrect size.

Solution:
1.When parsed to eos, if decoding_pic is NULL,
dolby_get_meta is not called.
2.Add a size limit in the dump_aux_data function
to prevent access overbounds from causing crashes.

https://scgit.amlogic.com/#/c/119228/
The above submission only ensures no crash by limiting the aux_data size

Verify:
AH212

Change-Id: I99c369f91e3f9357d692e0abe8bf13562f172cf4
Signed-off-by: gan.zhang <gan.zhang@amlogic.com>
4 years agoh264: fix h264 freeze after config decode buf failed. [1/1]
shihong.zheng [Thu, 8 Oct 2020 08:19:56 +0000 (16:19 +0800)]
h264: fix h264 freeze after config decode buf failed. [1/1]

PD#SWPL-34606

Problem:
h264 freeze after config decode buf failed

Solution:
set init flag 0 after set param failed.

Verify:
t963

Change-Id: I6f965dc76f341ca38d105d4e25116725e76abee7
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agomediasync: Fix mediasync compile error for buildroot [1/1]
Lifeng Cao [Fri, 9 Oct 2020 02:32:39 +0000 (10:32 +0800)]
mediasync: Fix mediasync compile error for buildroot [1/1]

PD#SWPL-25622

Problem:
Fix mediasync compile error for buildroot

Solution:
change inclue <>  to ""

Verify:
SC2

Change-Id: If20d321ce8f11728594ecbea03f1d3c6f911f54b
Signed-off-by: Lifeng Cao <lifeng.cao@amlogic.com>
4 years agomediasync: add mediasync clock driver [3/5]
Lifeng Cao [Thu, 18 Jun 2020 09:53:42 +0000 (17:53 +0800)]
mediasync: add mediasync clock driver [3/5]

PD#SWPL-25622

Problem:
AV sync need a driver in media modules

Solution:
add mediasync clock driver

Verify:
SC2

Change-Id: Id0b1190bd1c2bbbce306362ecdb9466296ec0584
Signed-off-by: Lifeng Cao <lifeng.cao@amlogic.com>
4 years agovp9: add vp9 decoder tests in dec_slt. [2/2]
gan.zhang [Sun, 27 Sep 2020 01:30:11 +0000 (09:30 +0800)]
vp9: add vp9 decoder tests in dec_slt. [2/2]

PD#OPS-1192

Problem:
In the dec_slt test, since max_pic_h and max_pic_w were not
configured via config at the upper level, the decoding driver
allocated memory according to the maximum resolution supported
by the chip, this will cause the codec_mm to be insufficient
and lead the test to fail.

Solution:
max_pic_h and max_pic_w are configured via the upper sys_info.

Verify:
AC214

Change-Id: Ib2006c51ecef3d98ebd6cce89610f636c60c60ed
Signed-off-by: gan.zhang <gan.zhang@amlogic.com>
4 years agovmh264: fix mosaic when decode error frame. [1/1]
shihong.zheng [Fri, 2 Oct 2020 08:44:57 +0000 (16:44 +0800)]
vmh264: fix mosaic when decode error frame. [1/1]

PD#SWPL-34290

Problem:
fix h264 show error frames.

Solution:
fix h264 error frames recycle failed.

Verify:
t963

Change-Id: Ifff87f781da7cf83727c2c9408f6edcaa37bd8ab
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agovmh264: h264 stream crash when enable debug [1/1]
miaohong chen [Tue, 29 Sep 2020 02:17:51 +0000 (10:17 +0800)]
vmh264: h264 stream crash when enable debug [1/1]

PD#SWPL-34375

Problem:
Null pointer access lead to crash

Solution:
Add Null pointer detect

Verify:
U212

Change-Id: I9d54d7640dd435b1a47823c26e878441ad05e31a
Signed-off-by: miaohong chen <miaohong.chen@amlogic.com>
4 years agoh265: fix a crash in set_aux_data. [1/1]
Gan Zhang [Thu, 30 Jul 2020 02:41:52 +0000 (10:41 +0800)]
h265: fix a crash in set_aux_data. [1/1]

PD#SWPL-32695

Problem:
aux data Size exceeds the allocated buff size.

Solution:
When the size exceeds the allocated size, set aux size to 0.

Verify:
U215

Change-Id: Ic15a60b95f8061c93a2ee7c96e23466e42a4d110
Signed-off-by: Gan Zhang <gan.zhang@amlogic.com>
4 years agodecoder: Make correct waiting flag for workqueue [1/1]
apollo.ling [Tue, 22 Sep 2020 06:49:29 +0000 (14:49 +0800)]
decoder: Make correct waiting flag for workqueue [1/1]

PD#SWPL-33743

Problem:
CtsMediaTestCases 4 item fail, which reason is delay.
The delay is introduced by SWPL26671

Solution:
Make correct waiting flag of workqueue

Verify:
u212

Change-Id: Iac1b8887d748b86d535cbb3fb3ca1392025544e7
Signed-off-by: apollo.ling <apollo.ling@amlogic.com>
4 years agovdec: ADD Secure/nonSecure flags to video frame [2/2]
zichao.zhang [Fri, 25 Sep 2020 07:18:34 +0000 (15:18 +0800)]
vdec: ADD Secure/nonSecure flags to video frame [2/2]

PD#SWPL-25232

Problem:
This is a new feature.

Solution:
ADD Secure/nonSecure flags to video frame

Verify:
U212

Change-Id: I528ee9f0796ee73c8044abc2c5c16de6ab94d1de
Signed-off-by: zichao.zhang <zichao.zhang@amlogic.com>
4 years agovdec: avoid to use NULL pointer [1/1]
apollo.ling [Sun, 27 Sep 2020 07:05:38 +0000 (15:05 +0800)]
vdec: avoid to use NULL pointer [1/1]

PD#SWPL-34229

Problem:
DTV H264 cut off, null pointer crashes

Solution:
Check the pointer before using it

Verify:
T962X3-AB301

Change-Id: I49075e3f3d2018f70e19f356e577a80fd70cdb2f
Signed-off-by: apollo.ling <apollo.ling@amlogic.com>
4 years agoh265: fixed VCPU DMC VIOLATION issue [2/2]
Peng Yixin [Mon, 14 Sep 2020 09:23:44 +0000 (17:23 +0800)]
h265: fixed VCPU DMC VIOLATION issue [2/2]

PD#SWPL-30901

Problem:
the VPS_BUFFER address stored in LMEM
memory was modified to 0, cause this problem.

Solution:
Instead of using LMEM memory to store
this address, use the DOS_SCRATCH20 register.
ucode gerrit id: 124313
ucode commit id: 16e7cb
ucode change id: Icf747

Verify:
U215

Change-Id: I5dfb6d527c6f46a977ba6a1cfd151a8c1c94c26a
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
4 years agov4l: clear vb2 buffer flags for next use. [1/1]
Nanxin Qin [Wed, 19 Aug 2020 03:05:48 +0000 (11:05 +0800)]
v4l: clear vb2 buffer flags for next use. [1/1]

PD#SWPL-31953

Problem:
V4L2 Buffer flag is not cleared when streamoff.

Solution:
clear vb2 buffer flags for next use when cmd streamoff.

Verify:
w400

Change-Id: Ib4bc1fb3c9f8ed21ce740af9ddffd984fd9e5da9
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agoh265: add init stream offset [1/1]
miaohong chen [Fri, 18 Sep 2020 02:37:26 +0000 (10:37 +0800)]
h265: add init stream offset  [1/1]

PD#SWPL-33557

Problem:
The stream offset is not initialized each time the start broadcast,
which causes it to accumulate, so that the correct pts
cannot be obtained, which may cause out of synchronization.

Solution:
init stream offset when start every time.

Verify:
u212

Change-Id: Iba8df5525cfcf6b8b42ef4fc4c464ae681202272
Signed-off-by: miaohong chen <miaohong.chen@amlogic.com>
4 years agomedia: add aux data crc in h264 and h265 stream. [1/1]
Gan Zhang [Fri, 26 Jun 2020 08:04:58 +0000 (16:04 +0800)]
media: add aux data crc in h264 and h265 stream. [1/1]

PD#SWPL-25416

Problem:
no aux data crc info.

Solution:
add aux data crc in h264 and h265 stream.

Verify:
AC214

Change-Id: Ie9675b154cc45c144d4d11bb4afe7f859cc75aed
Signed-off-by: Gan Zhang <gan.zhang@amlogic.com>
4 years agovmh264: add the feature of fence for h264 decoder. [2/2]
Nanxin Qin [Tue, 15 Sep 2020 13:16:01 +0000 (21:16 +0800)]
vmh264: add the feature of fence for h264 decoder. [2/2]

PD#SWPL-32845

Problem:
need decode fence  on cloud game docking

Solution:
1. add the feature of fence for h264 decoder.
2. just used ip only stream source.

Verify:
u212

Change-Id: I80ed4f19d5f05c491e9599574cdb153c2a87b06d
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agovdec: remove vp9 waiting work [1/1]
apollo.ling [Wed, 16 Sep 2020 08:03:26 +0000 (16:03 +0800)]
vdec: remove vp9 waiting work [1/1]

PD#SWPL-32897

Problem:
There is one failed case for CTSGSI test

Solution:
Remove vp9 waiting work to finished when next run

Verify:
u215

Change-Id: I2df8be6bd0fd912f8277b3cd6b6fcd0487b6dad4
Signed-off-by: apollo.ling <apollo.ling@amlogic.com>
4 years agovdec: avoid free block when block is in free list [1/1]
apollo.ling [Fri, 18 Sep 2020 07:40:15 +0000 (15:40 +0800)]
vdec: avoid free block when block is in free list [1/1]

PD#SWPL-33580

Problem:
When mem block is in free list, the mem block is freed

Solution:
Avoid free mem block when block is in free list

Verify:
u212

Change-Id: I7884c78c2fbd7db826eda94419569b5873c5d14e
Signed-off-by: apollo.ling <apollo.ling@amlogic.com>
4 years agomavs: fixed stream mode lookup pts fail issue [2/2]
Peng yixin [Thu, 10 Sep 2020 08:49:22 +0000 (16:49 +0800)]
mavs: fixed stream mode lookup pts fail issue [2/2]

PD#SWPL-25623

Problem:
Because the variable buffer_size is used incorrectly in
the ucode, cause the stream offeset is incorrect.

Solution:
Modify the error logic about incorrect use buffer_size
variable to fix this problem.
ucode gerrit id: 123739
ucode commit id: cdda98
ucode change id: Icc58a

Verify:
AB311

Change-Id: I98dd67ac0dbbe12a40c5e737ea856a3d429cf62b
Signed-off-by: Peng yixin <yixin.peng@amlogic.com>
4 years agomedia_module: fix a crash in cts r [1/1]
Hui Zhang [Fri, 18 Sep 2020 01:51:59 +0000 (09:51 +0800)]
media_module: fix a crash in cts r [1/1]

PD#SWPL-33266

Problem:
when a invalid vf being detected in vf_put, there are a lot
of printk cause system crash

Solution:
1) add valid checkn for dummy vf in vf_put
2) add debug level for invalid vf printk

Verify:
AC214

Change-Id: I910136a290b95c4c1ca24ad52fb2e5be6e8b6d0b
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
4 years agotsync: move tsync related start/stop from v-stream to tsync [2/3]
Zhizhong Zhang [Wed, 16 Sep 2020 11:19:31 +0000 (19:19 +0800)]
tsync: move tsync related start/stop from v-stream to tsync [2/3]

PD#SWPL-32957

Problem:
zap to audio only channel,no audio output

Solution:
move tsync related start/stop from v-stream to tsync

Verify:
AH212 patch-build

Change-Id: Ia2f741aac7ea91319fd0592da8d9485eb14423df
Signed-off-by: Zhizhong Zhang <zhizhong.zhang@amlogic.com>
4 years agovdec: calculate average in multi frame rate [1/1]
apollo.ling [Tue, 15 Sep 2020 13:41:43 +0000 (21:41 +0800)]
vdec: calculate average in multi frame rate [1/1]

PD#SWPL-33406

Problem:
need support Match Frame Rate function on disney

Solution:
Calculate average in multi frame rate

Verify:
ac214

Change-Id: Iab15872dc0c981c17fcb867840c8f58b7994fbdb
Signed-off-by: apollo.ling <apollo.ling@amlogic.com>
4 years agodmx: fix for recorder_stream [1/1]
Zhiqiang Han [Wed, 9 Sep 2020 10:52:44 +0000 (18:52 +0800)]
dmx: fix for recorder_stream [1/1]

PD#SWPL-32605

Problem:
subtitles & teletext cannot displayed when timeshift

Solution:
change record stream to video stream

Verify:
Change-Id: I9d6f2574f757149a7f7618b1d36c69556461f2db

4 years agovmh264: fix DCAC dma memory pollution issue [1/1]
Hui Zhang [Fri, 28 Aug 2020 07:59:11 +0000 (15:59 +0800)]
vmh264: fix DCAC dma memory pollution issue [1/1]

PD#SWPL-32462

Problem:
memory pullotion by DCAC dma

Solution:
add DCAC dma address range check to void oversize

ucode gerrit id: 122592
ucode commit id: b99eca
ucode change id: I038ee

Verify:
u212

Change-Id: I038ee5769324539ae55876b9572f6ed795f164f7
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
4 years agomedia_module: h264 sleep during soft interruptions issue [1/1]
Peng Yixin [Mon, 7 Sep 2020 06:07:12 +0000 (14:07 +0800)]
media_module: h264 sleep during soft interruptions issue [1/1]

PD#SWPL-32808

Problem:
The sleep function was called in the soft
interruptions(Decoder decoding timeout), which
caused the problem.

Solution:
This problem is solved by placing the sleep
function in the workqueue from the soft
interruptions.

Verify:
U215

Change-Id: I3e199a8639ed9411560a000f39f2344cb6b4dd8a
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
4 years agovmh264: fixed vf being output repeatly issue. [2/2]
Hui Zhang [Fri, 28 Aug 2020 11:36:07 +0000 (19:36 +0800)]
vmh264: fixed vf being output repeatly issue. [2/2]

PD#SWPL-31351

Problem:
sometimes frame was output twice, because there is race
condition between vf_put and get_smallest_poc. so it
need lock to protect critical code

Solution:
add lock to protect critiacl code

Verify:
AC214

Change-Id: I6c7aed70f3a9e3f4d72ff53f5256b117a62c7399
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
4 years agov4l2: refine dmabuf recycle on output port [1/1]
Song Zhao [Wed, 9 Sep 2020 06:56:44 +0000 (23:56 -0700)]
v4l2: refine dmabuf recycle on output port [1/1]

PD#SWPL-32040

Problem:
When output port is working at DMABUF mode, at resolution change point,
there is a chance recycle_dmabuf can not be triggered at right timing.
As a result, all the freed buffers are still in vdec input, but
applicaiton can not dqueue any from M2M.

Solution:
Add callback in vdec intput, so when a chunk is released the callback is
triggered to return the buffer to M2M.

Verify:
U212 + DSTV

Change-Id: I64d6f0b2d1d7000323e6e2f674ae328846cb89a7
Signed-off-by: Song Zhao <song.zhao@amlogic.com>
4 years agovp9: support V4L2 HDR static setting [1/1]
Song Zhao [Thu, 3 Sep 2020 18:35:30 +0000 (11:35 -0700)]
vp9: support V4L2 HDR static setting [1/1]

PD#SWPL-32750

Problem:
 *Luminance doesn't match display
 *application can not set static information to decoder.

Solution:
 *Luminance match display (*10000)
 *Interface layer set static information.

Verify:
U212 + HDMITX output

Change-Id: Ia07732d7af34e3f6930ef4c2b4d08c120132ad80
Signed-off-by: Song Zhao <song.zhao@amlogic.com>
4 years agoavs: multi-instance mosaic and decode timeout issue [2/2]
Peng yixin [Wed, 19 Aug 2020 05:20:16 +0000 (13:20 +0800)]
avs: multi-instance mosaic and decode timeout issue [2/2]

PD#SWPL-25623

Problem:
1.Ucode send interrupt twice in the decoding process,
which leads to the abnormal decoding process.
2.There was an error frame when the stream returned, and
the memory address required for CC was not reconfigured,
resulting in mosaics and timeout.
ucode gerrit id: 121825
ucode commit id: 1f5ff6
ucode change id: I4812c

Solution:
1.Send interrupts correctly to the decoder.
2.When there is an error in the code stream,
the memory address requiredfor CC is reconfigured

Verify:
AB311

Change-Id: I2f06e56282995aaba3f3cb53c12c3924d7bff23a
Signed-off-by: Peng yixin <yixin.peng@amlogic.com>
4 years agovdec: avoid decoder run and work executing at the same time [1/1]
apollo.ling [Fri, 22 May 2020 07:18:29 +0000 (15:18 +0800)]
vdec: avoid decoder run and work executing at the same time [1/1]

PD#SWPL-26671

Problem:
decoder run and work executing at same time will causes race conditions

Solution:
avoid decoder run and work executing at the same time

Verify:
u212

Change-Id: I9e16c7cebc6fb7d0bc36f749d7bc430c515e6c6a
Signed-off-by: apollo.ling <apollo.ling@amlogic.com>
4 years agomedia_module: fixed H264_CO_MB_WR_ADDR DMC VIOLATION issue [2/2]
Peng yixin [Wed, 2 Sep 2020 07:35:57 +0000 (15:35 +0800)]
media_module: fixed H264_CO_MB_WR_ADDR DMC VIOLATION issue [2/2]

PD#SWPL-32433

Problem:
The value of H264_CO_MB_WR_ADDR register will be saved in vr07 register
in ucode before internal reset. After internal reset, the value of
vr07 will be restored to H264_CO_MB_WR_ADDR. But in the process of
reset, vr07 will be assigned again, which causes the wrong address to
be written when restoring H264_CO_MB_WR_ADDR register.

Solution:
Instead of using vr07 during internal reset, replace it
with an unused register to resolve this problem.
ucode gerrit id: 123089
ucode commit id: 3501a8d
ucode change id: Ia931ebb

Verify:
AB311

Change-Id: Ia82a30eb83370bec419b99ddb64f9ed967b89d85
Signed-off-by: Peng yixin <yixin.peng@amlogic.com>
4 years agomedia_module: fixed avs bus lock issue [1/1]
Peng yixin [Thu, 3 Sep 2020 02:19:54 +0000 (10:19 +0800)]
media_module: fixed avs bus lock issue [1/1]

PD#SWPL-32609

Problem:
Sometimes the avs decoder driver remove,
the hardware did not stop completely, causing bus
lock issue.

Solution:
Resolve this problem by reset the
decoder hardware to stop it when avs driver remove.

Verify:
AB311

Change-Id: I79a83068e6cd83134e2430aee4c0a8f32a440436
Signed-off-by: Peng yixin <yixin.peng@amlogic.com>
4 years agoamstream: force use ptsserv when have parser. [1/1]
shihong.zheng [Mon, 31 Aug 2020 13:26:08 +0000 (21:26 +0800)]
amstream: force use ptsserv when have parser. [1/1]

PD#SWPL-32519

Problem:
error in synchronization between Audio and video

Solution:
force use ptsserv when have parser.

Verify:
u215

Change-Id: I4dda61a459684e602a4ecd76fd6c8791c05ba6d4
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agostream_input: need to enable tsync. [1/2]
chen.chen1 [Fri, 28 Aug 2020 10:00:32 +0000 (18:00 +0800)]
stream_input: need to enable tsync. [1/2]

PD#SWPL-32438

Problem:
A/V out of sync, because tsync_pcr is not enabled

Solution:
call func tsync_pcr_start and tsync_pcr_stop

Verify:
verified on S905X4-AH212

Change-Id: I2a567cd1080c31c40e8330a3776edb7777d40222
Signed-off-by: Chen Chen <chen.chen1@amlogic.com>
4 years agodecoder: add TR135 video parameter counter. [1/3]
wenlong.yuan [Fri, 21 Aug 2020 07:13:12 +0000 (15:13 +0800)]
decoder: add TR135 video parameter counter. [1/3]

PD#SWPL-31491

Problem:
need add detail video parameter counter for iptv and ott.

Solution:
add the video parameters for multi decoder,use vdec.c func
vdec_fill_vdec_frame to add video info and use amstream.c
ioctl index AMSTREAM_IOC_GET_MVDECINFO to get the video info.

Verify:
905X2-U212

Change-Id: I0572e0df4d561c47b870b4cec1371b0dad8755cb
Signed-off-by: wenlong.yuan <wenlong.yuan@amlogic.com>
4 years agodecode: fixed issue of vmap fail when playback 8k. [2/2]
Nanxin Qin [Thu, 6 Feb 2020 10:41:55 +0000 (18:41 +0800)]
decode: fixed issue of vmap fail when playback 8k. [2/2]

PD#SWPL-30672

Problem:
the vmap fail cause crash that reason is not enough addr map.

Solution:
split a big block mem to many piece area then mapping.

Verify:
u212

Change-Id: I2ba11789f66c3bfd1bf636243b5e7a0a2df2e1da
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agoh265: fix no aux data in stream mode. [2/2]
Gan Zhang [Tue, 25 Aug 2020 11:16:05 +0000 (19:16 +0800)]
h265: fix no aux data in stream mode. [2/2]

PD#SWPL-31988

Problem:
when search buffer empty, don't set aux data size.
the screen will display a green screen.

Solution:
set aux data size when search buffer empty.

ucode gerrit id: 122133
ucode commit id: bb4df7
ucode change id: I2f370

Verify:
AB301

Change-Id: I412257df939e5b5944b502f2ff849ea9e7800191
Signed-off-by: Gan Zhang <gan.zhang@amlogic.com>
4 years agoh265: Support long term reference picture set in h265 format. [2/2]
Gan Zhang [Wed, 6 May 2020 06:24:04 +0000 (14:24 +0800)]
h265: Support long term reference picture set in h265 format. [2/2]

PD#SWPL-25233

Problem:
h265 format playback appears mosaic.

Solution:
Add long term reference picture set in drivers and ucode.
ucode gerrit id:108332
ucode commit id:2b404e
ucode change id:I0baac

PS:Video_ucode.bin corresponds to the wrong information
because there is no rebase for the ucode commit.

Verify:
W400

Change-Id: I9925744ca14029cd4f41e4892504ebc26b4c9ab9
Signed-off-by: Gan Zhang <gan.zhang@amlogic.com>
4 years agoamstream: add pts checkin for no parser mode. [2/2]
shihong.zheng [Wed, 15 Jul 2020 06:04:42 +0000 (14:04 +0800)]
amstream: add pts checkin for no parser mode. [2/2]

PD#SWPL-25652

Problem:
1. pts checkin with error offset in no parser mode.
2. decode driver output offset for no pts server mode.

Solution:
1. add stream offset, and update the checkin interface;
2. lookup pts when set use pts server enable;
3. when not use pts server, the pts_us64 in vf is offset.

Verify:
AH219

Change-Id: Ie5ea52decb4bad162f3526f03e714244a0481c3d
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agodecoder: pass dummy vf to notify eos. [1/1]
shihong.zheng [Fri, 14 Aug 2020 06:47:00 +0000 (14:47 +0800)]
decoder: pass dummy vf to notify eos. [1/1]

PD#SWPL-31618

Problem:
decoder pass a dummy vf with eos flag to
backend.

Solution:
pass a dummy vf with eos flag when eos recieved.

Verify:
S905Y2

Change-Id: I775678ee94eeb6db3d304f3e44bf0a3f5def70de
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agomedia_module: Hevc core cannot schedule issue [1/1]
Peng Yixin [Fri, 21 Aug 2020 02:03:07 +0000 (10:03 +0800)]
media_module: Hevc core cannot schedule issue [1/1]

PD#SWPL-32068

Problem:
When the decoder released incorrectly,
the corresponding scheduling bit was not
cleared, after that, cause video can not
playback.

Solution:
This problem is solved by clean the
corresponding scheduling token bit.

Verify:
T962X3

Change-Id: Ie1dd610f679ec6beba5a352a320778a5ad003a87
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
4 years agovav1: fix vav1 freeze when fps changed. [1/1]
shihong.zheng [Tue, 18 Aug 2020 11:19:20 +0000 (19:19 +0800)]
vav1: fix vav1 freeze when fps changed. [1/1]

PD#SWPL-31264

Problem:
vav1 freeze when fps change.

Solution:
reset pts save and recalc duration when
last out pts larger than in pts.

Verify:
ah212

Change-Id: Ibe267df597dc8a4b5798c88d5520bd5b9a68109e
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agomedia_module: avs multi-instance ___might_sleep issue [1/1]
Peng Yixin [Fri, 24 Jul 2020 02:50:49 +0000 (10:50 +0800)]
media_module: avs multi-instance ___might_sleep issue [1/1]

PD#SWPL-31906

Problem:
There are problems with sleep in isr..

Solution:
Move all the sleep functions to isr_fn to solve this problem.

Verify:
u212

Change-Id: Ibff6bd4dcf52b1bdf81c7c5fcdfec95a987ec5f9
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
4 years agomedia_module: avs multi-instance dmc violation [1/2]
Peng Yixin [Tue, 21 Jul 2020 12:02:39 +0000 (20:02 +0800)]
media_module: avs multi-instance dmc violation [1/2]

PD#SWPL-31906

Problem:
avs multi-instance playback, dmc violation cause system crash.
CC and canvas config used the same register(AV_SCRATCH_N) cause crash.

Solution:
canvas config use AV_SCRATCH_M to resolve this issue.
ucode gerrit id: 118323
ucode change id: Iea8e9d
ucode commit id: e47078e

Verify:
u212

Change-Id: Ic9354fd81b2840a2f6416fd9d8a14593e4af42fa
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
4 years agovh265: disable auto switch to duration mode [1/1]
Hui Zhang [Tue, 18 Aug 2020 05:25:49 +0000 (13:25 +0800)]
vh265: disable auto switch to duration mode [1/1]

PD#SWPL-30099

Problem:
this auto switch is not work well. beccause in some error
case. it will output wrong pts , cause display block

Solution:
remove this auto switch for pts duration mode

Verify:
U215

Change-Id: I80c428e7869318ba6507c86ba104d8fe5a997690
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
4 years agompeg12: fix vfifo data empty bug. [1/1]
shihong.zheng [Wed, 19 Aug 2020 11:31:06 +0000 (19:31 +0800)]
mpeg12: fix vfifo data empty bug. [1/1]

PD#SWPL-31902

Problem:
fix mpeg12 vfifo data empty status bug.

Solution:
consume current chunk and do not get more chunk
for this run.

Verify:
ah212

Change-Id: I7c0eb7c7283937a4179246d5bce7ca8ad1d72893
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agodmx: unexpected dvr feed restoring [1/1]
Zhiqiang Han [Tue, 18 Aug 2020 05:38:57 +0000 (13:38 +0800)]
dmx: unexpected dvr feed restoring [1/1]

PD#SWPL-31675

Problem:
need more checks for the raw channels.
which are not managed by the dvb's feed

Solution:
make more checks on the raw channels

Verify:
Patchbuild

Change-Id: I0036d94fb6b58a8a108d79bcd46b50d00e656739
Signed-off-by: Zhiqiang Han <zhiqiang.han@amlogic.com>
4 years agodecoder: revert SWPL-31491 tr135. [1/3]
wenlong.yuan [Thu, 20 Aug 2020 12:24:37 +0000 (20:24 +0800)]
decoder: revert SWPL-31491 tr135. [1/3]

PD#SWPL-31491

Problem:
need add detail video parameter counter for iptv and ott.

Solution:
add the video parameters for multi decoder,use vdec.c func
vdec_fill_vdec_frame to add video info and use amstream.c
ioctl index AMSTREAM_IOC_GET_MVDECINFO to get the video info.

Verify:
905X2-U212

Change-Id: I9a9dc413ce7553510af6c9573fb600eb4da02c8f
Signed-off-by: wenlong.yuan <wenlong.yuan@amlogic.com>
4 years agodecoder: add TR135 video parameter counter. [1/3]
wenlong.yuan [Fri, 14 Aug 2020 09:42:21 +0000 (17:42 +0800)]
decoder: add TR135 video parameter counter. [1/3]

PD#SWPL-31491

Problem:
need add detail video parameter counter for iptv and ott.

Solution:
add the video parameters for multi decoder,use vdec.c func
vdec_fill_vdec_frame to add video info and use amstream.c
ioctl index AMSTREAM_IOC_GET_MVDECINFO to get the video info.

Verify:
905X2-U212

Change-Id: I91f95861f6558db0b06476c41db2f131004e250b
Signed-off-by: wenlong.yuan <wenlong.yuan@amlogic.com>
4 years agovdec: mmjpeg call reset_process_time in wrong point [1/1]
apollo.ling [Tue, 18 Aug 2020 12:07:42 +0000 (20:07 +0800)]
vdec: mmjpeg call reset_process_time in wrong point [1/1]

PD#SWPL-31855

Problem:
The fullformat get stuck in M-JPEG-ADPCM U-Law-8524 Kbps-640x480.AVI

Solution:
Correct the wrong position of calling reset_process_time

Verify:
u212

Change-Id: I6c463915a0bb871eef188c4b7812046f87dbdd02
Signed-off-by: apollo.ling <apollo.ling@amlogic.com>
4 years agovdec: fix h264 interlace jitter problem [1/1]
Peng Yixin [Wed, 12 Aug 2020 08:07:31 +0000 (16:07 +0800)]
vdec: fix h264 interlace jitter problem [1/1]

PD#SWPL-28668

Problem:
Loop playback DVB stream program,the
video not smooth.

Solution:
When stream back return then force POC
to be flushed from DPB under some
conditions.

Verify:
u215

Change-Id: Ifdb257d02b34d6afc4960a235c014a42218b6633
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
4 years agomedia_module: h265 dvb playback unsmooth and mosaic [1/1]
Peng Yixin [Mon, 17 Aug 2020 06:39:24 +0000 (14:39 +0800)]
media_module: h265 dvb playback unsmooth and mosaic [1/1]

PD#SWPL-31281

Problem:
Because the mmu box is mistakenly released,
cause mmu memory has no cache mechanism, so
memory allocation spend a lot of time(ave 7ms),
leading to playback unsmooth.And DVB playback,
decoding speed is not enough to lead stream
buffer overflow, then show mosaic picture.

Solution:
The current mechanism is not to release mmu
idx to resolve this issue.

Verify:
AB311-B

Change-Id: I6eaf0eb7ffd659b96907a352cf4d548070569001
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
4 years agovp9: fix mediav2 cts fail. [1/1]
Gan Zhang [Thu, 30 Jul 2020 16:13:04 +0000 (00:13 +0800)]
vp9: fix mediav2 cts fail. [1/1]

PD#SWPL-31685

Problem:
1.When the decoder decodes the input chunk that only contains the header,
the pts message output by the decoder will error.
2.When there are multiple frames in a packet, there will be no buffer
decoding in the driver, resulting in frame loss.

Solution:
1.Save the pts information for the input chunk at each run time,
when a jump occurs in the decoded output, use the saved pts information.
2.When there are multiple frames in a packet, the run condition is
changed based on how many frames are in the packet, and when
there is a decoding buffer, the decoding is continued.

Verify:
U212

Change-Id: I8b84b9dc1b1f0debd8c026e2eb0ee3136ac2666d
Signed-off-by: Gan Zhang <gan.zhang@amlogic.com>
4 years agompeg12: fix frame mode interlace data insufficient. [1/1]
shihong.zheng [Tue, 11 Aug 2020 04:28:36 +0000 (12:28 +0800)]
mpeg12: fix frame mode interlace data insufficient. [1/1]

PD#SWPL-30096

Problem:
decode timeout repeatly when use android raw extractor.
cts failed. interlace mpeg12 two slices in two packets.

Solution:
add data request status send more chunk for decode when
data insufficient.

ucode gerrit id: 120436
ucode commit id: 713286
ucode change id: I517c3

Verify:
ah212

Change-Id: Ieeb93c93290ab8b6fcf31b30ea63dddcf01cf47b
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agov4l2: do not reset pool fields on streamoff output port [1/1]
Song Zhao [Wed, 12 Aug 2020 06:22:29 +0000 (23:22 -0700)]
v4l2: do not reset pool fields on streamoff output port [1/1]

PD#SWPL-30433

Problem:
a) Streamoff output port will reset cap_pool.in, it will cause decoding
error like "v4l_get_free_buf_idx fail"
b) Sometimes
application will not call dqueue of capture buffer to trigger
aml_recycle_dma_buffers().

Solution:
ONLY reset cap_pool filed on streamoff capture port.
Recycle DMA secure buffer after receiving vframe from VFM.

Verify:
U212 + RDK + DSTV seek

Change-Id: Ic9e72591398c5c68cbad970282f4530a4a91c22f
Signed-off-by: Song Zhao <song.zhao@amlogic.com>
4 years agoh265: fix aux data drop when EOS found. [1/1]
shihong.zheng [Wed, 12 Aug 2020 10:51:30 +0000 (18:51 +0800)]
h265: fix aux data drop when EOS found. [1/1]

PD#SWPL-30763

Problem:
aux data drop when EOS NAL found in dv frame mode.

Solution:
set aux data size when NAL EOS found and get
dv meta data in EOS NAL search done.
ucode gerrit id: 120524
ucode change id: I76c2bce
ucode commit id: d8f1e41

Verify:
ah212

Change-Id: Ifb3b08516b9e04ce57d196930469dfe2a8d8cedb
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agodemux: fix DES algo not work on s905x3/SM1. [1/1]
Yahui Han [Wed, 5 Aug 2020 09:24:17 +0000 (17:24 +0800)]
demux: fix DES algo not work on s905x3/SM1. [1/1]

PD#SWPL-31149

Problem:
DES scrambled stream cannot play on s905x3/SM1.

Solution:
adjust hw register config to support DES.

Verify:
AC214

Signed-off-by: Yahui Han <yahui.han@amlogic.com>
Change-Id: Ia81d1f4513b07c94b7c181df587afbe23713766c

4 years agomedia_module: fix mpred memory pullution issue [1/1]
Hui Zhang [Thu, 6 Aug 2020 11:16:21 +0000 (19:16 +0800)]
media_module: fix mpred memory pullution issue [1/1]

PD#SWPL-30902

Problem:
there is mpred hw memory pollution when poor signal burning

Solution:
add hw address protect in mpred ctrl

Verify:
U215

Change-Id: Ia254a7ba92875f63f3086d8337de99b196333638
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
4 years agoav1: fix av1 av sync nts problem. [1/1]
shihong.zheng [Mon, 10 Aug 2020 04:16:52 +0000 (12:16 +0800)]
av1: fix av1 av sync nts problem. [1/1]

PD#SWPL-31133

Problem:
nts av sync test failed. av1 decoder
drop first pts which value is 0.

Solution:
change the pts save condition. fix
first pts drop bug.

Verify:
ah212

Change-Id: I7eeafd38ab8215d55f0d5efe7de0a027f42ea1a2
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agovdec: hevc reset core modificatios [1/2]
apollo.ling [Mon, 27 Jul 2020 09:26:19 +0000 (17:26 +0800)]
vdec: hevc reset core modificatios [1/2]

PD#SWPL-28883

Problem:
system will restart when playback specific DVB stream program

Solution:
Modify some hevc reset core registers

Verify:
u215

Change-Id: Idd7a503b4914c7fc28cdc577e7584613a68ef1f6
Signed-off-by: apollo.ling <apollo.ling@amlogic.com>
4 years agovdec: reduce and adjust amvdec canvas num. [2/2]
shihong.zheng [Mon, 20 Jul 2020 07:04:48 +0000 (15:04 +0800)]
vdec: reduce and adjust amvdec canvas num. [2/2]

PD#SWPL-29996

Problem:
canvas saving in video decoder.

Solution:
reduce and adjust the range of amvdec canvas index.

Verify:
S905X2

Change-Id: I82b251191fda4fa729e225b2973a85b8230916e6
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agoh265: fix dv flush black pic. [1/1]
shihong.zheng [Fri, 7 Aug 2020 07:23:10 +0000 (15:23 +0800)]
h265: fix dv flush black pic. [1/1]

PD#SWPL-30435

Problem:
hevc dv flash black pic. dv switch
to sdr. aux data size is cleared.

Solution:
do not repeat set aux data size
when search buffer empty.
ucode gerrit: 120190
ucode commit id: dd1d41b
ucode change id: I7c9ebaf

Verify:
ah212

Change-Id: I150bf5c319db4a137638b61b48424abd930edb1f
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agovdec: fix h265 interlace jitter problem [1/1]
apollo.ling [Wed, 29 Jul 2020 02:48:28 +0000 (10:48 +0800)]
vdec: fix h265 interlace jitter problem [1/1]

PD#SWPL-30555

Problem:
playback specific DVB stream program,the video not smooth

Solution:
When stream back return then force POC to be flushed from DPB under some
conditions

Verify:
u215

Change-Id: I0ff2d1bacb3963dad19785345a4ef21ff00794d7
Signed-off-by: apollo.ling <apollo.ling@amlogic.com>
4 years agoprint: kernel printk optimize [1/1]
Zhiqiang Han [Mon, 3 Aug 2020 03:30:39 +0000 (11:30 +0800)]
print: kernel printk optimize [1/1]

PD#SWPL-30651

Problem:
kernel printk optimize:
too many dvb printk durning boot

Solution:
disable print by default,
use module's debug parameter.

Verify:
Patchbuild

Change-Id: Id753372a0ef75f19074bdfd88a3938b52d73209b
Signed-off-by: Zhiqiang Han <zhiqiang.han@amlogic.com>
4 years agovmh264: Solve the bug of incomplete screen output. [1/1]
miaohong chen [Thu, 30 Jul 2020 07:19:19 +0000 (15:19 +0800)]
vmh264: Solve the bug of incomplete screen output. [1/1]

PD#SWPL-30704

Problem:
Height 1088 forced 1080, resulting in
missing display at the bottom of the screen.

Solution:
Only force 1088 to 1080 when cropping

Verify:
u212

Change-Id: Id8c16b5c692724459f21e48ea0b4c581e31cdfa3
Signed-off-by: miaohong chen <miaohong.chen@amlogic.com>
4 years agoh265: add print_lcu_error to control lcu related printings [1/1]
apollo.ling [Tue, 4 Aug 2020 02:45:06 +0000 (10:45 +0800)]
h265: add print_lcu_error to control lcu related printings [1/1]

PD#SWPL-30945

Problem:
183 consecutive repeated lcu Kernel prints per second,
which may make the system hang

Solution:
add print_lcu_error to control lcu related printings

Verify:
u215

Change-Id: I4bd8d301bfc72ffbcf9e5768b6688d7412928c29
Signed-off-by: apollo.ling <apollo.ling@amlogic.com>
4 years agomedia_modules: make h264 encoder compatible with older socs [1/1]
Rico Yang [Sun, 2 Aug 2020 17:12:16 +0000 (01:12 +0800)]
media_modules: make h264 encoder compatible with older socs [1/1]

PD#SWPL-25846

Problem:
h264 encoder not working on old socs pre-sc2

Solution:
make h264 encoder compatible with older socs

Verify:
verified on franklin

Change-Id: I1ddbea32748069be06ee344ec1dbf8987a5b350b
Signed-off-by: Rico Yang <wei.yang@amlogic.com>
4 years agov4l: supports playback of av1 with v4l codec. [1/1]
Nanxin Qin [Sun, 5 Apr 2020 04:34:04 +0000 (12:34 +0800)]
v4l: supports playback of av1 with v4l codec. [1/1]

PD#SWPL-23548

Problem:
add a new format AV1 for v4l codec.

Solution:
supports playback of av1 with v4l codec.

Verify:
verified with android Q on sc2.

Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
Change-Id: Ic59e739dc75ed6f23f033115e918dd3ed5bbed89

4 years agovdec: fix parser permision rights confusion [1/1]
apollo.ling [Fri, 24 Jul 2020 11:45:00 +0000 (19:45 +0800)]
vdec: fix parser permision rights confusion [1/1]

PD#SWPL-29762

Problem:
When secure and non secure mode at the same time,persion rights conflicted

Solution:
correct the parser permision rights confusion.

Verify:
u215

Change-Id: I47987e793aa0af05dd07ec3a13de9f38c7444ac5
Signed-off-by: apollo.ling <apollo.ling@amlogic.com>
4 years agovmh264: fix dec reset during v4l2 playing. [1/1]
shihong.zheng [Mon, 3 Aug 2020 05:33:45 +0000 (13:33 +0800)]
vmh264: fix dec reset during v4l2 playing. [1/1]

PD#SWPL-29734

Problem:
fix h264 dec reset. h264 decode driver use
cap_pool.out to check buffer num, but it increase
both decoder and vpp get frame buffer.

Solution:
add new count var for dec. mapping a new seq index
for decoder buffer.

Verify:
u212

Change-Id: I9f1b30abbbaf5aeba8f281b4e2613fd3a610e0b3
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agoav1: fix some nts problem. [1/1]
shihong.zheng [Thu, 23 Jul 2020 09:45:37 +0000 (17:45 +0800)]
av1: fix some nts problem. [1/1]

PD#SWPL-30276

Problem:
av1 nts problem.

Solution:
get the saved pts for output frames.

Verify:
t962x2

Change-Id: Ia5c072cd0dc81bf8ef79b6739eaa54b737c539a3
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agoh265: Pass the dv_enhance_exist flag to the DV module [1/2]
Gan Zhang [Thu, 23 Jul 2020 07:49:37 +0000 (15:49 +0800)]
h265: Pass the dv_enhance_exist flag to the DV module [1/2]

PD#SWPL-29487

Problem:
In frame mode, the decoder does not parse EL Layer data.
We need to pass the dv_enhance_exist flag to the DV module.

Solution:
In frame mode, pass the dv_enhance_exist flag to the DV module.

Verify:
AH212

Change-Id: I338917c80ebba8bfcf283f856872bb355fd1d00b
Signed-off-by: Gan Zhang <gan.zhang@amlogic.com>
4 years agoMerge "media_modules: enable ge2d for sc2 hcode h264 [1/1]" into amlogic-4.9-dev-q
gerrit autosubmit [Thu, 30 Jul 2020 10:44:20 +0000 (03:44 -0700)]
Merge "media_modules: enable ge2d for sc2 hcode h264 [1/1]" into amlogic-4.9-dev-q

4 years agomedia_modules: enable ge2d for sc2 hcode h264 [1/1]
Rico Yang [Sun, 12 Jul 2020 16:04:16 +0000 (00:04 +0800)]
media_modules: enable ge2d for sc2 hcode h264 [1/1]

PD#SWPL-29388

Problem:
cts case android.media.cts.EncodeVirtualDisplayTest#testEncodeVirtualDisplay
failed because of color space mismatch

Solution:
use ge2d to convert color space before encoding

Verify:
verified on S905X4

Change-Id: I0488ca1f0d6bdbfa439268917cbd6c932b294f61
Signed-off-by: Rico Yang <wei.yang@amlogic.com>
4 years agoMerge "media_modules: fix vpu crash on soc-pre-sc2 [1/1]" into amlogic-4.9-dev-q
Zhi Zhou [Wed, 29 Jul 2020 00:57:36 +0000 (17:57 -0700)]
Merge "media_modules: fix vpu crash on soc-pre-sc2 [1/1]" into amlogic-4.9-dev-q

4 years agomedia_modules: fix vpu crash on soc-pre-sc2 [1/1]
Rico Yang [Tue, 28 Jul 2020 13:15:45 +0000 (21:15 +0800)]
media_modules: fix vpu crash on soc-pre-sc2 [1/1]

PD#SWPL-25846

Problem:
vpu probe crashed on socs pre sc2

Solution:
fix vpu crash on soc-pre-sc2

Verify:
verified on franklin android q

Change-Id: I1c3149a5552edd7d71c6002c57f136e315a05c58
Signed-off-by: Rico Yang <wei.yang@amlogic.com>
4 years agoMerge "vmh264: fix bug of abnormal cropping. [1/1]" into amlogic-4.9-dev-q
Hui Zhang [Tue, 28 Jul 2020 11:17:59 +0000 (04:17 -0700)]
Merge "vmh264: fix bug of abnormal cropping. [1/1]" into amlogic-4.9-dev-q

4 years agovmh264: fix bug of abnormal cropping. [1/1]
miaohong chen [Mon, 27 Jul 2020 08:52:31 +0000 (16:52 +0800)]
vmh264: fix bug of abnormal cropping. [1/1]

PD#SWPL-28943

Problem:
chroma_format_idc may not exist, causing misuse,
resulting in abnormal crop

Solution:
According to grammar rules,
when chroma_format_idc does not exist, set it to 1.

Verify:
u212

Change-Id: Iba5624a7d3b542b00b677d1c062dd23af6b0131d
Signed-off-by: miaohong chen <miaohong.chen@amlogic.com>
4 years agovdec: h265 alloc mmu_box when dw changed from 0x10 to 0x1 [1/1]
apollo.ling [Wed, 22 Jul 2020 02:47:08 +0000 (10:47 +0800)]
vdec: h265 alloc mmu_box when dw changed from 0x10 to 0x1 [1/1]

PD#SWPL-28883

Problem:
When h265 dw changed from 0x10 to 1, mmu_box is NULL,can not play video

Solution:
1. When h265 dw changes to 1, check and alloc mmu_box
2. add calling vm_unmap_aliases() every 64 times because vfree is not
   synchronize.

Verify:
ac214

Change-Id: I0c8920debf79a0af2fafaca07b5bc20e8467adab
Signed-off-by: apollo.ling <apollo.ling@amlogic.com>
4 years agomedia_modules: sc2 encoder bringup [1/1]
Rico Yang [Fri, 3 Jul 2020 13:45:33 +0000 (21:45 +0800)]
media_modules: sc2 encoder bringup [1/1]

PD#SWPL-25846

Problem:
sc2 bringup

Solution:
sc2 bringup

Verify:
verified on AH219

#Signed-off-by: Rico Yang <wei.yang@amlogic.com>
#Change-Id: Ie7f65deda5e580424f7e593115feb98181733581

media_modules: h265enc: set wave_clok_a to 667 and add interface
for setting clock speed [1/1]

PD#SWPL-25846

Problem:
wave420 run underclocked

Solution:
set wave_clock_a to 667M

Verify:
verified on AH219

#Signed-off-by: Rico Yang <wei.yang@amlogic.com>
#Change-Id: I6f1b6b067ca5196476cc674540e0ef079c52530f

Signed-off-by: Rico Yang <wei.yang@amlogic.com>
Change-Id: Ie7f65deda5e580424f7e593115feb98181733581

4 years agoamstream: fix null pointer crash in dv frame mode. [1/1]
shihong.zheng [Mon, 27 Jul 2020 06:45:45 +0000 (14:45 +0800)]
amstream: fix null pointer crash in dv frame mode. [1/1]

PD#SWPL-30431

Problem:
secure dolby vision frame mode crash.

Solution:
no slave vdec in dolby vision frame mode.
so needn't set slave vdec port_flag.

Verify:
ah212

Change-Id: Ib4010e8d243be0fba773b02b0f6984ea9f9dfb67
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agovh265: fix h265 dv frame mode overdecode error. [1/1]
shihong.zheng [Mon, 27 Jul 2020 06:04:26 +0000 (14:04 +0800)]
vh265: fix h265 dv frame mode overdecode error. [1/1]

PD#SWPL-30305

Problem:
dv frame mode overdecode when resolution change.

Solution:
do not check empty and shift status when dv mode
detected EOS

Verify:
ah212

Change-Id: Icbc04376f9aed259660f24e26b89ae04cfec250f
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agodmx: more fixes for RECORDER_PACKETS [1/1]
Zhiqiang Han [Tue, 30 Jun 2020 12:48:12 +0000 (20:48 +0800)]
dmx: more fixes for RECORDER_PACKETS [1/1]

PD#SWPL-28809

Problem:
In some cases,
video data path conflicts with rec path

Solution:
RECORDER_PACKETS rules:
at least one a/v channel should exist.

monitor the video channel,
manage the channel pkt types

Verify:
Change-Id: I6630b9abfecc6eaeea2068b707e8f0d34b4f3b87
Signed-off-by: Zhiqiang Han <zhiqiang.han@amlogic.com>
4 years agovmh264: fix video stuck bug [1/1]
miaohong chen [Thu, 23 Jul 2020 07:34:46 +0000 (15:34 +0800)]
vmh264: fix video stuck bug [1/1]

PD#SWPL-24277

Problem:
Multi-instance h264 stream roasting machine stuck.

Solution:
Reset the stuck decoder in timer interrupt.

Verify:
u212

Change-Id: Ic7da08918b010ddd065be85c19df981b481337e1
Signed-off-by: miaohong chen <miaohong.chen@amlogic.com>
4 years agovp9: fix cts test fail. [2/2]
Gan Zhang [Wed, 22 Jul 2020 03:22:39 +0000 (11:22 +0800)]
vp9: fix cts test fail. [2/2]

PD#SWPL-29348

Problem:
When stream has only one LCU in the x direction,
the decoding will fail.

Solution:
For a single lcu stream, it is necessary to wait for the
mpred fifo to be in the idle state before decoding.

ucode gerrit id: 118467
ucode commit id: a7ba2b
ucode change id: I20bd9

Verify:
TM2 and SC2

Change-Id: I4e2e5c620ae46574bf17fcf6df170ddc3771c532
Signed-off-by: Gan Zhang <gan.zhang@amlogic.com>
4 years agov4l: fixed the issue of vp9 can't playback on linux. [1/1]
Nanxin Qin [Thu, 23 Jul 2020 09:17:49 +0000 (17:17 +0800)]
v4l: fixed the issue of vp9 can't playback on linux. [1/1]

PD#SWPL-29656

Problem:
has wrong of the private head data of vp9 cause playback failed,
becuase usually the head process on the omx but if on the linux
the v4l codec driver need to handle it.

Solution:
restore the function of use supperframe split filter make sure
add head data process normal if work on linux.

Verify:
u212

Change-Id: Ie3cf4858c2c4160b9ca551e39faca5a5c127fe19
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agovdec: set sc2 no single mode profile. [1/1]
shihong.zheng [Thu, 2 Jul 2020 05:28:25 +0000 (13:28 +0800)]
vdec: set sc2 no single mode profile. [1/1]

PD#SWPL-28657

Problem:
sc2 do not support single mode.
sc2 stream mode dv freeze at first frame.

Solution:
1. add no_single in vcodec profile.
2. update wp for el to get a right buf level.

Verify:
sc2

Change-Id: I53da1855b5245e919b0ca7379f557b975a34b0dd
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
(cherry picked from commit 3360b1a2411905d15e81de423c94986f2830dd1c)

4 years agovdec: fix sc2 hevcf clk ref count error. [1/1]
shihong.zheng [Fri, 17 Jul 2020 12:50:04 +0000 (20:50 +0800)]
vdec: fix sc2 hevcf clk ref count error. [1/1]

PD#SWPL-25656

Problem:
hevcf clk ref count error.

Solution:
fix sc2 hevc frone clock gate node name.

Verify:
AH219

Change-Id: I897b1ee4810e39fc2eebe095980c1ddea5250a27
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
(cherry picked from commit 5482101b4f327d9d27adf42cef6747e5f02a459e)

4 years agoav1: add buffers for q mainline. [1/1]
shihong.zheng [Sat, 4 Jul 2020 13:40:12 +0000 (21:40 +0800)]
av1: add buffers for q mainline. [1/1]

PD#SWPL-28916

Problem:
SWPL-28916 some av1 play freeze
SWPL-28911 duration error caused frames output too fast.

Solution:
android q need 2 more buffers for display.
set calc dur wide range limit.

Verify:
sc2

Change-Id: I34b4371c1271e1f49e720d1bd370965fa6a430bb
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
(cherry picked from commit 9885d98f727777e4f6f8966fd0690d7ae76d875c)

4 years agomedia_module: fix amvdec_ports.ko loading error [1/1]
Gan Zhang [Wed, 22 Jul 2020 12:17:37 +0000 (20:17 +0800)]
media_module: fix amvdec_ports.ko loading error [1/1]

PD#SWPL-29656

Problem:
fix amvdec_ports.ko loading error.

Solution:
export the function.

Verify:
local build

Change-Id: I1df171daa541f468e5cf23f9e6df4d97d0ebb7e2
Signed-off-by: Gan Zhang <gan.zhang@amlogic.com>
4 years agoMerge "vdec: support power manager for vdec. [1/1]" into amlogic-4.9-dev-q
Hui Zhang [Wed, 22 Jul 2020 06:17:00 +0000 (23:17 -0700)]
Merge "vdec: support power manager for vdec. [1/1]" into amlogic-4.9-dev-q

4 years agovdec: support power manager for vdec. [1/1]
Nanxin Qin [Thu, 25 Jun 2020 10:19:00 +0000 (18:19 +0800)]
vdec: support power manager for vdec. [1/1]

PD#SWPL-28425

Problem:
SC2 DOS power domain management

Solution:
1. unite interface for vdec power ctrl.
2. support config power ctrl mode from dts.
3. 5 modes can be used: a. legacy b.power-ctrl-api
   c.power-domain d.pd-sec-api e.pd-non-sec-api

Verify:
u212, ac214

Change-Id: I6554fe7abe0afc652e549452cd822ddf3630435b
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agoMerge "media_module: clean no license source file [1/1]" into amlogic-4.9-dev-q
Hui Zhang [Wed, 22 Jul 2020 05:21:25 +0000 (22:21 -0700)]
Merge "media_module: clean no license source file [1/1]" into amlogic-4.9-dev-q