NOTE: encoder may have more than 5 address to add offset patch.
Increase max offset patch number from 5 to 16.
Change-Id: I0fe3c5f7a24596f87d8248fd37b4c4aa5a059dcc
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Due to complex input image content mjpeg encoder required larger buffer
to avoid overflow and hardware mmu fault.
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I4417ae5e62f16673a2ea06a5954463ce34b6bb8a
On vepu541 the H.264 width and height should be aligned to 16 first
which is different to H.265.
Change-Id: I6f20960916aedf47cd778c22d7dc1ad860b03bc9
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
1. according frame type set max min quality qp
2. fix reenc check ins_bsp calc issue
Change-Id: Iededb7e64c40cc04432272ad3dd4b7d55c2aebd5
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
On kernel 4.19 the send registers and recv registers can be different.
But due to compatibility kernel 4.4 the register copy is needed.
Change-Id: I1af7bbf8c27671627bda1679283693ec7eb4b0b5
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
New vepu541 encoder support relative qp delta config in ROI region.
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Iac57469c30ea09ca03368cc3e02372a326c525ec
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
1. Use mpp_device_patch_add to setup bitstream buffer.
2. Add more log for hw_status.
3. Add madi and madp update.
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ie7e049e7e1af34688cbf8db8525515b508e69be4
Active sps parameters does not need to be updated in parsing
SEI information, which may cause incorrect updates.
Change-Id: I346ca8cdc6d19cba7e4a991fa2881e26567d1f00
Signed-off-by: Rimon Xu <rimon.xu@rock-chips.com>
When rc mode changed from CQP to CBR, bitrate configed from outside of
mpp maybe keeped the same, but bitrate value at mpp_rc should be
changed.
Change-Id: I845c05977ed53f664a70d1310684ba8ebfe5ee2b
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
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
Attach MppFrame to EncRcTask as meta data channel between user and
internal RC strategy.
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I2787a69bec3911fe2e4f637153925c5ea88031ec
This function is mainly for frame rate statistic.
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I1ab790bd655dc0945ad958d104ff178f4ffabdbe
The ctx should be freed in enc_impl_deinit().
Change-Id: I65bac3a0211f7e470f625fcf5d2b9c1efde1d1c6
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
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
The MppClock is used to record and sum the time only.
The MppTimer will have new implement.
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I6cace6968d50db611e7493b69b14b46853070d78
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. must define HW_RPS for support
2. defalut open hw_rps
Change-Id: Ic699fa2fba24217a082ee4ef62538e3f92d11e1c
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
1. Change statistic time to 3 seconds.
2. Change H.264 min qp from 16 to 8.
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ib0d20f2dcb8affb58bc5fdeea6d506fe28be68b1
1. Add length return when writing sps/pps/sei
2. After writing to packet update both packet length and task length.
3. Update rule of updating length and packet length.
4. Rate control use only hardware length to calculate.
5. Move update hal to the end of flow to reserve for adding extra data.
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I9077747a34dc47079d6a1f90db7913c92aa448f5
Use MppMeta in MppPacket to carry flags and data instead of MppTask.
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I274cf4163914938f22e983eca35c7fee8a9435dc