When the bitrate overflow the encoder can drop or encode skip frame.
drop_mode:
MPP_ENC_RC_DROP_FRM_DISABLED
- Do not drop frame when bitrate is too large.
MPP_ENC_RC_DROP_FRM_NORMAL
- Drop frame when bitrate is too large.
MPP_ENC_RC_DROP_FRM_PSKIP
- Encode force pskip frame to keep frame rate when bitrate overflow.
drop_thd:
The instantaneous bitrate overflow threshold to trigger drop frame.
drop_gap:
The minimum gap between two continuous drop frames.
0 - enable continnous drop frame.
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: If17ee5f46ee03ae4ad958c8fad30a4a82f422118
if input file name is start with "/dev/video", default open camera
device as input.
Change-Id: I85d639ddb6fa5d99413ea75a0b088c79798dd6c8
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
Obsolete MPP_ENC_GET_EXTRA_INFO in vpu_api_legacy and mpi_enc_test.
Change-Id: I3209a1af112ca073e3f61bbff60d8c2844c00ed1
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
NOTE: It is important to clear output packet length to zero.
Or set packet pos and length to required valid value.
Change-Id: I8ddea1ee3c198bbd17381618b82ec5efab1d366e
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Config process should not use fixed local rc_mode value to setup.
Change-Id: I8cdfb049e676d34e50a0f11fd174d4eba5bfc24b
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Add simple tsvc4 config to mpi_enc_test for test.
Change-Id: Icdb5a91106351a00d3eb07dc233b9341084c5abe
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
New reference frame config interface will be added.
Change-Id: I5766cefde12237561bbc20c905e47ed2d3e90011
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
1. Remove prefix before some args.
2. Add node count / info count calculation.
NOTE: the info count is correct but node count may have error.
Change-Id: I3a7d1005f440105eaf4b6d6326e92aa77d7d7e2a
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
When max_reenc_cnt is zero the reencode flow is disabled.
Change-Id: Iba600b37bb5ab6e4f720b652d59abfae36f9e52f
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
1. Fix h.264 encoder roi buffer leak error.
2. Set all qparea to [1, 51] range.
Change-Id: I8434fc5fc60071ec533aba68fc2fe3be5a087bcd
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
use "-r numerator:denominator:flex"
for set the input to the same fps as the output, such as 50:1:1
or "-r numerator:denominator/flex-numerator:denominator:flex"
for set input and output separately, such as 40:1:1/30:1:0.
the default parameter is 30:1:0.
Signed-off-by: Xinhuang Li <buluess.li@rock-chips.com>
Change-Id: Ief2935354b82aba9c192b4af92636519d3e75423
The FBC data should be in this form:
+---------------------+
| header (4K aligned) |
+---------------------+
| |
| payload data |
| |
+---------------------+
The payload data size is equal to the orignal format size.
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I2855c89db43c3e2cc302ac40e96e36ef6147f041
1. Move command parsing to util files.
2. Support frame format and coding type detection.
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Id1df67ba61943bb7aa1f02ccccaa932fb5ae9842
1. Update OSD palette config API. User must specify palette is default
or user defined.
2. OSD palette config will go through control and OSD data (region)
config will go through meta data in each frame.
3. Remove unused code.
4. Add mpi_enc_utils for mpi_enc_test cases
Change-Id: Ib4aeb60789a3e999446212841508e604533efb3c
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
1. Support video stride and bitrate config
2. Support mpp_enc_v2 h265 codec config
3. Support roi & osd config used meta path
4. Support tsvc config set
5. Support file format check according to file extension
Change-Id: Ib0cedf83867e3cda67159dc7ae5717a67495575c
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
NOTE: This change may effect some existed program.
MPP caller should always follow the rule that the resouce creator must
be the resource destoryer. So caller of encode_put_frame should release
the input MppFrame structure and MPP should not release the input frame.
Change-Id: I36897dbbf1697002ae64868f2385961472eeb7c5
Signed-off-by: Francis Fan <francis.fan@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Slice split has two modes: split by byte and split by CTU number.
Change-Id: Id5a07f8a8cae612b6b913e9cb747dacec5b8e5a2
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
1. Add color format print for all supported format.
2. Add RGB color fill function.
Change-Id: I79fb3f40402b6fb6e36883c99945e709723aee7d
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Set encoder output to block mode in mpi_enc_test.
In some case the demo will get NULL return packet. Use block mode to
avoid this error.
Change-Id: I8e7438b07f024a30f62bbb92382e210b06e47a61
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
When encoder receives an empty frame with eos flag set, encoder will
encode an unreasonable extra frame.
Change-Id: I3bd1a2c84780f1b6212171117b67319b2f613b9f
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
Remove motion detection / ROI / OSD setup from mpi_enc_test. These
complicated funciton will be move to a new test case later.
Change-Id: I8b212a191f4e1ba6a4ec21a23fd2f4cc51dc4c5d
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Move yuv read function and yuv create function to utils.
Change-Id: I79a861ce869c182a27ed51a976eeb08f1f230d6e
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Add yuyv422 and uyvy422 support to encoder test case: mpi_enc_test.
Note: on these two case the hor_stride should be twice of width.
With this modification test case can output correct stream now.
Change-Id: I463d3c158369d831e4558199c917023773300ac1
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
ROI cmd just avaiable in rkvenc,but also we need to
ignore it in vpu. or will leads to warning about
unknow vpu cmd.
Change-Id: I9a630171df5698ae5d39bb2e5c38f06b2f988893
Signed-off-by: sliver.chen <sliver.chen@rock-chips.com>
modify ret val of read_yuv_img to avoid test_mpp_run
dead loop in mpi->poll.
Change-Id: If1b907584d0a79f9a5def168eec9358440e38aee
Signed-off-by: sliver.chen <sliver.chen@rock-chips.com>
1. write prep/codec/rc cfg to SEI
2. mpi_enc_test add SEI writting test
3. write SEI one sequence once defaultly
Change-Id: I7dd00a20afe101d7ddf17c875f0704d91a8fea2b
Signed-off-by: Lin Kesheng <lks@rock-chips.com>