Sync with kmpp-develop commit:
feat[kmpp]: Use enc cfg obj
Add MppEncCfgImpl to compatible with MppEncCfgSet and kmpp_obj path.
Signed-off-by: xiaoxu.chen <xiaoxu.chen@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Id4e262d1053c03cd93d620828405f060f0f8517c
min_bg_fqp: min frame qp for background region
max_bg_fqp: max frame qp for background region
min_fg_fqp: min frame qp for foreground region
max_fg_fqp: max frame qp for foreground region
Change-Id: Idc10767d545dd83e4157f839a621e4801c98201e
Signed-off-by: timkingh.huang <timkingh.huang@rock-chips.com>
1. Move MppCfgStrFmt to rk_mpp_cfg.h
2. Add mpp_cfg_find and mpp_cfg_set_cond
3. Fix memory leak in mpp_cfg_test
4. Add log->cfg function
5. Add cfg->json function
6. Add to / from log / json check to mpp_cfg_test
Signed-off-by: xiaoxu.chen <xiaoxu.chen@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I02e80cd21da664019bf0b767b073c14dbbfe0776
Platform: RK3399
Spec: All
RK3399 does not need to force 256 odd multiple alignment
Source:
1920x1080_taipei.mpg
Reported-by: Zulin Chen <casey.chen@rock-chips.com>
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Change-Id: Ie0c22aaf8c78d76a083db54098a5250bbf07c1db
Because the loop uses repeated i, the parsing obu units
falling into an infinite loop.
Change-Id: Idc972cc05bb6c1bee94ad0e4c3d46c07da88a73d
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Support user setting for vui_parameters_present_flag.
1. Default vui enable flag is true if not setting.
2. Call mpp_enc_cfg_set_s32(cfg, "h264:vui_en", vui_en) or
mpp_enc_cfg_set_s32(cfg, "h265:vui_en", vui_en) to
enable or disable the vui enable flag.
Platform: all
Spec: all
Reported-by: #556121 at redmine
Change-Id: Ie4a23c2879c3209377a5800d8e63c4081c34e0f7
Signed-off-by: wyc <yichen.wang@rock-chips.com>
Platform: RV1126B
Spec: h265
Error case:
The H.265 slice header syntax lacks adaptation for the case where ChromaArrayType=0.
Reported-by: redmine #559194
Source: y400-ok.265
NOTE: The decoders before RV1126B do not support YUV400.
Change-Id: I5362bc7f3894f1ec3938708563d81bf867815d9a
Signed-off-by: xiaoxu.chen <xiaoxu.chen@rock-chips.com>
1. GDR stream started with Non-IDR frame is supported and no need to
disable error.
2. Intra refreshed frames will be mark as discard if started with
Non-IDR frame.
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
Change-Id: Ide470d377f13e0512ceda4eb7219650aeffb0148
1. Refactor caller parameter on pool functions.
2. Add name on pool init.
3. Add exit leak pool print.
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I39a8a966db895340a9e01ddff3a7894f1ca4b825
Need to sync cache after cut slice segment header extension datas.
Change-Id: Id89ef895ac6df47ff593407a18e0246138dffb9f
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
1. Change mpp_dec_cfg entry_table define
2. Use new update function to update MppDecCfgSet
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ibaf98d69664c107f79ea51e6cd83419dc1bf450a
Platform: General
Spec: All
Reported-by: Jinsen Chen <kevin.chen@rock-chips.com>
Change-Id: Iaf5eaadedc718682e9876ec8cb64fdd82ea1ac86
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
1. Integrate simple element and struct element to one macro.
2. Resolve different update flag mode.
3. Support hierarchy definition for future config file registration.
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I691a99aafec3f4e9d4e883e172d2b82ace44e379
If hardware failed at decoding the first field of frame, stream consumed
length will not be update to vlc_stream_base register. To avoid reading
stream base address as stream length after irq, just abort decoding when
hardware reporting error.
Change-Id: I7ca80aefebb0700612a20d7e35c49dc736a31b6f
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
Platform: RV1126B
Spec: h265
Error case:
When decoding a video sequence, the interrupt reports
a bitstream error.
The value of num_negative_pics shall be in the range of
0 to sps_max_dec_pic_buffering_minus1[ sps_max_sub_layers_minus1 ]
For frame5 (starting from 0)
sps_max_dec_pic_buffering_minus1[ sps_max_sub_layers_minus1 ] = 4
num_negative_pics = 5
Solution:
Mask out undefined bits in cabac error detection, this error is
allowed to be ignored.
Source: H265-019-Movie_Trailer_复仇者联盟.720P预告片.h265.mp4
Reported-by: Caesar Wang <caesar.wang@rock-chips.com>
Change-Id: I22915d3e6b04cf270bd2075e1606e5d35142f2cd
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Platform: General
Spec: vp8/vp9/mpeg2
Error case:
Stride information persists incorrectly across
resolution changes, leading to errors.
Solution:
When the stride is not set externally, it needs to
be set to 0 to avoid the stride not being updated
in time when the resolution of the same source
changes. For example, the source:
VP9_crowd_run_2048X1088_60fps_bd8_frm_resize_l41.webm
contains two resolutions: 2048x1088 and 1365x725
Source:
VP9_crowd_run_2048X1088_60fps_bd8_frm_resize_l41.webm
Reported-by: redmine #552464
Change-Id: I0e8f7c77736dbba31ccd98e559e3d7eeac240d97
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Platform: General
Spec: vp8/vp9/mpeg2
Error case:
Ver_stride is set externally, causing sys_cfg
to use the external ver_stride directly
Solution:
If it is not necessary, do not set ver/hor_stride
externally. To minimize the impact, currently only
modify the specs that encounters problems
Source:
vp9 3840x2026 in rk3576
vp8 1920x1080 in rk3588
m2v 1920x1080 in rk3588
Reported-by: redmine #550255
Change-Id: Ie1e73e17fa2db1740d36821a5bb26fb1487e81cb
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Platform: Chips designed before RK3576
Spec: avs2
Error case:
For RK3588 FBC, vertical pixels equals to height of image aligned with
CTU size and then plus 16.
Issue reported at redmine #550260, caused by this commit:
adf21e18ba
"Align to CTU64 to avoid info change"
Change-Id: I52ab1ff4437431666b1e6fc1e458b6981f53c821
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>