fixed Chimera_1080p_short.mp4 decoder error.the issue
for this stream segment enable & map_update flag is set true.
1) in the paser status map_update must init to zero before read.
2) in hal_set last segment enable flag must set true if segment
enable flag is true.
3) the segment last id must update after this frame decoder when
segment enable & map_update flag is true.
Change-Id: Ia000c4687185f869229a8b6e36933bb5e1991e5f
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
Don't do division it will cause missing precision.
Signed-off-by: Zhou Jing <tracy.zhou@rock-chips.com>
Change-Id: If7daba7bb18ef9def5188c386d17832e54f4cded
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>
1. Move hal h264e dpb/slice functions to codec.
2. The dpb functions support I frame gop interval, LTR interval, force
LTR and generating reorder/marking syntax.
Change-Id: I42654f33c9628bb3228afb6acf56c85c984a377e
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
1. Move H264 encoder new SPS/PPS syntax to a new header.
2. Change include file correspondingly.
Change-Id: I29d2819c61871953f4981703cd11a4a26d90986f
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
This header is interface for different rate control strategies.
Change-Id: I4db0c3effbd5fbb0b52506774247e1f5483b9209
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Disable cache_en when the video resolution is less than 720p
Signed-off-by: Zhou Jing <tracy.zhou@rock-chips.com>
Change-Id: I17af1241d536ccb5fbabb0cb45537dfbe2e64bbb
NOTE: Add scaling list mode flag to rk_venc_cmd.h
Change-Id: Idd3b33c577ce5ffd79dabc850f7c98a98c1ac19a
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
1. EncFrameStatus will be used in dpb, rc and hal config.
2. Remove misc config.
Change-Id: I32eb4460180f3eb0b1c866c3393ed6fc4b95b99b
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
If dpb size calculated from Profile/Level is less than
max_num_ref_frames, then dpb size should equals to max_num_ref_frames.
Refer to this issue: https://redmine.rockchip.com.cn/issues/229257
Change-Id: Ia0b27dbc581e052a5adb82ee505130bc492a524c
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
Tailing 0xff will always be done in hal thread. There is not need to
doing this twice.
Change-Id: Ide4fcc4a2e252be04067c6990fc6a8e9ba8ee824
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
When frame_num_value_allowed_flag is equal to 1,
If frame_num is not continuous,
errorinfo does not need to be marked
Change-Id: Icf68d4186dccdb1d647fbf69c767034dcb7088ac
Signed-off-by: Wenjie Yang <ywj@rock-chips.com>
1. Reset function will not reset buffer pointer and buffer size.
2. Make mpp_packet_reset into a C function.
Change-Id: I1d9041e9732f249ef4a7753a4aac5c0795c34b17
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
This bitwrite function is for H.264/H.265 bit writing.
Change-Id: I98c0e50f51b8ab29ec630474a2bdf25d0553b7b5
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
1. Change internal api RK_S32 cmd to MpiCmd.
2. Remove external MppEncCfgSet in MPI and move it internal data.
Change-Id: I0b93429f3b9f92712a57d0df54a1c76b3e08bf9d
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
The controller should be separated into more parts for better reuse
between different hardware.
Change-Id: I050b8534360cf4afdf15c933def88e00c87d1de6
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
1. Only use notify to communicated between mpp and codec.
2. Remove mpp_enc_impl.h
Change-Id: Ia62757240efa7d245b5215ad79539fa9bbbd1550
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>