1. Do NOT create misc group on library loading.
2. Only create misc group on required.
3. Support both ion and drm now.
Change-Id: I7479f06e8ba6b5568bca5e2173efaa06cef70597
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
1. task_length must use total length to charge whether realloc
2. when packet is the eos, the lastest packet finished
Change-Id: I29a8b9f61a57516bd85fd243616036bdcfade856
Signed-off-by: leo.ding <leo.ding@rock-chips.com>
1. OSD data will not auto clear after one frame encoded.
2. Encoder will keep last OSD data config if there is not change.
3. User need to use zero region number control to disable OSD display.
Change-Id: Id69317198cf30d801a390aee5e6d848dd220fcf8
Signed-off-by: timkingh.huang <timkingh.huang@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
It could make the build rules more clearly.
Also it could prevent the whole directory is added into the
search path of the include directory.
Change-Id: I1734bcb198c909c73e5d529d0bd6658d7148a685
Signed-off-by: Randy Li <randy.li@rock-chips.com>
1. when the second field, should re-find start code, and update offset
2. mv size is (hor_mbs * ver_mbs) * 8
3. add extra 32 bytes, and align to 16 for memset input stream
Change-Id: I4493ece0680f93f8ae2533a71318fd76d67cab95
Signed-off-by: leo.ding <leo.ding@rock-chips.com>
modify ret val of read_yuv_img to avoid test_mpp_run
dead loop in mpi->poll.
Change-Id: If1b907584d0a79f9a5def168eec9358440e38aee
Signed-off-by: sliver.chen <sliver.chen@rock-chips.com>
The src port of the decoder is linked to the hal thread
not the parser thread, I would like only the sink port
of the decoder will driver the parser thread.
Change-Id: I315b41ff1158fa07a9f794c8bb3eefd6ef4fef7c
Signed-off-by: Randy Li <randy.li@rock-chips.com>
Both Scalable video coding (Annex G) and Multiview
(Annex H, I, J) will use subset sequence parameter set, but
the parser will ignore the SVC nal unit.
Change-Id: Ib6c9d842b07d90aedf6a27a760ede1f7232c478c
Signed-off-by: Randy Li <randy.li@rock-chips.com>
We don't need those variables outside the scope.
Change-Id: Ife4f6b6f8b6224be69c32d3a0d98312582a63d29
Signed-off-by: Randy Li <randy.li@rock-chips.com>
1.When target bit is too high, RK_S32 is not enough and
will overflow, which should be replaced by RK_S64.
2.The first I and P frame are recoded at the beginning of
encoding, whose qp should not be limited by qp_prev.
Change-Id: I88796ba2d3a6cb38be87bae28f957b9faa5ba681
Signed-off-by: timkingh.huang <timkingh.huang@rock-chips.com>
Those files are generated in Debian package building
system.
Change-Id: I4be4e583a36c43687b1b40af944722c3f3415ba5
Signed-off-by: Randy Li <randy.li@rock-chips.com>
The interlace video is seldom used at AVC codec, so this
feature is skipped before.
A few compiler warnings is fixed this time.
Change-Id: I2e1c419ffa487fc345a91afec38e7601ea6cd841
Signed-off-by: Randy Li <randy.li@rock-chips.com>
add r g b mask and swap flag setting when input fmt is ARGB8888
Change-Id: I93fc1841b19a62e27b5d1404068bc747eee3a67a
Signed-off-by: sliver.chen <sliver.chen@rock-chips.com>
Allocate buffers before encoding so that we can save
some time when encoding first frame.
Change-Id: I02d67347313e2050896b545b861bc5fa0bba495d
Signed-off-by: timkingh.huang <timkingh.huang@rock-chips.com>
When rate control parameter is changed, qp_prev is set
to qp_init, which makes bps change slowly. Fix it.
Change-Id: I81741b27c602ece466fcbd09aad0c44a06988155
Signed-off-by: timkingh.huang <timkingh.huang@rock-chips.com>
Tips:
malloc buffer length in prepare step must match memset in hal_h265d_reg.
Change-Id: I47771cb46021951ee0c6332fdf3cc3943bf47238
Signed-off-by: leo.ding <leo.ding@rock-chips.com>
You could enable the output timeout with a new opinion
"-x" the unit is the millisecond.
Change-Id: Ibfc85729d867a08d1984c8e7b2d63b197159a42b
Signed-off-by: ayaka <ayaka@soulik.info>
Signed-off-by: Randy Li <randy.li@rock-chips.com>
When the input stream is full, it may happen:
1. Both mTheadHal(hal) and mThreadCodec(parser) is waiting
a signal;
2. The previous task is not ready in parser;
3. A task is in idle and the other is done is the tasks group.
If the parser has finished the checking on the task is done but
has not enter into wait condition state yet, then the hal thread
can't wake the parser later.
Change-Id: I3b30e40bc1de7c5ca6d401084929cfd57ca00546
Signed-off-by: Randy Li <randy.li@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
It would be more easy to look into those code next time.
The functions in mpp_time.c have removed the internal debug
flag checking.
Change-Id: I6392190896f74e86a8407f06fa3621dd92371e56
Signed-off-by: Randy Li <randy.li@rock-chips.com>
Tips:
1.when has no short_rps, it means that current decode picture
has no reference,that no short-term refer, even no long-term refer.
2.the lateset ffmpeg has updated here already like thus.
Change-Id: Id0129d04a39882ebfed753b9562a7fb7392a4cf5
Signed-off-by: leo.ding <leo.ding@rock-chips.com>
This reverts commit 8d42511773.
It will cause a problem in the platform skipping those library.
since those libraries are not necessary for any platform,
I think don't link with them would be better.
Change-Id: I33f48750f70838e393c02eb55971d5ebe0d3df31
Signed-off-by: Randy Li <randy.li@rock-chips.com>
The mpp encoder driver won't check the input format, you
have to put all the other registers into zero or it will be
regarded as an DMA buffer.
Change-Id: Idb23de21d01944d72238c041e74ff53842c28e7d
Signed-off-by: Randy Li <randy.li@rock-chips.com>
mpp codec will check bps, but bps will be set to -1 when choose fix qp mode.
Change-Id: I570769b09d2f432cf5a11337dddc923027a7afc2
Signed-off-by: leo.ding <leo.ding@rock-chips.com>
1.Add detailed parameter info to SEI so that we can debug
easily based on MP4 video file.
2.If real bps is much larger than target bps, print all
recorded parameter info of rate control.
Change-Id: Ia04d29e6281760e0ad8e8e38f5e8c04a4c02d981
Signed-off-by: timkingh.huang <timkingh.huang@rock-chips.com>
When qp_min == qp == qp_max the qp range will be stuck to qp. This will cause
rate control failure.
Change-Id: Ib45d0e376aa9e78b2ec4ca711fef1dc9ebb8f27e
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
1. Fixup for the compiler warnings in multiple places
2. Fixup for the wrong length of the fill part of register
table.
Change-Id: Iab6644ddd93081508b8dfca02ec130963d467eca
Signed-off-by: Randy Li <randy.li@rock-chips.com>
when resolution is 4096x2176, the cache miss rate is too low, use
256 odds can improve it.
Change-Id: Ie58a6be874355d027a1488d19ac37ae38fcedf89
Signed-off-by: leo.ding <leo.ding@rock-chips.com>
The type long has a different length in the different
platforms.
Change-Id: I136967588134ff846aee7eaeaea372f6aa8edcef
Signed-off-by: Randy Li <randy.li@rock-chips.com>
Although it looks a little duplicate with the device type
detect in the HAL layer.
Change-Id: Iaa377e2b603be1fcf4e58a74409f521c714855ef
Signed-off-by: Randy Li <randy.li@rock-chips.com>
The buffer management system still have a problem with different
memory type, I have to fake the drm buffer as the ion buffer this
time.
Change-Id: I57d972d45419caeaf0f086372d1ecd0c8dd9b9f5
Signed-off-by: Randy Li <randy.li@rock-chips.com>
Signed-off-by: leo.ding <leo.ding@rock-chips.com>
The internal of the parser had better not be exported.
Change-Id: I4c3d786ebc0424e90d135a43aaa027daac390291
Signed-off-by: Randy Li <randy.li@rock-chips.com>
Add task enqueue and dequeue test for demo and performance evaluation.
Change-Id: Ib1c60f85f9776cde7e30ee62a3941921331a434f
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Add pthread lock / unlock and condition wait / signal performance test
Change-Id: Ia0b9ae968d3bbe0b8f802b36afb93c6b564d91dc
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
NOTE: Only update previous qp on real frame is encoded.
Change-Id: I8459f66ec55bb0e91155e30c06b1bb31019a20d1
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>