For kernel 4.4 and before, if VPU only has decoder, register size is
101. Thus extra size append at offset of 164*4 will be ignored by
kernel.
Change-Id: Idf4524099615b8ffd46766f55c9c0ea481f7cb76
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
Calling mpp_dev_init at hal_jpegd_api before calling each device init
function. Client type can be and should be specified before calling each
device init function. There is no need to re-initialize MppDev when
PP should be used. This fix also avoid lossing format information after
re-initialize MppDev, which result in extra_info storing at higher bits of
bitstream base address register instead of appending after registers datas.
Change-Id: I2edd8f91f29d04a151c94e9d342f153f42118eb1
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
RV1126/RV1109 JPEG decoder has no PP. This will be conflict with
vcodec_type queried from kernel. Also VPU_CLIENT_VEPU2_JPEG is defined
and used only for multi-core JPEG encoder at kernel. So the following
changes is made to fix this problem:
1. This reverts commit 9b860cd250.
2. Define a new MppDecHwCap to distinguish normal VPU with only JPEG
supported from multi-core JPEG encoder.
3. Correct vcodec_type queried from kernel when there is no PP for
VDPU2.
Change-Id: I58a1abe708721f725a9cf487e8f870dd5820844f
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
For qp lower than 6, make encoder to favor intra mode to obtain higher
quality of image, especially at chroma part.
Change-Id: I4b9f5602c2f0ca978a66a9a24f483db083ab7155
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
1. put err stream to mpp and not get valid sps/pps.
2. put eos packet.
3. reset mpp but reset failed in init_dpb().
4. always drop new stream causeby has_get_eos flasg not
clear in h264d_reset().
Fixs: redmine(485349).
Change-Id: I2955ea4ab48f116daa717949f28411bf4798c666
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
When encountering 16hex "00 00 00 01 00 00 00 01", allow filtering
out this empty NALU and do not consider it as an error stream.
Signed-off-by: Rimon Xu <rimon.xu@rock-chips.com>
Change-Id: I4fdc3cb8de7fee0a1899bc426c4681bf9ddc8d5d
in fast mode, scaleing_list_enable_flag may not correct when
seeking without update spspps
Signed-off-by: Chandler Chen <chandler.chen@rock-chips.com>
Change-Id: I64a14d7ba8cb065256c212c61f39e6371c607a93
Adjust the hal layer compilation structure
and fix the lib interdependence issue.
Change-Id: I7b400b679c8592b12fae865ff0638f177bbf0d60
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
feedback ONE_SLICE_FINISH irq is not a err.
Change-Id: I350252b78750672dc3123e0983b1edf7d870c26e
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
pass1 frame will disable split mode, so split out need to be disable.
Change-Id: Id1d504f954848c6b4b270788ecf077897238f82f
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Some compilers, such as ndk16, will have problems when linking
revert: e83980a9 fix[hal_enc]: Fix lib dependency issue
fix: refactor[hal_av1d]: Migrate av1d from vpu to rkdec
Change-Id: I5592ac1040ab23e25860b595ca38e1748911e4a4
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
rkenc/vpu generates library files for hal/common to use.
So under rkenc/vpu, should not rely on the target library
in hal/common.
Change-Id: I9521364829aef90f9024b8388339f00f05cc3f96
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
fallback to DRM/ION buffer when DMA heap allocator is invalid
Signed-off-by: leo <8252892+leokvw@users.noreply.github.com>
Change-Id: Ib2cd5669e6c9b41ceed7f4dd87f8fc33de88aa1c
Now there are 2 mode for downscale thumbnail frame buffer
1.MPP_FRAME_THUMBNAIL_MIXED (already use on RK3528 box):
Each buffer contains original output frame and 2x2 downscale
small frame, small image's buffer offset will be set in frame
meta info;
2.MPP_FRAME_THUMBNAIL_ONLY (newly added for rk3576 8K video):
for rk3576: vop & gpu does not support 8K frame,
in this case, mpp use 4K downscale buffer as decoder output
Signed-off-by: Chandler Chen <chandler.chen@rock-chips.com>
Change-Id: I3acf9486a657fa3e999ca16140f40b2a01ebcaf4
set hor stride alignment when decoder init
former commit:8759039d5f
feat[vdpu383]: align hor stride to 128 odds + 64 byte
Signed-off-by: Chandler Chen <chandler.chen@rock-chips.com>
Change-Id: I5428919cea58705f3c05100d4f83276be607cb00
When the buffer length is set incorrectly,
the interface mpp_put_bits does not return
in time and the buffer is written out of
bounds.
Change-Id: I2ee7d69a6b405ff3cc8aa2fe6389a0ee288f95c7
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
When using old global paras, it is necessary to clean up the bit
positions that need to be updated, otherwise it will affect the
global parameter configuration and cause global parameter
configuration errors.
Change-Id: I7f1a7bf77d9e56a6b5f532ff70494e8937cc63a7
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>