summaryrefslogtreecommitdiff
path: root/libhwjpeg/LibScalerForJpeg.cpp
AgeCommit message (Collapse)Author
2023-02-28libhwjpeg: fix formattingMichelle Yang
Ran formatter over files. Whitespace changes only. Bug: 265156558 Test: m libhwjpeg Change-Id: Ie12eea3fbba1a5dce31f0d823aa0968faf08a274
2020-02-20libhwjpeg: use buffer length given by the scaler driverSeungchul Kim
Whne libhwjpeg uses v4l2 sclaer, libhwjpeg uses buffer length of src&dst buffer given by the scaler driver Change-Id: Ic314c7e7fe3030af89b8eda9a9e57d5bb3826395 Signed-off-by: Seungchul Kim <sc377.kim@samsung.com>
2020-02-20libhwjpeg: fix incorrect name to v4l2 portsCho KyongHo
Change-Id: Ib7d7c150581c516385006ba788845484ee65eaf7 Signed-off-by: Cho KyongHo <pullip.cho@samsung.com>
2020-02-20libhwjpeg: fix stop streaming before reqbufs(0)Cho KyongHo
Change-Id: I2e3d54b12441b9645112f487ff888f2bcdbff09e Signed-off-by: Cho KyongHo <pullip.cho@samsung.com>
2020-02-20libhwjpeg: add device object for thunbmail scalerCho KyongHo
Redundancies in LibScalerForJpeg is introduced by repeated calls to V4L2 API. Device class provides simple functions that replaces V4L2 API for LibScalerForJpeg and hides redudancies. Change-Id: Ic56b157e61617a6f34a312dfac7eedbfa6c4b635 Signed-off-by: Cho KyongHo <pullip.cho@samsung.com>
2020-02-20libhwjpeg: use buffer size instead of payloadCho KyongHo
ExynosJpegEncoderForCamera has the lengths of mage buffers to LibScalerForJpeg but it does not get informed about the lengths. Instead LibScalerForJpeg feeds VIDIOC_QBUF the required payloads of images studied by VIDOC_S_FMT as the buffer length which is not the length of the buffer. Change-Id: Id51f3a6e4f701fdb5f33bf84d17045448ab5f97a Signed-off-by: Cho KyongHo <pullip.cho@samsung.com>
2020-02-20libhwjpeg: delegate qbuf to each portCho KyongHo
If v4l2_buffer instances are the members of LibScalerForJpeg, it is hard to understand where each field of the instances is initialized. So, it had better allocate a v4l2_buffer instance in the stack and initialze it everytime we need to call V4L2_QBUF and V4L2_DQBUF. This change introduces extra overhead for initializing all fields of the instance but makes LibScalerForJpeg simpler. The overhead is very small compared to the overhead by other tasks performed by LibScalerForJpeg. Change-Id: Icb13c16f0f880ecd572d3461a2b71dcb321d1fb8 Signed-off-by: Cho KyongHo <pullip.cho@samsung.com>
2020-02-20libhwjpeg: delegate driver init to each portCho KyongHo
V4L2 API call sequence in LibScalerForJpeg is deviced by the APIs for both of the ports including output and capture: s_fmt(output) & s_fmt(capture) -> reqbufs(output) & reqbufs(capture) -> qbuf(output) & qbuf(capture) -> dqbuf(output) & dqbuf(capture). But LibScalerForJpeg should revert the success of an API call for output if the following the same API call for capture is failed for the next try. Now we can choose the better way: (s_fmt(output)->reqbufs(output))&(s_fmt(capture)->reqbufs(capture)) -> qbuf(output) & qbuf(capture) We do not need to revert an API call for output even though its following API call for capture.o We also moved parameters of LibScalerForJpeg::Set[Src|Dst]Image() about image buffers to LibScalerForJpeg::RunStream() because image dimension and format seldom change while buffers can be changed every frame. This change helps the better design. We do not need to hold the buffer information confirued by LibScalerForJpeg::Set[Src|Dst]Image() until LibScalerForJpeg::RunStream() is called. Change-Id: I4af0750975068b22055c1c2eafc53ce76d366479 Signed-off-by: Cho KyongHo <pullip.cho@samsung.com>
2020-02-20libhwjpeg: refactor format handling in LibScalerCho KyongHo
LibScalerForJpeg stores the last format setting in v4l2_format structures which are member variables of LibScalerForJpeg class. v4l2_format is very huge structure and keeping it as a member variable just for buffer size and buffer count is just a waste of space. Change-Id: I8aef5a95bc6e9d64aaf6b509ab8df29966424ca4 Signed-off-by: Cho KyongHo <pullip.cho@samsung.com>
2020-02-20libhwjpeg: refactor Set[Src|Dst]Image()Cho KyongHo
The LibScalerForJpeg is the thumbnail image generator for libhwjpeg and the image and buffer types to LibScalerForJpeg does not vary. Unnecessary flexibility increases the complexity of a module. So, we should discard the support for userptr in SetDstImage(). In addition, LibScalerForJpeg requires unnecessary type casting to libhwjpeg for SetSrcImage and SetDstImage for the historical reasion. However, it is no longer needed because we can decide our API now. Change-Id: Ie8eebc38bf4f09889cc001e673f128570fb642c1 Signed-off-by: Cho KyongHo <pullip.cho@samsung.com>
2020-02-20libhwjpeg: remove redundant debug logCho KyongHo
SC_LOGD(...) is redundant definition. Instead we should use ALOGD. However, the only remained use of SC_LOGD is just printinig simple success on a API function call which is not informative. Change-Id: I7579c3815d6caa52bd20826c7ca7d3acb2732c50 Signed-off-by: Cho KyongHo <pullip.cho@samsung.com>
2019-09-18Add initial source codeHyunKyung Kim
Change-Id: I285a55c44c9fd5d3a8abaa781ef9dc8d9d39f53a Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>