GitHub/LineageOS/G12/android_hardware_amlogic_kernel-modules_media.git
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

4 years agovmh264: fix bug of cropping. [1/1]
miaohong chen [Wed, 15 Jul 2020 12:48:37 +0000 (20:48 +0800)]
vmh264: fix bug of cropping. [1/1]

PD#SWPL-29563

Problem:
A register uses 32 bits to store
four crop offset syntax parameters,
resulting in the loss of high bits when passed to the driver.

Solution:
Use rpm memory to pass crop offset parameters.

ucode gerrit : 117325
ucode commit id: 18db008

Verify:
u212

Change-Id: I854ba3da073e63150fa1216ce775dff87399cff4
Signed-off-by: miaohong chen <miaohong.chen@amlogic.com>
4 years agovdec: h265 check and avoid NULL pointer [1/1]
apollo.ling [Wed, 8 Jul 2020 13:25:12 +0000 (21:25 +0800)]
vdec: h265 check and avoid NULL pointer [1/1]

PD#SWPL-29760

Problem:
In some cases h265 there is a NULL pointer used

Solution:
Check and avoid to use NULL pointer

Verify:
T962X3

Change-Id: Ic1f3b24c065cd23163ef5dd0caca7b8a7fb488b9
Signed-off-by: apollo.ling <apollo.ling@amlogic.com>
4 years agovmh264: stream mosaic [1/1]
miaohong chen [Tue, 14 Jul 2020 13:28:23 +0000 (21:28 +0800)]
vmh264: stream mosaic [1/1]

PD#SWPL-29711

Problem:
H264 stream mosaic

Solution:
The first gop of the code stream is a single slice,
and the latter part is a multi-slice.
Because the multi-slice detection mechanism is added before,
the single slice decision is triggered by mistake, resulting in mosaic.
Improve multi-slice detection mechanism.

Verify:
u212

Change-Id: I1e3491a1e0441eb50dcec8666c5ebffcd01ba1f7
Signed-off-by: miaohong chen <miaohong.chen@amlogic.com>
(cherry picked from commit 9a5cbbebe1cc6f2b7dff38121ba5a2c9397f6fbf)

4 years agoframerate_adapter: add framerate_adapter function. [1/1]
shilong.yang [Mon, 8 Jun 2020 12:43:32 +0000 (20:43 +0800)]
framerate_adapter: add framerate_adapter function. [1/1]

PD#SWPL-26471

Problem:
seed uevent to android systemcontral.

Solution:
add kobject_uevent_env function in the media_modules.

Verify:
franklin

Change-Id: Id9fbcb20fd964648b9d7966d0e2d2b6547a2814c
Signed-off-by: shilong.yang <shilong.yang@amlogic.com>
4 years agovdec: add calculation for duration [1/1]
apollo.ling [Tue, 9 Jun 2020 10:07:49 +0000 (18:07 +0800)]
vdec: add calculation for duration [1/1]

PD#SWPL-26472

Problem:
this is a new feature.

Solution:
Use the first 5 frame's pts to calculate the duration,
then compare to driver's duration,select the best one.

Verify:
ac214

Change-Id: I198fc7d761c08508c56bbe85fcd0ae8c71de37a0
Signed-off-by: apollo.ling <apollo.ling@amlogic.com>
4 years agomedia_module: clean no license source file [1/1]
Gan Zhang [Tue, 14 Jul 2020 06:17:33 +0000 (14:17 +0800)]
media_module: clean no license source file [1/1]

PD#SWPL-29656

Problem:
clean no license source file.

Solution:
Add license information to the source file.

Verify:
local build

Change-Id: Icb24944da1d185a3289ec172fcd83fc7d1b2cfca
Signed-off-by: Gan Zhang <gan.zhang@amlogic.com>
4 years agov4l: fixed the issue of cts. [1/1]
Nanxin Qin [Thu, 9 Jul 2020 16:39:44 +0000 (00:39 +0800)]
v4l: fixed the issue of cts. [1/1]

PD#SWPL-28575

Problem:
When capture buffer's status isn't stream on, there is no flush video pipeline.
The driver will not send EOS to the back end, this will cause jamming.

Solution:
When the upper layer sends the stop command, flush the video pipeline.

Verify:
U212

Change-Id: I0ae3f73e536bfcba85f8901c2cb7ce4d46b99e75
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agodvb: add demux dev open count node [1/1]
Chengshun Wang [Mon, 13 Jul 2020 05:57:59 +0000 (13:57 +0800)]
dvb: add demux dev open count node [1/1]

PD#SWPL-29545

Problem:
when free filters have count not use,
but demux device can not open

Solution:
add node to calculate demux device open count

Verify:
U215

Change-Id: I98f780ee0618eb353533efda386f66c0c640839c
Signed-off-by: Chengshun Wang <chengshun.wang@amlogic.com>
4 years agov4l2: add interlaced field support in try_fmt [1/1]
Song Zhao [Mon, 6 Jul 2020 15:51:26 +0000 (08:51 -0700)]
v4l2: add interlaced field support in try_fmt [1/1]

PD#SWPL-29144

Problem:
try_fmt only return V4L2_FIELD_ANY. But gstreamer v4l2 plugin want to
check whether V4L2_FIELD_INTERLACED is supported or not.

Solution:
For H264/Mpeg2, add V4L2_FIELD_INTERLACED support.

Verify:
U212 + gst-launch

Change-Id: I8516840b2d8e13e6795a9749c36153c7e77dc9b4
Signed-off-by: Song Zhao <song.zhao@amlogic.com>
4 years agomedia: The H264 and H265 formats support DV in Frame mode [2/2]
Gan Zhang [Tue, 16 Jun 2020 03:25:08 +0000 (11:25 +0800)]
media: The H264 and H265 formats support DV in Frame mode [2/2]

PD#SWPL-25611

Problem:
support dv frame mode.

Solution:
add DOLBY_META_SUPPORT in ucode and
set aux data in frame mode.

ucode gerrit id: 115646
ucode commit id: da74861
ucode change id: I4c6e0e

Verify:
ac214

Change-Id: I29647903fdb185965ee228d82e9dc7106f94e883
Signed-off-by: Gan Zhang <gan.zhang@amlogic.com>
4 years agovdec: force vdec status to VDEC_STATUS_CONNECTED when disconnect timeout [1/1]
apollo.ling [Sat, 4 Jul 2020 10:19:50 +0000 (18:19 +0800)]
vdec: force vdec status to VDEC_STATUS_CONNECTED when disconnect timeout [1/1]

PD#SWPL-28414

Problem:
vdec_disconnect timeout,vdec can not be removed from connected list

Solution:
force vdec status to VDEC_STATUS_CONNECTED when disconnect timeout

Verify:
S905C1-AC232

Change-Id: I53053b794dc669923d0d4809dc909c7654614010
Signed-off-by: apollo.ling <apollo.ling@amlogic.com>
4 years agodvb: reset all hw demux register when reset the demux device.[1/1]
Yahui Han [Fri, 3 Jul 2020 07:12:33 +0000 (15:12 +0800)]
dvb: reset all hw demux register when reset the demux device.[1/1]

PD#SWPL-29104

Problem:
didn't reset dsc register when reset the demux device.

Solution:
reset all hw demux register when reset the demux device.

Verify:
u215.

Change-Id: Id1dccea2308382e339c22655350e4ff6258d94af
Signed-off-by: Yahui Han <yahui.han@amlogic.com>
4 years agovmh264: stream not smooth [1/1]
miaohong chen [Thu, 2 Jul 2020 06:00:57 +0000 (14:00 +0800)]
vmh264: stream not smooth [1/1]

PD#SWPL-28869

Problem:
H264 stream frequently not smooth

Solution:
cause:The number of inverted frames is inaccurate,
which results in the frame not being output in time
and the code stream is not smooth.
If the grammar has reverse frame number reoder_num_frames,
reoder_num_frames is preferred.

Verify:
u212

Change-Id: I1b176ae825db01caed44a2a49de0789a2af8d562
Signed-off-by: miaohong chen <miaohong.chen@amlogic.com>
4 years agov4l: optimize the format mjpeg for v4l codec. [1/2]
Peng Yixin [Sat, 4 Apr 2020 10:35:04 +0000 (18:35 +0800)]
v4l: optimize the format mjpeg for v4l codec. [1/2]

PD#SWPL-23747

Problem:
optimize the format mjpeg for v4l codec.

Solution:
1. supports parser the picture params from HW.
2. supports picture format YU12(I420)
3. ucode commit id:
   879f23b8b65c09241ff40b29ff0d2aa270a0fa12

Android P, Q share CLs.

Verify:
u212

Change-Id: I6c506e007f0c3a4bcda66f53fac943cee404cf18
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
4 years agovdec: fix mpeg4 mosiac issue when multi-playback [1/1]
Hui Zhang [Wed, 27 May 2020 09:24:45 +0000 (17:24 +0800)]
vdec: fix mpeg4 mosiac issue when multi-playback [1/1]

PD#SWPL-26884

Problem:
mpeg4 steam show mosiac when mutli-mode
with some h264 stream

Solution:
add more vdec sub module reset

Verify:
U212

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

4 years agoh265: After seek DV streaming, Picture probabilistic color error. [1/2]
Gan Zhang [Thu, 25 Jun 2020 10:18:23 +0000 (18:18 +0800)]
h265: After seek DV streaming, Picture probabilistic color error. [1/2]

PD#SWPL-27754

Problem:
After seek, the decoded data is stored in aux buffer
because of some dirty data in front.

Solution:
After decoding the header, reset the prefix_aux_buf_pos.

ucode gerrit id: 114902
ucode commit id: 9c9743

Verify:
ab311-b

Change-Id: I6a181406d5f4bbbb1452068e14e619bfff339e58
Signed-off-by: Gan Zhang <gan.zhang@amlogic.com>
4 years agoMerge "media_module: h265 dvb playback crash and mosaic [1/1]" into amlogic-4.9-dev-q
Hui Zhang [Wed, 1 Jul 2020 06:06:48 +0000 (23:06 -0700)]
Merge "media_module: h265 dvb playback crash and mosaic [1/1]" into amlogic-4.9-dev-q

4 years agoh264_dec: config buf specs after resolution change [1/1]
Song Zhao [Fri, 26 Jun 2020 06:41:30 +0000 (23:41 -0700)]
h264_dec: config buf specs after resolution change [1/1]

PD#SWPL-28501

Problem:
In V4L2 mode, resolution change will trigger reset() and all the
canvas are released with h264_reconfig(). When it continues decoding
the data with new resolution, decoder will write to invalid canvas.

Solution:
In vh264_set_params() call config_buf_specs in V4L2 mode.

Verify:
U212
gst-play-1.0 http://www.bok.net/dash/tears_of_steel/cleartext/stream.mpd

Change-Id: Ia57678e91001d719b9477a62fcae7688455decfd
Signed-off-by: Song Zhao <song.zhao@amlogic.com>
4 years agodecoder: fix avs2 mjpeg problem for sc2. [1/1]
shihong.zheng [Wed, 1 Jul 2020 03:28:49 +0000 (11:28 +0800)]
decoder: fix avs2 mjpeg problem for sc2. [1/1]

PD#SWPL-25656

Problem:
avs2 decode timeout. mjpeg print
read reg stack.

Solution:
remove the sc2 simulation code changes.
do not read reset registers on sc2.
ucode gerrit id: 115354
ucode change id: Iaadee0

Verify:
sc2

Change-Id: I3b79a2bbe0cde8708f7b5164db1f61701c584c67
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agodvb: dvr: mosaic in pvr replay [1/1]
Zhiqiang Han [Fri, 19 Jun 2020 07:42:03 +0000 (15:42 +0800)]
dvb: dvr: mosaic in pvr replay [1/1]

PD#SWPL-28104

Problem:
incorrect reg reset at run time

Solution:
deal with the frequent source changing
set source only instread of reset all.

Verify:
Patchbuild

Change-Id: I8bb08a6e3dd067855248f0b79913ad13eb4830c9
Signed-off-by: Zhiqiang Han <zhiqiang.han@amlogic.com>
4 years agoasyncfifo: corrupted data found in recording [1/1]
Zhiqiang Han [Wed, 17 Jun 2020 06:08:37 +0000 (14:08 +0800)]
asyncfifo: corrupted data found in recording [1/1]

PD#SWPL-27889

Problem:
the starting of rec2 causes corrupted data in rec1.
incorrect reg setting on a running asyncfifo

Solution:
the start reg is a status, not the value set before.

Verify:
Patchbuild

Change-Id: I919e7286ef8c94c0a20b09c23080dc75bcdb0d13
Signed-off-by: Zhiqiang Han <zhiqiang.han@amlogic.com>
4 years agodmx: dbg: added debug info for channel pkt type [1/1]
Zhiqiang Han [Tue, 16 Jun 2020 08:18:34 +0000 (16:18 +0800)]
dmx: dbg: added debug info for channel pkt type [1/1]

PD#SWPL-27787

Problem:
more debug info on channle pkt type

Solution:
more debug info on channle pkt type

Verify:
Patchbuild

Change-Id: I7175dc3f7c52b1bd1a2ff480219b1028f2973474
Signed-off-by: Zhiqiang Han <zhiqiang.han@amlogic.com>
4 years agoMerge "dmx: section filter fail with BYPASS_PKT setting [3/3]" into amlogic-4.9-dev-q
Hui Zhang [Mon, 29 Jun 2020 10:09:59 +0000 (03:09 -0700)]
Merge "dmx: section filter fail with BYPASS_PKT setting [3/3]" into amlogic-4.9-dev-q

4 years agomedia_module: h265 dvb playback crash and mosaic [1/1]
Peng Yixin [Fri, 26 Jun 2020 08:31:32 +0000 (16:31 +0800)]
media_module: h265 dvb playback crash and mosaic [1/1]

PD#SWPL-27621

Problem:
1.other memory violation caused by decoder
2.playback show mosaic picture

Solution:
1.Optimize detection width and height information logic
to fixed memory violation caused by decoder.
2.First frame is detected whether has an over
decode error to reduce mosaic picture.
3.When the decode timeout current frame is marked
error.

Verify:
U215

Change-Id: I405ed24cf18af23eb194675e788bf702fd1a4fc1
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
4 years agomedia_module: h265 stream mode discard dirty data [1/1]
Peng Yixin [Thu, 25 Jun 2020 03:10:25 +0000 (11:10 +0800)]
media_module: h265 stream mode discard dirty data [1/1]

PD#SWPL-27805

Problem:
The decoder did not discard the incorrect data,
cause playback stuck.

Solution:
When the video buffer data is enough but cannot
be decoded, the data is forcibly discarded to
prevent playback stuck.

Verify:
U215

Change-Id: Idf7bd694e1db5a99e2d628c880e47ffface24de3
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
4 years agodmx: section filter fail with BYPASS_PKT setting [3/3]
Zhiqiang Han [Fri, 12 Jun 2020 07:23:35 +0000 (15:23 +0800)]
dmx: section filter fail with BYPASS_PKT setting [3/3]

PD#SWPL-27787

Problem:
section data is interrupted when BYPASS_PACKET exists

Solution:
Change the BYPASS_PACKET to VIDEO_PACKET & RECORDER_STREAM.

To support PLAY & REC on the same dmx, rules are introduces:
1. no A/V on dmx, rec-data should be set to VIDEO_PACKET,
   then block it from being parser processed with stream id filter.
2. A or V is running, use RECORDER_STREAM,
   do not use BYPASS_PACKET, which will break the normal play.
3. keep VIDEO_PACKET existed, to get the sec filter working.

Verify:
Patchbuild

Change-Id: I29e39093806159cbf77fa898bc610a983b3df371
Signed-off-by: Zhiqiang Han <zhiqiang.han@amlogic.com>
4 years agodemux: fix coverity issue [1/1]
Chuangcheng Peng [Tue, 23 Jun 2020 09:21:36 +0000 (17:21 +0800)]
demux: fix coverity issue [1/1]

PD#SWPL-27559

Problem:
 coverity issue

Solution:
 fix coverity issue.

Verify:
 verify at ab301

Signed-off-by: Chuangcheng Peng <chuangcheng.peng@amlogic.com>
Change-Id: I1bae31769759a211a719ec8eec3611bade4233f9

4 years agov4l: gst playback abnormal. [1/1]
Nanxin Qin [Tue, 23 Jun 2020 08:45:19 +0000 (16:45 +0800)]
v4l: gst playback abnormal. [1/1]

PD#SWPL-28377

Problem:
after update media_module to 0616 version, the gst over v4l2
playback is not working.

Solution:
the wrong of configuration of the output buffer mode that
caused allocate buffer failed.

Verify:
w200

Change-Id: I4adf8f082e7b67b495280894408b0363bdaeb190
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agov4l2: fix a h264 decoder issue that exceed max dpb_size [1/1]
Song Zhao [Tue, 23 Jun 2020 17:26:28 +0000 (10:26 -0700)]
v4l2: fix a h264 decoder issue that exceed max dpb_size [1/1]

PD#SWPL-27697

Problem:
There is no buffer while decoder continue to decode.

Solution:
Add more check before run() is called. Patch from Nanxin.

Verify:
U212 + v4l2-vum-test

Change-Id: I64ec1a0d63ad367111bf6984b7d29bec04b65fa0
Signed-off-by: Song Zhao <song.zhao@amlogic.com>
4 years agomedia: Add checksum yuv info for decoder. [1/1]
Gan Zhang [Thu, 28 May 2020 15:50:01 +0000 (23:50 +0800)]
media: Add checksum yuv info for decoder. [1/1]

PD#SWPL-26431

Problem:
There is no checksum yuv info output.

Solution:
Print checksum info in frame check exit.

Verify:
local build

Change-Id: I1b20fb812cd2497be26ad7d1e1f124ea3c54c885
Signed-off-by: Gan zhang <gan.zhang@amlogic.com>
4 years agovmh264: fix the mosic when resolution changing [1/1]
miaohong chen [Fri, 19 Jun 2020 02:53:42 +0000 (10:53 +0800)]
vmh264: fix the mosic when resolution changing [1/1]

PD#SWPL-28253

Problem:
Mosaic appears from small resolution to large resolution.

Solution:
causes:After conversion, the small resolution frame buffers are not released,
and are used by the large resolution code stream.
Mark the small resolution frame buffer as ready to release.

Verify:
u212

Change-Id: Ic208167da54c05b7d962930c671f8e073fadd363
Signed-off-by: miaohong chen <miaohong.chen@amlogic.com>
4 years agovdec: initialize work before interrupt comming [1/1]
apollo.ling [Thu, 18 Jun 2020 12:15:22 +0000 (20:15 +0800)]
vdec: initialize work before interrupt comming [1/1]

PD#SWPL-27087

Problem:
The work is executed before it is initialized.

Solution:
initialize work before interrupt comming

Verify:
AC214

Change-Id: Ida18f12e390e518421b498f6373a3e30766d91f4
Signed-off-by: apollo.ling <apollo.ling@amlogic.com>
4 years agoh265: fix cts test h265 hangup issue [1/1]
Gan Zhang [Wed, 17 Jun 2020 11:14:28 +0000 (19:14 +0800)]
h265: fix cts test h265 hangup issue [1/1]

PD#SWPL-27314

Problem:
h265 decoder hangup, cause system reboot

Solution:
skip some error data to avoid decoder crash.

Verify:
P244

Change-Id: Iebd569c99866de626c6c4db214d22554224bef5d
Signed-off-by: Gan Zhang <gan.zhang@amlogic.com>
4 years agomedia_modules: sc2 media modules bringup. [1/1]
shihong.zheng [Tue, 16 Jun 2020 13:54:30 +0000 (21:54 +0800)]
media_modules: sc2 media modules bringup. [1/1]

PD#SWPL-26369

Problem:
sc2 media modules bringup.

Solution:
support sc2 decoder changes.
ucode change id: Ieb122b1
ucode commit id: ff35011e

Verify:
ptm/pxp

Change-Id: Ibda54d1710ef61841ae2a75c10912e796434dac2
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agoav1: fix av1 duration error and frame dropped. [1/1]
shihong.zheng [Mon, 15 Jun 2020 13:23:16 +0000 (21:23 +0800)]
av1: fix av1 duration error and frame dropped. [1/1]

PD#SWPL-24595

Problem:
1. nts failed. video freeze caused by dur error.
2. frames dropped caused by lack of bufs.

Solution:
add some duration calc limited condition.
add one more buf for some 4k drop frames.

Verify:
t962e2

Change-Id: I27ecef2932a34cc62449309a892e47ef5fe480f6
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agomedia_module: fixed h264 mosaic/freeze about 1mins issue [1/1]
Peng Yixin [Mon, 25 May 2020 02:13:58 +0000 (10:13 +0800)]
media_module: fixed h264 mosaic/freeze about 1mins issue [1/1]

PD#SWPL-26106

Problem:
1. Due to the particularity of the video file,
it will lead to the diffusion of the error,
resulting playback stuck.
2. Due to the video file error, a reference
frame is not out of the dpb queue, and the
subsequent frames are always referring to this
frame, resulting show mosaic.
3. One frame is decoded into multiple frames
4. Two frames of data are decoded into one frame

Solution:
1.the number of continuous errors reaches
a certain number, this frame is considered to
be correct, so that the error will not continue
to spread.
2.a reference frame exceeds 50 frames and is
not remove dpb queue, the frame is considered
to be problematic and removed from dpb queue
3.two consecutive frames are ref frames and
the frame number is the same, the second one
will not enter the DPB queue.
4.Depending on the information when parsing
slice head, If find two frames decoded into
one frame, saving the previous frame into DPB
before continuing to unwrap the second frame.

Verify:
U215

Change-Id: I64ff9f66cd955689161d45d70867cba7e166937d
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
(cherry picked from commit 4a2a8fc447c4a6307233628e1f2fff14c217f609)

4 years agomedia: drm_tswrite printf EAGAIN repeat [1/1]
Joy Rao [Thu, 11 Jun 2020 04:06:25 +0000 (12:06 +0800)]
media: drm_tswrite printf EAGAIN repeat  [1/1]

PD#SWPL-26485

Problem:
1. repeat print write no space for EAGAIN
2. offset need update

Solution:
1. when drm_tswrite EAGAIN, not to print
2. offset update for drm_tswrite

Verify:
u215

Change-Id: Icb277239913ab9280137acb2c3359337242d465c
Signed-off-by: Joy Rao <joy.rao@amlogic.com>
4 years agov4l: fixed the issue of timestamp with the first frame. [1/1]
Nanxin Qin [Thu, 11 Jun 2020 09:23:17 +0000 (17:23 +0800)]
v4l: fixed the issue of timestamp with the first frame. [1/1]

PD#SWPL-27740

Problem:
wrong of timestamp with the first frame.

Solution:
the first frame timestamp has not taken into consideration before
therefore caused lost time information on the frame, so must be
pass the timestamp into decoder.

Android P,Q share CL.

Verify:
u212

Change-Id: I79e3f1fa5be6456af024806dd46cdb8dfd3eba42
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agov4l2: fix a kernel warning for vp9 decoder [1/1]
Song Zhao [Fri, 12 Jun 2020 06:08:09 +0000 (23:08 -0700)]
v4l2: fix a kernel warning for vp9 decoder [1/1]

PD#SWPL-27786

Problem:
vzalloc is called with size 0 and trigger kernel stack dump

Solution:
Check size before calling vzalloc

Verify:
U212

Change-Id: Ida349c310c1e7f9a644a99ff32457984aca70dee
Signed-off-by: Song Zhao <song.zhao@amlogic.com>
4 years agovav1: fix av1 nts fail issue [1/1]
Hui Zhang [Wed, 3 Jun 2020 02:36:32 +0000 (10:36 +0800)]
vav1: fix av1 nts fail issue [1/1]

PD#SWPL-24592

Problem:
In tvp mode. codec_mm only reseved 192M for decoder.
it's not enough for av1 4k with max buf num (16). it cause
nts failed

Solution:
av1 has to use less buffer (12) to save memory usage
when 4k or higher resolution.

Verify:
ab311

Change-Id: I5e5c6b59ceb7fa75d2e2a5d4f8946ebcd0bbdee7
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
4 years agomedia_module: fixed can not playback 4k resolution file. [1/1]
Peng yixin [Thu, 11 Jun 2020 02:33:11 +0000 (10:33 +0800)]
media_module: fixed can not playback 4k resolution file. [1/1]

PD#SWPL-27638

Problem:
When the width of the video file is 4096,
it cannot be played due to the total MB was
incorrectly calculated.

Solution:
Modify the logic so that the correct calculations MB
to solve the problem

Verify:
U215

Change-Id: Iccc116705b0d6a3a1c580162e7e2a5f577afe063
Signed-off-by: Peng yixin <yixin.peng@amlogic.com>
4 years agoav1: fix av1 pts problem. [1/1]
shihong.zheng [Wed, 10 Jun 2020 09:41:41 +0000 (17:41 +0800)]
av1: fix av1 pts problem. [1/1]

PD#SWPL-27551

Problem:
pts error caused video frozen.

Solution:
1. calc a new duration, correct error dur in sysinfo;
2. first pts do not change;
3. check pts when output and correct error pts.

Verify:
T962E2

Change-Id: I41a39cd773dc5552a182e4d7b56ee4c059f1dac6
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agovdec: the fw load mode default VDEC_DBG_ALWAYS_LOAD_FW. [1/1]
Nanxin Qin [Wed, 10 Jun 2020 05:17:00 +0000 (13:17 +0800)]
vdec: the fw load mode default VDEC_DBG_ALWAYS_LOAD_FW. [1/1]

PD#SWPL-27626

Problem:
the default mode of fw loading should be recovery
VDEC_DBG_ALWAYS_LOAD_FW.

Solution:
the default mode of fw loading should be recovery
VDEC_DBG_ALWAYS_LOAD_FW. as the value has been
changed on fence CLs.

Verify:
ab311

Change-Id: I66d6bece839ce16baec7122bf91fa6e1f1fd6713
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agomedia_module: h264 show mosaic picture when resolution change [1/1]
Peng Yixin [Sun, 31 May 2020 05:56:37 +0000 (13:56 +0800)]
media_module: h264 show mosaic picture when resolution change [1/1]

PD#SWPL-26883

Problem:
When the dpb buffer reset immediately
after the resolution change, When switch
a bigger resolution, but the buffer size
used the small buffer, causing this problems.

Solution:
Optimize the dpb buffer reset logic
to use the correct buffer.

Verify:
U215

Change-Id: Ia567867f955ce24f619bd9de999c978e87bc8bac
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
4 years agoavs: fixed avs pts abnormal issue. [1/1]
yunmin.chen [Fri, 24 Apr 2020 10:32:17 +0000 (18:32 +0800)]
avs: fixed avs pts abnormal issue. [1/1]

PD#OTT-10155

Problem:
The player inputs an abnormal pts to the decoder.

Solution:
Only the PTS of the I frame is retained.

Verify:
S905X2

Change-Id: I5085d2c9eb1649d39c98a5db015951adaa6c45e6
Signed-off-by: yunmin.chen <yunmin.chen@amlogic.com>
4 years agovmh264: fixed the MB count error on decoding. [1/1]
Nanxin Qin [Fri, 5 Jun 2020 09:05:38 +0000 (17:05 +0800)]
vmh264: fixed the MB count error on decoding. [1/1]

PD#SWPL-27454

Problem:
the source of h264 with ippp playback abnormal.

Solution:
has some wrong with first I frame so will be checked
on the decoding, then the frame will be show if the
error rate below 5%, but now the mb with calculation is
incorrect which cause it do not a chance to display.

Verify:
w200

Change-Id: I865dd6bec6a8aa9bd830f9800afdf037d7843e23
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agov4l: add parms low_latency_mode for fast output frame. [1/1]
Nanxin Qin [Thu, 4 Jun 2020 03:31:18 +0000 (11:31 +0800)]
v4l: add parms low_latency_mode for fast output frame. [1/1]

PD#SWPL-27426

Problem:
add param in decoder to control fast_output_enable mode for multi-inst

Solution:
add parms low_latency_mode for fast output frame.

Verify:
w200

Change-Id: I135ecc212c72626a9d498adffade70887c8ffd23
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agodemux: add demux_state node for filter/chan [1/1]
Chuangcheng Peng [Tue, 2 Jun 2020 06:18:08 +0000 (14:18 +0800)]
demux: add demux_state node for filter/chan [1/1]

PD#SWPL-27223

Problem:
add node for filter/chan

Solution:
add demux_state for show filter/chan

Verify:
verify at ab301

Signed-off-by: Chuangcheng Peng <chuangcheng.peng@amlogic.com>
Change-Id: I5bd3e68a315051175860444f2f80f359c528e450

4 years agovvp9: fix vp9 mosaics. [1/1]
miaohong chen [Fri, 5 Jun 2020 02:16:27 +0000 (10:16 +0800)]
vvp9: fix vp9 mosaics. [1/1]

PD#SWPL-26140

Problem:
crypto vp9 stream mosaics.

Solution:
set LMEM_DMA_CTRL bit16 for tm2.

ucode gerrit : 112152
ucode commit id: eda5d5

Verify:
T960E2

Change-Id: I3ebd7613ea88e07b64a871fc1d2d78d5947ecf3c
Signed-off-by: miaohong chen <miaohong.chen@amlogic.com>
4 years agovmh264: fix h264 error recovery issue [1/1]
Hui Zhang [Wed, 27 May 2020 06:40:05 +0000 (14:40 +0800)]
vmh264: fix h264 error recovery issue [1/1]

PD#SWPL-26869

Problem:
the stream has many frame drop. frame num is discontinue
which cause gap fill in error

Solution:
if frame_num_gap_allowed = 0, ignore the fill frame num
gap and mark frame error

Verify:
U212

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

4 years agompeg12: fix frame mode frame drop. [1/1]
shihong.zheng [Mon, 1 Jun 2020 05:56:45 +0000 (13:56 +0800)]
mpeg12: fix frame mode frame drop. [1/1]

PD#SWPL-25896

Problem:
mpeg12 frame mode drop frame abnormal.

Solution:
the pb_skip old code caused error drop,
so remove it.
add some static for global var.

Verify:
u212

Change-Id: I84712cfe1aeeaefa2f43165aaf9d1e4b39a6092e
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agov4l: fixed issue of the visiable get fail. [1/1]
Nanxin Qin [Mon, 1 Jun 2020 05:50:35 +0000 (13:50 +0800)]
v4l: fixed issue of the visiable get fail. [1/1]

PD#SWPL-27086

Problem:
GStreamer's V4L2 decoder reports wrong buffer resolution.

Solution:
the interface of get selection need be invoked on mplane as well.

Verify:
w200

Change-Id: I2a04be6c8066fda781518d8be72356c4438dd70d
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agovdec: use new v4lvideo path without di to support fence [2/3]
minliang.lu [Mon, 18 May 2020 08:49:39 +0000 (16:49 +0800)]
vdec: use new v4lvideo path without di to support fence [2/3]

PD#SWPL-26962

Problem:
New feature to support decoder output fence, the di
can't be contained in the video path.

Solution:
Use new v4lvideo path without di to support fence.

Verify:
newton

Change-Id: Ic38c84e5c31ff1ca4416f18bfe5453cab54a1feb
Signed-off-by: minliang.lu <minliang.lu@amlogic.com>
4 years agovp9: add decoder fence to save time of video pipeline. [2/2]
Nanxin Qin [Tue, 21 Apr 2020 07:04:09 +0000 (15:04 +0800)]
vp9: add decoder fence to save time of video pipeline. [2/2]

PD#SWPL-26955

Problem:
Reduce 1 frame delay in Sabrina's video pipeline

Solution:
add decoder fence to save time of video pipeline
this patch of optimized is on decode side.

Verify:
u212

Change-Id: I6c0ef14a76534e19968fa4a5c18eda30a79936e6
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agovmh264: fixed the calc of visiable size. [1/1]
Nanxin Qin [Tue, 26 May 2020 14:06:27 +0000 (22:06 +0800)]
vmh264: fixed the calc of visiable size. [1/1]

PD#SH-4315

Problem:
returned wrong video size when using V4L2_SEL_TGT_COMPOSE inerface

Solution:
the visiable size calc need to considering the crop.

Verify:
u212

Change-Id: Iae4c22028f4fb981d6454f2cfd10f999679fef7a
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agov4l: fixed some issues of the v4l codec. [1/1]
Nanxin Qin [Thu, 21 May 2020 03:18:07 +0000 (11:18 +0800)]
v4l: fixed some issues of the v4l codec. [1/1]

PD#SWPL-26430

Problem:
1. the first picture output 2 times.
2. exception calltrace was found when exit multi-inst playbacks

Solution:
1. the first frame of es must be removed after probe done.
2. clean vb2 buffers status when cmd stream stop.

Verify:
u212

Change-Id: Ic90a5a48e0e2f966e150dc76ba7902a8a9920f3e
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agovdec: fixed the issue of the swap memory leak. [1/1]
Nanxin Qin [Tue, 26 May 2020 12:44:59 +0000 (20:44 +0800)]
vdec: fixed the issue of the swap memory leak. [1/1]

PD#SWPL-26496

Problem:
cobalt can't play clear stream after play DRM stream

Solution:
if the swap memory did not free, then the tvp pool
hold a mass of memory that caused to clear stream
playback fail as not enough memory to decoding.

Verify:
u212

Change-Id: I18fcbe228a72c2d445f47058aed4401365365aec
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agovmh264: video playback stutter issue [1/1]
Hui Zhang [Wed, 6 May 2020 11:57:30 +0000 (19:57 +0800)]
vmh264: video playback stutter issue [1/1]

PD#SWPL-25348

Problem:
this stream has wrong duration info inside vui.
it cause video display not smooth

Solution:
add a limit when variable frame rate and duraion is
adnormal. force set duration to a normal

Verify:
U215

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

4 years agovdec: fixed some issues of playback on dv mode. [1/1]
Nanxin Qin [Fri, 22 May 2020 12:28:19 +0000 (20:28 +0800)]
vdec: fixed some issues of playback on dv mode. [1/1]

PD#SWPL-26639
PD#SWPL-26646

Problem:
1. fixed the issue of stbuf ops is null on dv mode.
2. the video is stuck in fixed position when play the DV video

Solution:
1. the stbuf ops must be set into second vdec inst.
2. ignore pts adjust when work on dv mode.

Verify:
ab311

Change-Id: I8a275415a3eb647ce2f587b1d3f5a4055cf5d158
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agommpeg2: fix 0 address crash issue [1/1]
Hui Zhang [Mon, 25 May 2020 16:51:48 +0000 (00:51 +0800)]
mmpeg2: fix 0 address crash issue [1/1]

PD#SWPL-25585

Problem:
this issue is introduced by gerrit 110569
0 memory address been polluted by lmem hw.

Solution:
add the missed DMA address config in canvas
init

Verify:
ac214

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

4 years agodemux: set ciplus input source [1/1]
pengfei.liu [Thu, 23 Apr 2020 07:23:16 +0000 (15:23 +0800)]
demux: set ciplus input source [1/1]

PD#SWPL-23541

Problem:
For CAS project, AES descrambler can *NOT* worked
on dmx-1 and dmx-2

Solution:
On REE side, when set descrambler source, we also
need set ciplus input source. Secure OS descrambler
is responsible for set the ciplus output

Verify:
irdeto cas verify.

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

4 years agovdec: add lock to core_show function [1/1]
apollo.ling [Thu, 21 May 2020 07:26:40 +0000 (15:26 +0800)]
vdec: add lock to core_show function [1/1]

PD#SWPL-26415

Problem:
There is no lock in core_show function when access core->connected_vdec_list

Solution:
Add lock to the function.

Verify:
u212

Change-Id: I6cc9cf9126f9b3a52fbed492109e8c150702c1c9
Signed-off-by: apollo.ling <apollo.ling@amlogic.com>
4 years agovmh264: fix bug of stream not fluent [1/1]
miaohong chen [Thu, 21 May 2020 02:16:07 +0000 (10:16 +0800)]
vmh264: fix bug of stream not fluent [1/1]

PD#SWPL-26687

Problem:
Multi-instance h264 stream not fluent.

Solution:
The code stream has two sps but the id is 0.
As a result, the sps syntax is not updated,
and the original frame_mbs_only_flag is used,
resulting in an error.
update original frame_mbs_only_flag when reset.

Verify:
u212

Change-Id: I3d731b73d504d4bd9403382e088fcb31c64fd15f
Signed-off-by: miaohong chen <miaohong.chen@amlogic.com>
4 years agompeg2: support dvb mpeg2 clear stream with userdata in drm mode [1/1]
miaohong chen [Sat, 23 May 2020 10:33:17 +0000 (18:33 +0800)]
mpeg2: support  dvb mpeg2 clear stream with userdata in drm mode  [1/1]

PD#SWPL-25585

Problem:
dvb mpeg2 clear stream with userdata in drm mode
not support.

Solution:
allocate cc buffer with cma instead.

ucode gerrit:110575
ucode commit id:2d5eed

Verify:
ac214

Change-Id: I48d787da697420c972fd15f0af711d86f4ea4e9b
Signed-off-by: miaohong chen <miaohong.chen@amlogic.com>
4 years agostream_input: wrong pts value is displayed in sys file [3/4]
zihaoling [Thu, 23 Apr 2020 09:04:08 +0000 (17:04 +0800)]
stream_input: wrong pts value is displayed in sys file [3/4]

PD#SWPL-24755

Problem:
wrong video pts value is displayed in sys file

Solution:
1.amstream_ioctl_get add case
  AMSTREAM_GET_VPTS_U64/AMSTREAM_GET_APTS_U64
2.get the highest bit of videopts and checkin

Verify:
Ac211

Change-Id: I04e8beb823cd99e24a146ab676ad0aec11aae835
Signed-off-by: zihaoling <zihao.ling@amlogic.com>
4 years agomedia_module: fix memory 0 address pollution issue [1/1]
Hui Zhang [Fri, 22 May 2020 05:49:54 +0000 (13:49 +0800)]
media_module: fix memory 0 address pollution issue [1/1]

PD#SWPL-25905

Problem:
memory 0 address is overwrite by hevc back hw

Solution:
disable cm output when dw only

Verify:
ab311

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

4 years agoesparser: the drm source playback abnormal. [1/1]
Nanxin Qin [Thu, 21 May 2020 12:45:48 +0000 (20:45 +0800)]
esparser: the drm source playback abnormal. [1/1]

PD#SWPL-26251

Problem:
the drm source playback abnormal.

Solution:
the drm flag correct to set wirte func.

Verify:
u212

Change-Id: Idb25a1aede3899c6bf0cc821e5dc3392c78dc969
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agostream_input: fixed some issues on stream_input. [1/1]
Nanxin Qin [Mon, 18 May 2020 14:20:37 +0000 (22:20 +0800)]
stream_input: fixed some issues on stream_input. [1/1]

PD#SWPL-26251
PD#SWPL-26296
PD#SWPL-26188

Problem:
1. Cobalt encrypted video does not play,stream is played
   for many times,press CTRL +C to crash.
2. could not decode with audio only stream
3. Play PVR video,do FF,then quit FF,DUT auto stop play.

Solution:
1. psparser do not release more times.
2. the field is_phybuf can't set to wirte func.
3. should check vid and aid when the ts write.
4. the pts start before should check pid is valid.

Verify:
u212

Change-Id: I8fc4e5b176e6cd6fb2b839a2925003b59d1ca865
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agosecure: fix drop frame when nts test [1/1]
Jian Wang [Sat, 9 May 2020 13:05:47 +0000 (21:05 +0800)]
secure: fix drop frame when nts test [1/1]

PD#SWPL-24587

Problem:
1. when one package have more frame, some buf handle is 0
at start one package and lastest buf is valid, so when
get freed handle often get invalid duo to apk do not have
input buf enough and drop frame
2. next pts often is 0, duo to video check parten error

Solution:
1. get freed handle only retrun no-zero handle
2. if next pts is 0, use current pts add duration

Verify:
verify on TM2.

Change-Id: I4f9f0b30e66621bce76a66d093a2d5334583020f
Signed-off-by: Jian Wang <jian.wang@amlogic.com>
4 years agovh264: playback fail in single mode [1/1]
Hui Zhang [Mon, 18 May 2020 07:15:06 +0000 (15:15 +0800)]
vh264: playback fail in single mode [1/1]

PD#SWPL-25668

Problem:
the stream poc is always 0, cause display dis-order

Solution:
fin the min frame num to output when poc is always same
in single mode

ucode gerrit:109753
ucode commit id:8dbeb

Verify:
u212

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

4 years agoadec: audio codec for GXLX (S905C) bring up [1/1]
Rui Wang [Sat, 16 May 2020 07:50:02 +0000 (15:50 +0800)]
adec: audio codec for GXLX (S905C) bring up [1/1]

PD#SWPL-26186

Problem:
audio codec for GXLX (S905C) bring up

Solution:
audio codec for GXLX (S905C) bring up

Verify:
p270

Change-Id: Ibda057213b93e7bb5326d63f227f74dcd48034ef
Signed-off-by: Rui Wang <rui.wang@amlogic.com>
4 years agovdec: Kernel 4.9: codec common/mm for GXLX (S905C) bring up [1/2]
apollo.ling [Fri, 8 May 2020 12:37:53 +0000 (20:37 +0800)]
vdec: Kernel 4.9: codec common/mm for GXLX (S905C) bring up [1/2]

PD#SWPL-24837

Problem:
Kernel 4.9: codec common/mm for GXLX (S905C) bring up

Solution:
Kernel 4.9: codec common/mm for GXLX (S905C) bring up

Verify:
p271

Change-Id: I4c8e6a18b27d7f7e967c5703b575989ee646eb6c
Signed-off-by: apollo.ling <apollo.ling@amlogic.com>
4 years agoh265: fix h265 video jitter. [1/1]
shihong.zheng [Tue, 12 May 2020 09:38:13 +0000 (17:38 +0800)]
h265: fix h265 video jitter. [1/1]

PD#SWPL-24702

Problem:
pts lookup deviated caused jitter.
some frame size is too small for
pts lookup accurately.

Solution:
adjust pts lookup margin accord to frame size.

Verify:
u212

Change-Id: Iea8450c7430cc4b3252b10372c9234188e4fe4a2
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
4 years agodecode: support multi-instance on stream mode. [1/1]
Hui Zhang [Thu, 27 Feb 2020 08:10:45 +0000 (16:10 +0800)]
decode: support multi-instance on stream mode. [1/1]

PD#SWPL-21360

Problem:
can not support multi-instance on stream mode.

Solution:
1. parser's wp and rp operations have been separated from decode.
2. remove register rw of parser from the stream input pipeline.
3. opitimize stbuf involves the struct and adds series of ops fun.
4. defualt used ops with esparser of stbuf, we can force switch
    non-parser mode used by the flag "enable_stream_mode_multi_dec"
    on stream_input.
echo 1 > /sys/module/decoder_common/parameters/enable_stream_mode_multi_dec

Verify:
u212, ab301
1. pass the base playeback that be tested by dailiang.
2. pass the dvb playback that be tested by chenyuanyuan.
3. pass cts testing for media that be tested by zhanggan.

Change-Id: I20abb42f894bee92bd11870b5e293b0f0a941930
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
4 years agovh265: fix bug of ucode code segment size exceeding. [1/1]
miaohong chen [Fri, 15 May 2020 09:50:23 +0000 (17:50 +0800)]
vh265: fix bug of ucode code segment size exceeding. [1/1]

PD#SWPL-21638

Problem:
ucode code segment size exceeding

Solution:
Reduce debug code lines

ucode gerrit:109704
ucode commit id:1fb1cba

Verify:
u212

Change-Id: I58f508a194404ff0b2b2c2785795cdfb74388ed1
Signed-off-by: miaohong chen <miaohong.chen@amlogic.com>
4 years agovh265: fix fps statistics error [1/1]
Gan Zhang [Tue, 12 May 2020 06:26:34 +0000 (14:26 +0800)]
vh265: fix fps statistics error [1/1]

PD#SWPL-25770

Problem:
One more fps was counted, resulting in
an error in fps statistics.

Solution:
Only statistics fps once.

Verify:
AC214

Change-Id: I5d7d3f8ea81eaba069d83d8b755c891a29db36c0
Signed-off-by: Gan Zhang <gan.zhang@amlogic.com>
4 years agodvb: Reset the pcr register after reset dmx. [1/1]
Chuanzhi Wang [Wed, 29 Apr 2020 04:28:34 +0000 (12:28 +0800)]
dvb: Reset the pcr register after reset dmx. [1/1]

PD#SWPL-24760

Problem:
pcr value is equal to 0 after reset demux.

Solution:
Reset the pcr register after reset dmx.

Verify:
U215
Signed-off-by: Chuanzhi Wang <chuanzhi.wang@amlogic.com>
Change-Id: Iaaa11af7e18c14f9ad9c64e2551df0140febce75

4 years agovh265: fix bug of error stream cause stuck in stream mode. [1/1]
miaohong chen [Mon, 11 May 2020 07:27:09 +0000 (15:27 +0800)]
vh265: fix bug of error stream cause stuck in stream mode. [1/1]

PD#SWPL-21638

Problem:
ucode parse error stream cause stuck.

Solution:
When the code stream is single tile,
ucode does not judge the end of frame flag, and directly
reports the end of frame interrupt to the driver.

ucode gerrit:108952
ucode commit id:79e4009

Verify:
u212

Change-Id: Ib118cb2caaf9f13be58f6ca95f5f9789e2ad8cb7
Signed-off-by: miaohong chen <miaohong.chen@amlogic.com>
4 years agoamvenc_avc: add interface for setting color space [1/1]
Rico Yang [Sun, 22 Mar 2020 18:27:05 +0000 (02:27 +0800)]
amvenc_avc: add interface for setting color space [1/1]

PD#SWPL-22421

Problem:
h264 encoder needs interface for setting color space

Solution:
add interface for setting color space

Verify:
verified on w400 and 905x3

Change-Id: If7ac9f3ed4a51378574273845733da2155853785
Signed-off-by: Rico Yang <wei.yang@amlogic.com>
4 years agompeg2: dvb mpeg2 crash [1/1]
miaohong chen [Thu, 30 Apr 2020 10:58:50 +0000 (18:58 +0800)]
mpeg2: dvb mpeg2 crash [1/1]

PD#SWPL-25177

Problem:
VMX encrypted stream switch to "BBC MUX uh-ts"
and crash in dvb

Solution:
Non-null judgment on null pointer

Verify:
U215

Change-Id: I638acd8e94fad5ff1f51263c856115af03e4938c
Signed-off-by: miaohong chen <miaohong.chen@amlogic.com>
4 years agov4l: mpeg4 support parse of parms sets by ucode for v4l codec. [2/2]
Peng Yixin [Wed, 1 Apr 2020 02:02:52 +0000 (10:02 +0800)]
v4l: mpeg4 support parse of parms sets by ucode for v4l codec. [2/2]

PD#SWPL-23440

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

Solution:
mpeg4 support parse of parms sets by ucode.
ucode gerrit id: 104148
ucode change id: I6f3ec

Verify:
u212

Change-Id: I8e7b5e4cddee999d3a753ffda3d76d3d90fa93df
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
4 years agovdec: Remove the unnecessory warning message in vdec [1/1]
apollo.ling [Sat, 9 May 2020 12:40:46 +0000 (20:40 +0800)]
vdec: Remove the unnecessory warning message in vdec [1/1]

PD#SWPL-25700

Problem:
Sometimes there are some unnecessory warning messages in vdec

Solution:
Remove the unnecessory warning message

Verify:
u212

Change-Id: Icb6dbf6291ee169be06aab39bbc2c53fde92c033
Signed-off-by: apollo.ling <apollo.ling@amlogic.com>
4 years agosubtitle: need to flush memory before read sub data. [1/1]
Nanxin Qin [Sat, 9 May 2020 04:12:32 +0000 (12:12 +0800)]
subtitle: need to flush memory before read sub data. [1/1]

PD#SWPL-25219

Problem:
Caption data acquisition error.

Solution:
flush memory before read sub data.

Verify:
u212

Change-Id: I68963f36a3ff6ceaabe93cd9d9f151ec989805c3
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
4 years agovmh264: fix bug of h264 stream stuck [1/1]
miaohong chen [Thu, 7 May 2020 08:20:03 +0000 (16:20 +0800)]
vmh264: fix bug of h264 stream stuck [1/1]

PD#SWPL-24006

Problem:
h264 stream stuck.

Solution:
Modify reset judgment condition and
increase counter to avoid misjudgment caused
by subsequent state change

Verify:
u212

Change-Id: Idcdc9ce335561cf0761abeeea11827d50a131720
Signed-off-by: miaohong chen <miaohong.chen@amlogic.com>
4 years agomedia_module: h265 fixed display incorrect pictures [1/1]
Peng yixin [Thu, 30 Apr 2020 02:24:29 +0000 (10:24 +0800)]
media_module: h265 fixed display incorrect pictures [1/1]

PD#SWPL-25170

Problem:
Decoder output one more frame between the
first frame and the second frame.

Solution:
If video file only I frame, the first
frame will output twice, and when the
second frame display, the decoder is
already decoding another frame use
this buffer, resulting in show an
abnormal frame.

Verify:
AB311-B

Change-Id: Ieb9fe19ad8c5eca789e56c72c8dda549dfb1d5b6
Signed-off-by: Peng yixin <yixin.peng@amlogic.com>
4 years agomedia_modules: support standalone build for 4.9 + R [4/5]
Xindong Xu [Wed, 29 Apr 2020 07:33:08 +0000 (15:33 +0800)]
media_modules: support standalone build for 4.9 + R [4/5]

PD#SWPL-23333

Problem:
need to support standalone build for 4.9 + R

Solution:
support standalone build for 4.9 + R

Verify:
franklin

Change-Id: I457648faba7722620a7648160a53d9e0ef679ac2
Signed-off-by: Xindong Xu <xindong.xu@amlogic.com>
4 years agompeg12: improve the error frame drop. [1/1]
shihong.zheng [Tue, 21 Apr 2020 08:52:14 +0000 (16:52 +0800)]
mpeg12: improve the error frame drop. [1/1]

PD#SWPL-22234

Problem:
not smooth after resume playing.
1. frame GOP is dorpped after set
   error skip level 2.
2. first i flag will be clear after timeout,
   so it will cause unsmooth when the B frames
   after first i decode timeout.

Solution:
1. improve the error drop code.
2. the error pic is skiped, but error info saved,
   for example IBBP, the B after first i frame will
   be skipped, but error flag is not cleared. so
   clear last invlid pic error flag before ctx restore
   in ucode.
ucode gerrit id: 106830
ucode change id: I1caffae

Verify:
AC214

Change-Id: Icdb9541b2159804e8690c5b70d8a1cada4e2c2af
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>