1. only if height is 8-pixel aligned but not 16-pixel aligned,
bit 20 of reg148 is enabled.
2. default output buffer size is set to 2*width*height.
Change-Id: Ib23e1530c4c6a6688c3f8e632ba3f0b8e2b3c352
Signed-off-by: timkingh.huang <timkingh.huang@rock-chips.com>
If dpb picture is used for refer mark it as error.
Otherwise mark it as dicard.
Change-Id: I12186e3f78c05e6e8ca455326b082bc7a9d2cd31
Signed-off-by: leo.ding <leo.ding@rock-chips.com>
when preframe_period is zero use frame_period instead
Change-Id: Id1b706bd01eeb4bce4da1bf564c9197b120aef11
Signed-off-by: linyuhui <james.lin@rock-chips.com>
when one frame is decoded, set frame info such as width,
height, yuv format, display width and height, so that
upper application can handle decoded frame properly.
Change-Id: Ide89e55ac200304e7c2c49d31b6a9cd8c9feb6d9
Signed-off-by: timkingh.huang <timkingh.huang@rock-chips.com>
1. When run the 32bit library without mmap64 it will fail due to lack of mmap64
symbol. So we do a runtime detection.
2. Fix runtime error of missing getpagesize. Use sysconf(_SC_PAGESIZE) instead.
Change-Id: I6dbeb6d55175a1ebb48d314f3dc691cd029710d1
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
When realBitCnt is negative and it's absolute value
is too large, bits compensated for next frame will be
much more, leading to bitrate raising heavily.
In this case, we limit realBitCnt min val.
Change-Id: I75918b4cfa84a9b1ca248c4cd549c33f11568921
Signed-off-by: Lin Kesheng <lks@rock-chips.com>
when frame is not tiled mode, set wr_ddr_align_en enable.
Change-Id: I5135eca50785e744b83bc98c0913ee909e9ce445
Signed-off-by: leo.ding <leo.ding@rock-chips.com>
When the output mode is set to block user call decode function the first
get_frame call will get stuck if there is no frame to get.
So when the output mode is block we need to put_packet first then get_frame.
Change-Id: I8cecb0e3f7b3aac2605301d6f2d35d5ca5f97756
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
1. add new ioctl interface SendReg2 in vpu.c
2. use Sendreg2 interface in hal_h264e_rkv, exclude ioctl.h
Change-Id: Id79716e0fca96141b8665d59244569b6de9dd39a
Signed-off-by: Lin Kesheng <lks@rock-chips.com>
1. Create new buffer and copy data to buffer on each encode vpuapi function call
including encode/encode_getstream.
2. Remove H.264 00 00 00 01 header but remain others format bitstream.
Change-Id: I4333f3ecd44a5f2fe28c45064d2c6a8d4e210653
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
1. add help log print for max frame number
2. change flag from -F to -n
Change-Id: Ie45681d2b0a6bdd90733b6a6e1c455325eca89b9
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
1. Vpu do not have OSD interface but we need to disable noisy print
2. When command is not supported print hex value rather than decimal
Change-Id: I071b29e068e88c8d23582f4451286ff84a886aa9
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
1. use GOP header flag as effective start of stream,
because extra data may contain seq header but not
start of GOP then.
2. not enough refs on B-type frame need cal pts and
parser ctx but not need to decode.
Change-Id: I018417197d8eb34c857e67f302d28d292dc75952
If hardware output very large video stream enlarge the corresponding output
buffer size.
Change-Id: Id7e96531e744917fe25a9c0f09effa78eb873697
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
note: uintptr_t data type is the same size as void*.
Change-Id: I5ea537f720fab6436d293816e3f618feca15609c
Signed-off-by: timkingh.huang <timkingh.huang@rock-chips.com>
Use MppFrame as the input of MPP_DEC_SET_FRAME_INFO control function.
Change-Id: I29974bb90b09239e0f69e75ee3830656851900ae
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
1. on original & external pts error use POC/temporal_reference
in GOP to predict new pts
2. set mpeg2 temporal_reference to MppFrame POC for dpb & cal
pts debugging
Change-Id: I3bb1b2c6646ddf4f4100c1d87158d81e1e8777ba
1. add SEI writting interface
2. write extra_info_cfg and rc_cfg to SEI
3. stream_get_pos use s->buf_plus8 rather than s->p_start
Change-Id: I71de4d6f5dc31f21c0a32dc5ded275ced260d861
Signed-off-by: Lin Kesheng <lks@rock-chips.com>
In order to avoid misunderstanding change mpp_err to mpp_log
Change-Id: Id4a0591a0eeb7975fcdf1979b9d45c9b8d076370
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
1. clear input packet length when packet is copied
2. modify mjpeg advanced decoding path in mpi_dec_test
3. add numerator and denominator set prop function
4. remove extra log on first info change
5. fix eos process and buffer size check in advanced decoding flow
6. fix jpegd stream length config error
Change-Id: Id6c26ebda090eb4076f27deaad4d61b4221f2653
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
4K H.264 video had a buffer of stride 4096. This will reduce hardware
performance significantly. So we increase it to be odd times of 256B.
Then hardware performance will restore to normal level.
Change-Id: If6567dc3d13eb7df0375d4fd528e64f56c92f591
Signed-off-by: leo.ding <leo.ding@rock-chips.com>
1. add description for OSD cmd in rk_mpi_cmd.h
2. judge if input MppBuffer for OSD is NULL
Change-Id: I6d674c81790d9cf57acdfa23f20c929b56f263e9
Signed-off-by: Lin Kesheng <lks@rock-chips.com>
1. add osd control interface
2. remove h264e_hal_rkv_coveragetest_cfg.osd
3. add h264e_hal_test & mpi_enc_test for osd
4. use tool to format code
Change-Id: Iadb3453d8e6976e5f718253f762d144864419e94
Signed-off-by: Lin Kesheng <lks@rock-chips.com>