The 0 and positive return is success. The negative return is failure.
Change-Id: I9c4586286ce7368a52b7d9dd776fd40c6af4a1da
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
For Linux platform running Gstreamer, enable need_split may conflict
with bitstream parser within Gstreamer.
Change-Id: I8616e173cbae43aaf8fc18aec4dbd680ad38bdf8
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
FF00 before EOI should be kept. The test source file is at
"server=172.16.4.246,share=mediaframework/jpeg_ff00_before_eoi/CIF_98.jpg"
Change-Id: Ic5e7781a329f8effb5b674a1816350be732fffbb
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
The memchr() function is a GNU extension, available since glibc 2.1.91.
Glibc at some platform may be too old, or some platform may using uclibc
instead of glibc. So it's better to use memchr().
Change-Id: Id400e9d347a7abd231b417208abc5d02452462a6
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
The remain stream msb/lsb is rewrited by mistake.
Change-Id: I99bf21852b49bcecda103e7c9bd8051364c29c32
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Add MppDecCfg and string control to add more extra control.
Change-Id: Iead4bd938691af3eac76368421c04c3ebd1f6272
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
The invisible frame will not be output normally, so it must be released
when unref_frame.
But sometimes, the invisible frame will be instructed to output, and
then it cannot be released when unref_frame, otherwise the user will
get the buffer that has been released.
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: I6bb014e0e5b6d52312639c4ad858b93b45f5d622
In the first tile, the offset of some regs be configured twice,
when multi tiles.
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: I6a4f6851cd635b4ea8a52f056bcf5f097636ece3
Only set different chroma qp offset on High profile.
Change-Id: Iabcbc3d256cdbf521369262f011ac77db998f54f
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
1. Use dequeue/enqueue to implement decoder put_packet interface.
2. Change task check on deinit. Only check the metadata size in task.
If MppTask is destroyed with valid metadata just should warning.
3. Reserve one task at input queue for eos packet.
Change-Id: Ib445b148bb5a10c588104ee1fd96bad6f52f1388
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
When poll the port task and there is task for dequeue just return
positive valid task count value to caller.
Change-Id: I6c078cee69e34ba9b6cc5ffa77c704b8c59683b4
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
The external mpi poll interface only return zero and non-zero value.
Zero return for success and non-zero return for failure.
But later we will use both zero and positive value to indicate success
return. Now for backward compatibility set all positive return to zero.
Change-Id: Id2969a2fb3f5a61137ffc40d108d29090ba1a998
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
1. The pre_i_qp should use scale_qp to update rather then the start_qp
which has substracted by ip_qp_delta.
2. Reduce default ip_qp_delta to 2 for H.264 and 4 for H.265.
Change-Id: Ie43ba15c8bd524bd10aac6053306f72e8759370c
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
When refine rcb size, width and height need to be aligned with ctu size
first.
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: Iaf3d51c6ff049792aeddb2452e1b1a75699eae59
NOTE: on advanced mode the input packet should not be released when the
thread is finished.
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I66656f6f2e484aabd28f74469c29d4bd44a7dcc2
When encoder dequeue the completed task the input frame should be get
from metadata.
Change-Id: I134f89974e3655b8c40e358071a32ae4a0c28bc0
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
NOTE: When MppDev is not output to mpp_dec the codec info update is
disabled.
This patch may cause kernel show the following log on old kernel:
mpp_process_request:1078: unknown mpp ioctl cmd 403
This log has no harm at all and new kernel will disable this log.
Change-Id: I26c8d78e279b5809bb2d1e51baf2c48e7f6e5a33
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Use 32bit fd and 32bit offset to replace 10bit fd and 22bit offset.
Change-Id: Ic89ed79c3b00e9c8530455f61513588acd121999
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>