1. The kernel object is provide by /dev/kmpp_objs
2. Use kobj interface name to query its info from kernel.
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I638890b39a62b7a992896e8047d4bed33400f912
The extra data(sps/pps) will be lost when the following flow occur:
push extra data -> reset -> push idr data.
Change-Id: I5f371291d5e7bcc27aad18ce6ae180b00fd76bd7
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
In TSVC with multiple LTR frames case, there may be more than two base
layer frames between two LTR frames with different index. Replaceing
LTR frames into 1st short-term reference when calculating cpb size will
not get a correct result.
Change-Id: Ib68e8c4e733cef2192d70d03c02d29ff814cf011
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
Platform: Linux,General
Error case:
When decoding an MPEG4 source, it is unable to properly
configure split_parse. need_split is only initialized
during init.
Solution:
Use the split_parse parameter in the dec_cfg.
From: redmine #526753
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Change-Id: I89eb4dc8fcc2a1b00d73d359979770f7afefe0d3
Frame type can be configured in all encoding fmt.
Change-Id: I9cd0c4417514376dcce29924f8456f36d525ef6b
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
1. No need to encode IDR when fps_in is changed. So remove it from
`check_resend_hdr`
2. If application do not want any IDR encoded when only fps is changed,
call `mpp_enc_cfg_s32(cfg, "rc:fps_chg_no_idr", 0);` when
initializing.
3. Keeping CPB when only SPS, PPS are updated without IDR encoded for
H.264 encoder.
Change-Id: I034dd789a3f24318004d942624eb10240f7db2e9
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
When the profile idc is high profile and constraint_set3_flag=1,it must
obey some rules of high 10 intra profile, such as contain only IDR pictures.
Reference the h264 clause A.2.8 introduction.
Change-Id: I9f886925a3810bc4ad9c7e70ebdc2194354c6eb5
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
MppSysCfg is used to config and query mpp gloabl parameters.
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Change-Id: I132746e07b55040b582878adaef209ce73147da1
Platform: General
Error case:
When info changing, setting the output format to fbc
causes buffer usage exceptions.
Solution:
Add the MPP_DEC_SET_FRAME_INFO command.
From: Product Department 2 czl
Change-Id: I779ca93b461bf220d64e3d4846128ce2f67ffc89
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
1. solving deinterlace mode changes when video is
progressive at detection mode. Frame output
order will be wrong for the first 10 frames.
2. solving the issue that ff_mode judge will not
be updated when info changes.
Change-Id: I85ef0abe7af972dbe9ee7965f2c17de78330c506
Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
tips:
if set this in alloc_frame, it may error and set the meta
in first missing ref frame, not in current frame.
Change-Id: I76ecadd7566e151b0795a4918efb4112881417ed
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
Generally, stream length is equal to packet size,
which is set outside.
It is better to use stream length when exactly set
Change-Id: I2f5b6eaf263ce3c26b0ff12dac2f0f3f61483f3f
Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
Platform: rk3575/vdpu383
Error case:
The idr frame (frm0) does not update the cdf, and then frm1,
when using the cdf, mistakenly uses the cdf of the previous
gop instead of the default cdf
Solution:
At the beginning of GOP, reset all validity flags
Reported-by: Detlev Casanova <detlev.casanova@collabora.com>
Source: av1.video.es
Change-Id: I72152664d1c4275cb39f657c94ed4ba89a076465
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Platform: rk3576/vdpu383
Error case:
The idr frame (frm0) does not update the cdf, and then
frm1 uses the invalid cdf of frm0, causing core timeout
Solution:
Add a flag to determine whether the cdf is valid
Reported-by: Detlev Casanova <detlev.casanova@collabora.com>
Source: av1.rk3576.failure.obu
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Change-Id: I72d08877d40368976794ba3bcabf4e939d4fa047
For H.264 and H.265 encoder on RK3588, when input source is YUV, keep
input source. For RGB, transalting according range setting from API.
Change-Id: Icf0ffdb80d7fcc4027b8bd7b9b7fd673fc6e3b0b
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
Platform: General
Error case:
The output format is initialized to fbc, and then converted to yuv
during info change
Solution:
In the SLOTS_FRAME_INFO case, improve the copy of frame information
From: Product Department 2, android15 youtube verification
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Change-Id: Ia78f1272c506ec1ff5e0789fd26b36e3cb1d63b1
Platform: General
Error case:
The source don't have the second_chroma_qp_index_offset
Solution:
The base line profile, Main profile, and Extended profile do not
support transform_8x8_mode_flag, pic_scaling_matrix_present_flag,
and second_chroma_qp_index_offset, so it is not parsed in these
cases.
From: redmine #516724
Source: bigbitrate.264
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Change-Id: Iab48d47b3031a478d1821a164274366e1249a73c