The GKI kernel does not allow non-render thread to open /dev/dri/card0
and alloc drm buffer from it. So we need to use /dev/dri/renderD128
instead.
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I0fad306c6eeadd8da5507883f4f4915c11946761
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