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
1. Add buf_grp, buf_grp_cfg, buffer, buf_cfg objdef.
2. The buf_grp_cfg is binded to buf_grp and the buf_cfg is binded to
buffer. The binding cfg obj is stored in private data.
Change-Id: I9243c03f7b9519536fdc2f24b62761dc04baac85
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
1. Add KMPP_OBJ_PRIV_SIZE for extra priv data to userspace KmppObjImpl.
2. When add private data realloc mempool for KmppObjImpl.
Change-Id: Ifc6d210cc77497cc9cbd5d86ad1ddcf2ba0fc4af
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
1. Use mem pool to alloc KmppObjImpl
2. Add kmpp_obj_put_impl to release KmppObjImpl header only.
3. Add grp_cfg and buf_cfg release operation.
4. Use MPP_SINGLETON to init kmpp_venc_cfg.
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I865d4d990d7e89598b2f17d85460b809f7f602df
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
Specify output format with `-f 0x200000` to get FBC result.
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
Change-Id: I8458fd0c60fdfa6ac7e3a71f379954f37fe681b4
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>
The default android log and syslog have a truncated length of 1024.
Use long log function to print check line for a long buffer.
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I43212e8c456daf132e7920e24726ac3110f1fd15
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
Undefine KMPP_OBJ_SGLN_ID macro for multi helper.h in one file.
Change-Id: Iccc4062ee6d17359bfd7fefc07ac3d3d17c367e1
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
Using CLOCK_MONOTONIC instead of CLOCK_REALTIME to avoid date-2038
issue. Also timeout will expire sooner or later than intended if using
CLOCK_REALTIME when clock changed dramatically.
Platform: 32-bit program
Spec: all
Reported-by: #555412 at redmine
Reprodece:
1. setting system date after 2040-01-01
2. running 32-bit program calling mpp video encoder at non-block mode
with 100ms timeout. eg: screenrecord at Android 11. This program
will call mpp via vpu_api_legacy routine with a 100ms timeout.
3. timeout will expire sooner than 100ms.
Change-Id: I804146d6e33f5c30cbd3bdfdcf10b6dd56b0610c
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
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