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>
Add MppDecImpl layer for separate encoder and decoder.
Change-Id: I02e04acddf617ae5188572af89312ab20fbf21b6
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Remove extra mpp_dec.h and mpp_enc.h for later modification.
Change-Id: I43c0e1c4ca0cf36070887556b1cd9d428f167090
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
When copy MppFrame or MppPacket increase its meta data reference count.
Change-Id: I72879edbc4e20fbf831e9a013b6c012f4bb1c2dd
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
For the requirement of transporting MppMeta between different thread add
reference counter and inc_ref interface to MppMeta functions.
Change-Id: I9e355b66b6de933c2499713e1a2406149fa7e0e8
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Add frame and packet to HalEncTask for meta data transaction.
Change-Id: Ife81442d472baee6d50e2c5f1c602e96db3beb4b
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
This meta data is used for SVC/TSVC encoding / decoding.
Cases and meaning when using KEY_LONG_REF_IDX:
1. On decoder output frame
Represents the long-term reference frame index of the output frame.
2. On encoder input frame
Represents the long-term reference frame which should be used as
reference frame for current encoding frame.
3. On encoder output packet
Represetns the long-term reference frame index of the output packet.
Change-Id: I41dd2eb754b84cc0d8873f7dfbb695e31bc866ae
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change CMAKE_SYSTEM_PROCESSOR from armv8 to armv8-a
Change-Id: I4e0021a44b933813d336383b5363170ecf2b7027
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
1. Add wait and status flag for encoder
2. Add notify for encoder
3. Use wait and notify for encoder task handling.
Change-Id: I6ce0f676084f7c27cc95d6abc56557bfa286ef87
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>