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

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>