By default, the frame of view 0 is decoded and output.
Change-Id: I26287147548620f733712d4ab044df7c830dbd7f
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
- Correctly apply conformance window offsets based on chroma_format_idc
- For YUV 4:0:0 (chroma_format_idc == 0), no offset scaling is needed
as there is no chroma component
- For YUV 4:2:0 (chroma_format_idc == 1), apply * 2 to both horizontal
and vertical offsets
- For YUV 4:2:2 (chroma_format_idc == 2), apply * 2 only to horizontal
offsets
- For YUV 4:4:4 (chroma_format_idc == 3), no offset scaling is needed
- Ensured the output window accurately reflects the cropping adjustments
for different chroma subsampling formats
Signed-off-by: Rimon Xu <rimon.xu@rock-chips.com>
Change-Id: I90c7e61487a1638d5ba296f1d95de4792fcb2104
H.264: intra8x8 and inter8x8 for luma only
H.265: intra/inter 8x8/16x16 for luma and chroma,
intra/inter 32x32 for luma
Change-Id: I6ca3d5985af7d3d7e7c1bc99db820cd166be0624
Signed-off-by: Tingjin Huang <timkingh.huang@rock-chips.com>
The ps_update_flag=0 case is not handled properly here,
and follow commit exposes this problem.
233940: fix[h265d]: fix infochange loss when two sps continuous
Change-Id: I54dcea6c31483257b4b771a8bd4994cc75ed41f5
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
1. Fix AQ setup error for smart H.264
2. Fix initial value error of qp_min
3. Adjust H.264 regs setup for CVR scene
Change-Id: I38b09edb95532a3c1e9a544584c6d258f05fc43b
Signed-off-by: Tingjin Huang <timkingh.huang@rock-chips.com>
fix issue cause by the following commit:
233940: fix[h265d]: fix infochange loss when two sps continuous
Change-Id: Ie0047cbb7f02ef78e46f6980acfb20532af12dee
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
When a B frame is behind an IDR frame, there is only one reference.
Change-Id: I1bc7f1901aa128490d14dc6702dce6a32612ff48
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
When reading file from start over, buffer got from list should be put
back. Otherwise buffer list will have no more buffer available after
rewinding BUF_COUNT (which is 4 currently) times.
Change-Id: If346e1824bd876cf2d6c226c97c1dec17dc9b56f
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
The sps buf is managed by mpp_mem_pool. When two sps appear
consecutively, the second ptr of sps is the same as the old sps.
So when updating the sps to pps,it is not enough to judge the ptr sps.
Change-Id: Ieb7cf1c374dd72abae6f0c899bc9f2ee9849072e
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
1. Reduce MppTrie memory usage.
2. Add info context and string temp storage.
3. Refactor memory layout on mpp_trie last info.
4. Use ENTRY_TABLE to setup mpp_enc/dec_cfg trie info.
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I3e554ca6ef97bf77406ced00a116c5783570baba
The value of log2_max_mv_length_horizontal/vertical has been changed to
15 since the 2016 standard.
Change-Id: I12ab104cd3277e4d926c7a721bfaccab721d5997
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
1. Add AQ regs setup. There is no aq clip operation which is
different from vepu500.
2. Update anti-stripe regs setup. Option "-atl 1/0" to enable/disable.
3. Add anti-ringing regs setup
4. Add anti-flicker regs setup
Change-Id: Ia36073d26ab5587f3478f7f8b4cdfe8a1ffed8f4
Signed-off-by: Tingjin Huang <timkingh.huang@rock-chips.com>
1. Add cu_qp_delta_depth cfg
2. Configure AQ regs for H.265
3. Configure regs according to scene mode
4. Support fixed frame level QP
5. Add RDO lambda table index
6. Update stat info for HEVC
7. Add tuning code for H.264 encoder
Change-Id: Id7dae4ed55e1b94622aee72cfce8f24c833d00e1
Signed-off-by: Tingjin Huang <timkingh.huang@rock-chips.com>
1. Keep decoding when the reference frame is not valid.
2. For RK3588, improve decoding speed and result when decoding a
non-IDR picture of a GDR stream.
Change-Id: Iae3ac63b05349e4ba923d6df03f89c2958ad72a1
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
At fast mode, 3 error_index is need. Otherwise it will be covered and
leads to ref_err marked as 1.
Change-Id: I846b6f814a88eb45d54d7e2f533c950464d1bd8e
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
Refer to commit 3198035973.
When decoding interlaced H.265 stream, SPS will be changed after parsing
SPS NALU. This leads to comparing the new SPS and old SPS via memcpy
reporting that they are different. And references list will unreference
frames. Finally, some frame that should be kept in dpb will be removed.
And the following picture to be decoded will not find these removed
frame for reference.
Note that comparing two SPS buffer with memcpy to find if reference list
should be update is too rough. It should be fixed in the future.
Change-Id: If20ab30973df12635976d4b9d759b36b560ddea2
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
For vdpu383, 8K video needs to be scaled to 4K,
but buf_size still needs to be processed as 8K.
When filling HDR data, it needs to be filled
according to the 4K buffer offset.
Change-Id: I610adcf848acc1eee903b5ef7e438875b55e4628
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Inc/dec logs are added after ref_count changes
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Change-Id: I6c358d077c5437d47305c5e211ae9999ca7a8b8f