Commit Graph

1274 Commits

Author SHA1 Message Date
Herman Chen
d7b2f2f521 [doc]: Add document readme.txt
Change-Id: Iaf3ef36c6068b365ef996b6fb43df45f887d6424
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2017-04-07 17:22:00 +08:00
Herman Chen
de26a4a79e [doc]: Create directory for document
Change-Id: I179a2a4568d581f26b4d55dc521f1db806f74d91
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2017-04-07 17:09:14 +08:00
Herman Chen
60dbf8389b [doc]: Add document for mpp task and advanced mode
Change-Id: I81a66b5cacf73b708eeca87e6c0e7510017ed667
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2017-04-07 16:49:45 +08:00
Randy Li
0de5e0599c [osal]: don't install unit test
The build system may store those files into a package.

Change-Id: I2ab54da5880d1979a19430520d36324629b8a7d8
Signed-off-by: Randy Li <randy.li@rock-chips.com>
2017-04-07 10:13:44 +08:00
Herman Chen
61fb2802d0 [legacy]: Fix for windows simulation compile
Change-Id: I1f3ea32878b194ecaf380f1af5cca33179aa8300
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2017-04-07 10:13:44 +08:00
leo.ding
4a1e6c3671 [platform]: Add default case for known compatible
Change-Id: Icaaa6b72a395248f53a8f902fa8d62e48bcd351f
Signed-off-by: leo.ding <leo.ding@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2017-04-06 16:26:35 +08:00
Randy Li
d99cc7f2ff [osal]: fixup for reading system compatible
The kernel uses termination character to divisive compatible.

Change-Id: I5db14e22aefa1ea54b8d32a4af7b112f22358dfb
Signed-off-by: Randy Li <randy.li@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Signed-off-by: leo.ding <leo.ding@rock-chips.com>
2017-04-06 14:40:23 +08:00
Herman Chen
76e5398633 [build]: Add build script for arm64
Change-Id: I4ed1b62ce5baeb21fd8e9fb0d804d48f8d065698
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2017-04-06 09:37:31 +08:00
Randy Li
bd43fac60e [mpp_buffer]: access the index field of buffer info
The external buffer would request the index of a buffer to
manage it in an array.

Change-Id: Ifbb169c75dfb6342b428b1fd640db9ec45ff5f73
Signed-off-by: Randy Li <randy.li@rock-chips.com>
2017-04-05 16:51:44 +08:00
Herman Chen
8900385917 [platform]: Update chipset name and feature case
3228/3229 3228H/3328 support feature list:
3228 : dec vpu2 + 4K H.264/H.265       + enc vpu2
3229 : dec vpu2 + 4K H.264/H.265/VP9   + enc vpu2
3228H: dec vpu2 + 4K H.264/H.265 + avs + enc vpu2 + H.265
3328 : dec vpu2 + 4K H.264/H.265/VP9   + enc vpu2 + H.265

Change-Id: Ia4f63e764f12f8117757ea05645ffb9b65dc6b12
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2017-04-05 14:42:58 +08:00
Randy Li
ab07acf076 [legacy]: update hevc device node name
I also fix a number of compiler warnings in this commmit.
A funtion is forgot to be exported and some functions should not
be exported.

Change-Id: I945456721a7507d448cfa0559418c356c6cb6ace
Signed-off-by: Randy Li <randy.li@rock-chips.com>
2017-04-05 14:13:07 +08:00
Martin Cerveny
bce0f19097 performance: explicit sleep in Mpp::get_frame
Move msleep() to non MPP_POLL_BLOCK (cv wait) branch.
Issue rockchip-linux/mpp#6

Change-Id: I1f95e712a3cfc40cf6cba3a6d67536b2a336e734
2017-04-04 13:21:45 +08:00
leo.ding
a2dd73c249 [h264d]: when got eos, only flush dpb, not to reset flag
Change-Id: Iaee15a21666554aad99598c1359e6a61c6a7bd33
Signed-off-by: leo.ding <leo.ding@rock-chips.com>
2017-04-04 13:02:52 +08:00
Lin Kesheng
86b7225aa9 [h264e]: support variable image resolution
Change-Id: I108da38499b736b45d890c01216361fd3a47e258
Signed-off-by: Lin Kesheng <lks@rock-chips.com>
2017-04-04 12:47:09 +08:00
timkingh.huang
93aa8a0c8a [jpegd]: modify jpegd parser
scan the stream just for one time in jpegd parser and
remove redundant codes.

Change-Id: I72920b15fc4ed15cfa1de55d9ed249d50cceebb2
Signed-off-by: timkingh.huang <timkingh.huang@rock-chips.com>
2017-04-01 18:25:15 +08:00
Herman Chen
353d839b61 [misc]: Format coding style
Change-Id: I7b78f5d834b7fa907ba8e02936bedbccd9ebbba5
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2017-04-01 18:08:35 +08:00
Herman Chen
a8e6c27d0b [mpp]: Move vpu.c out of libmpp.so
Use mpp_device to replace VPUClient interface. Then libmpp.so can
work without libvpu.so. And libvpu.so is only for legacy libvpuapi.

Remove iommu detection function in mpp. All buffer register will be
send to kernel with the form of low 10 bit file handle plus 22 bit
offset mode.

Remove vpu.h/vpu_api.h from libmpp.so
NOTE: mpp_frame.h is updated for external user.

Change-Id: I7ff2effd3c73c042ed65896847fc7458da29fc55
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2017-04-01 17:44:11 +08:00
Lin Kesheng
ff7b3d6209 [tools]: modify astylerc cfg
Change-Id: I28d4cd0d51f97a696f9a78a08a2db7d0eb72b7b4
Signed-off-by: Lin Kesheng <lks@rock-chips.com>
2017-04-01 16:26:52 +08:00
Herman Chen
f58ad55b5d [cmake]: Fix compile error on windows
Change-Id: I6717e1dcf44887d38b176cf7d4a0657a7ce2a0ec
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2017-03-29 18:37:54 +08:00
Herman Chen
b8dc440447 [misc]: Update project description
New chipset RK3228/RK3229/RK3399/RV1108/RK3328 is fully supported.
Old chipset RK30xx/RK31xx/RK3288/RK3368 is partly supported:
H.264/mjpeg/vp8/H.265 are supported if the old chipset has.

Change-Id: I33b3bd3286ab0b373d73bce50c83ee51e754ff51
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2017-03-29 18:31:30 +08:00
Randy Li
4cb24ef6a6 [test]: mpi demo won't link with mpp legacy library
In the future, the legacy vpu api won't be supported and the wrapper library is
not offered anymore.

Change-Id: I4019d689693e193d66fc222cc3e5662d7d6cc58d
Signed-off-by: Randy Li <randy.li@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2017-03-29 16:27:28 +08:00
Randy Li
428a6bec57 [osal]: rename the directory of windows allocator
A typo fixup.

Change-Id: I2b08b8debe17cdcbd5512d16cee9272f07151cc9
Signed-off-by: Randy Li <randy.li@rock-chips.com>
2017-03-29 09:37:00 +08:00
Lin Kesheng
5c61a38364 [h264e]: re-encode for first frame overflow specially
Change-Id: I49ab4817b2473d0d06508346b4e179366e2fc6b7
Signed-off-by: Lin Kesheng <lks@rock-chips.com>
2017-03-28 15:59:07 +08:00
Lin Kesheng
cad4b4b886 [h264e]: add rotation configuration
Change-Id: I148814a644264b341d6db1d7af767dd485942829
Signed-off-by: Lin Kesheng <lks@rock-chips.com>
2017-03-28 14:08:41 +08:00
timkingh.huang
c72e0b86ad [jpegd]: fix bug for vpu1
The extra info magic is missing, fix it.

Change-Id: I63510a3036404ade547e8781e36590a88d99b4ee
Signed-off-by: timkingh.huang <timkingh.huang@rock-chips.com>
2017-03-28 11:38:47 +08:00
timkingh.huang
c54329bc00 [jpegd]: add extra info mode
When multiplying width by height is larger than 4194303 (2^22 - 1),
22 bits of a register are not enough to pass luma and chroma offset
to kernel. So we add extra info including correct offset to ioctl
command.

Change-Id: Ica5faf4d6c8b149a491552d7a9b626534866aa3f
Signed-off-by: timkingh.huang <timkingh.huang@rock-chips.com>
2017-03-27 20:17:40 +08:00
leo.ding
87371924b5 [h264d]: vdpu2:fix bug, priv is null, it must be setting
Change-Id: I19b04c545bc56924eb4eb0db09dc117f295b1080
Signed-off-by: leo.ding <leo.ding@rock-chips.com>
2017-03-27 18:00:06 +08:00
leo.ding
3df2fb810d [h264d]: fix bug: flush only output not to clear dpb
Tips: when flush, only output the frame which can be output,
not to clear all frames. Such as, when infochange, then flush
is called, while current frame is for reference and should be
reserved, it would be error if it be cleared.

Change-Id: Ie33b0f51bbe54c1b6cad6d1d569b3409ca6414a2
Signed-off-by: leo.ding <leo.ding@rock-chips.com>
2017-03-27 09:16:43 +08:00
Herman Chen
a4b7b68a6b [h265d]: Fix compile warning
Change-Id: I3c82969518926df77efbb1849226aac947eef051
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2017-03-24 16:54:01 +08:00
Herman Chen
c3527bf8f5 [misc]: Fix compile warning
Change-Id: I9eec2fc4074cd925dd34aa561390e3f83f3ec72e
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2017-03-24 16:36:54 +08:00
Randy Li
dae0c0d52a [meta]: use fourcc format to store the meta type
It is the correct to store multi char variable in a variable.
Finally we can't get rid of warning.

NOTE: Need to check the macro under different compiler.

Change-Id: Id43fabd9a6ad437938ba590c95dc0552ef4e5699
Signed-off-by: Randy Li <randy.li@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2017-03-24 16:27:40 +08:00
Randy Li
04e3ffb69c [test]: fix the align problem in decode_advanced()
The old Video IP like VDPU1 only supports align with 16 bytes,
it would causing a numbers of memory problem without that.

Change-Id: I7570808824ab2e32602c8cae7f97c9b6b2947db9
Signed-off-by: Randy Li <randy.li@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2017-03-24 15:54:59 +08:00
Randy Li
42fc9843bc [alloactor]: fix the compiler warnings in drm
Change-Id: I17fd18b6c6be4fb4855e35e5aea0b656e5aeb2d9
Signed-off-by: Randy Li <randy.li@rock-chips.com>
2017-03-24 14:03:21 +08:00
Randy Li
e709b1b621 [alloactor]: fix the compiler warnings in ion
Change-Id: I73a7d4dae08f18aa2c61d1b3766ea94b7d9eea21
Signed-off-by: Randy Li <randy.li@rock-chips.com>
2017-03-24 14:03:21 +08:00
Randy Li
d0b76f9703 [alloactor]: fix the compiler warnings in std
Change-Id: I6613d51cae9633f4048d65de9d23a295e70f5626
Signed-off-by: Randy Li <randy.li@rock-chips.com>
2017-03-24 14:03:20 +08:00
Randy Li
aa150f056f [vp8d_parser]: fix compiler warnings
Some funtions are not need to be exported.

Change-Id: Idedebee8bdf21be5a894236fdbc69d329661170b
Signed-off-by: Randy Li <randy.li@rock-chips.com>
2017-03-24 12:31:17 +08:00
Randy Li
83a41062a8 [mpp_buffer]: fix compiler warnings
Change-Id: Iedc60e981dc5bee3d49a779c34d693998ad3499b
Signed-off-by: Randy Li <randy.li@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2017-03-24 12:28:51 +08:00
Randy Li
6e32081214 [allocator]: Fix compiler warnings
Change-Id: I52554a3ca45747c13a7821a04bb1c01e45d9d44c
Signed-off-by: Randy Li <randy.li@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2017-03-24 12:08:20 +08:00
Randy Li
ee41717331 [mpp_log]: Fix compile warning
Change-Id: I482df8722b111df7981f1bd4d7f337f497eadfee
Signed-off-by: Randy Li <randy.li@rock-chips.com>
2017-03-24 12:06:55 +08:00
Randy Li
091567e079 [jpegd]: Fix compile warning
Change-Id: I92e9c672fb89c717a70e874679b52700a9595b89
Signed-off-by: Randy Li <randy.li@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2017-03-24 12:05:08 +08:00
Herman Chen
8a97e0234c [format]: Format cleanup
Change-Id: I501f782ff9d3d018a35e39ab90e21e8aa1f997e9
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2017-03-24 11:56:32 +08:00
Randy Li
7df391e486 [h264e]: remove some compiler warnings
Change-Id: I3d1d8295049dc77c73bdd3c8caac6785097d13aa
Signed-off-by: Randy Li <randy.li@rock-chips.com>
2017-03-24 11:53:43 +08:00
LongChair
a3f463f9ce [mpi] : Add a block timeout control command.
When retrieving frames current API only allows to define wether
the API should block without any timeout or not block at all.
This allows to specify a block timeout via the
MPP_SET_OUTPUT_BLOCK_TIMEOUT control operation.

Change-Id: Id35ad3d48f72881184009f830c406c3a655e1a90
Signed-off-by: LongChair <LongChair@hotmail.com>
Signed-off-by: Randy Li <randy.li@rock-chips.com>
2017-03-24 11:43:08 +08:00
Randy Li
83fba535db [h264e]: include the header files
I forget to include header files which would make the compiler
complain.

Change-Id: I745644f4577d05ef22adbd570dc94b6161eb65c8
Signed-off-by: Randy Li <randy.li@rock-chips.com>
2017-03-24 08:41:38 +08:00
Randy Li
486eb52847 [h265d]: fix some compiler warnings
The parser won't print the HDR information out neither.

Change-Id: Ie2c93221b3d6ae2aab7f1eb5ee0169088e45f1df
Signed-off-by: Randy Li <randy.li@rock-chips.com>
2017-03-23 21:15:55 +08:00
Randy Li
ccdc1377ed [jpegd]: fix the wrong register table of VDPU1
I didn't verify the PP fully, thanks to Timkingh fixed those
mistakes.

Also some register for ROI is added this time.

Change-Id: I713b59bdcb844b516804d5b17ebdfb01924fcc70
Signed-off-by: timkingh.huang <timkingh.huang@rock-chips.com>
Signed-off-by: Randy Li <randy.li@rock-chips.com>
2017-03-23 17:52:49 +08:00
Lin Kesheng
aa4c53090c [h264e_rc]: re-encode when stream buf overflow
When stream buf overflow happens, frame qp plus 3,
to reduce stream size.

Change-Id: If6270aae46cc09a3b8eec207ca441040e0330fdf
Signed-off-by: Lin Kesheng <lks@rock-chips.com>
2017-03-22 16:31:07 +08:00
Lin Kesheng
a9840b7dfb [h264e]: implement SEI writting
Change-Id: I7e4960983fd20e924752b143dc368af4ebc44eb5
Signed-off-by: Lin Kesheng <lks@rock-chips.com>
2017-03-22 15:45:53 +08:00
Jung Zhao
74985f88ee [rc]: fix first gop ratecontrol working bad bug
since have little data to estimate qp, qp of frame in first gop is
nearly hor-line. now we add a re-encode mechanism to avoid this bug.

re-encode frame if it meets all the conditions below:
1. gop is the first gop
2. type is p frame
3. target_bis is larger than 1.5 * real_bits
and the qp_init will decrese 3 when re-encode.

TODO: maybe use sse to calculate a proper value instead of 3 or add
a much more suitable condition to start this re-encode process.

Change-Id: I2bea5dd31a3f0348a23b40650b2e11bce32ca2db
Signed-off-by: Jung Zhao <jung.zhao@rock-chips.com>
Signed-off-by: Lin Kesheng <lks@rock-chips.com>
2017-03-22 14:39:32 +08:00
fangxingwen
f131873394 [m2vd]: Fix mpeg2 dec err without sequence header
Some video contain seq header at the header of file
only, so we use extra data to parse seq if need.

Change-Id: I82c6154bb61a8338f0875facee168510ba5e6dc2
Signed-off-by: fangxingwen <fxw@rock-chips.com>
2017-03-22 11:01:38 +08:00