Commit Graph

53 Commits

Author SHA1 Message Date
morris
e2f23ea0bd feat(jpeg): simplify encode example and add pytest coverage
Embed a 720p BGR raw asset and stream the encoded JPEG over UART so
this example no longer depends on SD card setup.

Add pytest coverage that reconstructs the JPEG from base64 output and
compares it against a checked-in golden image.
2026-06-29 17:26:21 +08:00
C.S.M
2aaee66a9a fix(jpeg): Fix the jpeg size might exceed the buffer size 2026-06-26 11:02:58 +08:00
C.S.M
f2df45bced fix(jpeg_decoder): Add some strict check to avoid bad picture attack 2026-06-04 11:40:41 +08:00
C.S.M
cb7c429747 feat(jpeg): support jpeg sleep retention on esp32p4 2026-03-23 11:18:23 +08:00
morris
b4424ddf4d Merge branch 'feature/dma2d_with_flash_encryption_v6.0' into 'release/v6.0'
feat(dma2d, ppa): Support flash encryption for DMA2D and PPA (v6.0)

See merge request espressif/esp-idf!46796
2026-03-23 11:07:58 +08:00
Song Ruo Jing
163a95614c feat(dma2d,ppa): Support flash encryption for DMA2D and PPA 2026-03-20 16:53:29 +08:00
igor.udot
e2a8bbe639 ci: update build-test-rules to use common_components 2026-03-20 15:53:26 +08:00
C.S.M
fe950466f4 feat(jpeg): Fix some potential encoder issues
esp_driver_jpeg allocates inadequate DMA memory size for descriptor in jpeg_encode.c

Closes https://github.com/espressif/esp-idf/issues/18296

Potential integer underflow and uninitialized pointer dereference in jpeg_encode.c

Closes https://github.com/espressif/esp-idf/issues/18297

Invalid DMA2D block RW mode configuration for 1D direction in jpeg_encode.c

Closes https://github.com/espressif/esp-idf/issues/18298
2026-03-09 12:01:28 +08:00
C.S.M
d2498485aa feat(jpeg): Add config for reversing input pixel format in jpeg encoder
Also add format check on both encoder and decoder

Closes https://github.com/espressif/esp-idf/issues/18262
2026-03-09 12:00:44 +08:00
C.S.M
a3ca5b610d refactor(jpeg): Split hal layer for jpeg 2026-02-01 10:15:18 +08:00
morris
db750dc1a0 feat(dma): graduate the dma driver from esp_hw_support to esp_driver_dma 2026-01-29 14:41:14 +08:00
C.S.M
2025d1152e fix(jpeg): Fix jpeg color space check 2025-12-17 14:26:10 +08:00
C.S.M
01eedb7fc2 feat(jpeg_decoder): Add decode to yuv420 since esp32p4 version3 2025-12-16 12:07:52 +08:00
C.S.M
ce47286387 fix(jpeg): Fix check in com marker 2025-12-16 12:07:52 +08:00
Song Ruo Jing
190c081160 refactor(ppa): use fourcc for dma2d and ppa color formats 2025-12-11 15:20:11 +08:00
C.S.M
8a41bb02b4 refactor(jpeg): Use fourcc for jpeg format 2025-10-20 16:18:09 +08:00
C.S.M
c38a6691b9 fix(jpeg): Add check for jpeg marker parser in order to enhance safety 2025-10-10 18:44:27 +08:00
Marius Vikhammer
484d2c5c2f fix(system): fixed issues with unused variable warnings when compiling with NDEBUG 2025-09-19 15:42:07 +08:00
C.S.M
01a362ccb4 feat(jpeg_encoder): Add yuv444 and yuv420 jpeg encoder format on esp32p4 eco5 2025-09-12 16:45:13 +08:00
Marek Fiala
9d35d63651 feat(cmake): Update minimum cmake version to 3.22 (whole repository) 2025-08-19 14:44:32 +02:00
Marius Vikhammer
bf84ab652a change(test_utils): moved test_utils component to tools/test_apps/components/ 2025-07-21 14:05:50 +08:00
morris
fb4b590941 refactor(dma)!: remove deprecated functions 2025-06-12 12:24:58 +08:00
C.S.M
c490702340 bugfix(jpeg): eliminate random black line on jpeg decoder 2025-06-09 14:14:20 +08:00
Chen Jichang
90050df641 fix(jpeg): only call esp_pm APIs when CONFIG_PM_ENABLE is enabled 2025-05-22 17:38:58 +08:00
C.S.M
bfc69338c8 fix(jpeg): Fix wrong parameter in jpeg encoder msync 2025-05-21 17:54:44 +08:00
C.S.M
f9469f4e81 fix(jpeg): use dma2d empty rx desc event to avoid a stuck 2025-03-13 11:37:44 +08:00
Peter Marcisovsky
430bb9dc2c Merge branch 'fix/jpeg_driver_handle_invalid_marker' into 'master'
fix(jpeg_decoder): Correctly handle invalid 0xffff JPEG marker

Closes IDF-12204

See merge request espressif/esp-idf!36764
2025-03-07 17:21:54 +08:00
peter.marcisovsky
f9d55c1fb2 fix(jpeg_decoder): Correctly handle invalid 0xffff JPEG marker 2025-03-06 19:44:52 +08:00
peter.marcisovsky
146c1d72c0 feat(jpeg_decode): Add support for default Huffman tables
- In case of a missing Huffman table, while decoding a JPEG image
    - Define a default Huff table and add it to JPEG image header
2025-03-05 13:03:05 +01:00
igor.udot
daf2d31008 test: format all test scripts 2025-03-05 12:08:48 +08:00
peter.marcisovsky
b900a50132 feat(jpeg_decoder): Correctly set JPEG restart interval 2025-02-27 14:47:12 +01:00
morris
13d0e83cd6 fix(driver): issues reported by coverity 2024-11-27 09:57:37 +08:00
C.S.M
0125e70797 fix(jpeg_decoder): Fix jpeg decoder get picture information 2024-11-19 11:46:55 +08:00
C.S.M
f54ec30f6a fix(jpeg): Fix the length of com marker 2024-10-31 15:16:44 +08:00
morris
dd46392a66 feat(ci): check LL functions not read write register by half word 2024-06-18 14:58:41 +08:00
C.S.M
a20d865bf5 bugfix(jpeg): Fix that jpeg driver does not distinguish err handle mode 2024-05-31 14:03:09 +08:00
Frantisek Hrbata
fbe8bf89ee fix: properly resolve component dependencies
There is currently a bug in the __build_resolve_and_add_req function in
tools/cmake/build.cmake where the check for registered component
requirements is incorrectly applied to the component itself rather than
its dependencies. This issue likely originated from a typo, using
component_target instead of _component_target. To prevent further
confusion, _component_target has been renamed to _req_target.

Fixing this revealed multiple incorrect dependencies for the Linux
target, which have now been resolved by explicitly specifying the
dependencies for the Linux target.

Closes https://github.com/espressif/esp-idf/issues/13447

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-05-30 22:01:55 +08:00
C.S.M
c620a2fa39 fix(jpeg): Modify jpeg deocde/encode error handling logic, fix if one picture wrong, all picture wrong issue 2024-05-28 16:24:40 +08:00
Cao Sen Miao
7f97a9e524 fix(jpeg): Fix several issues reported recently,
1. Fix decode images with dri marker failed,
2. Fix encode sometimes get length error
2024-04-28 15:16:48 +08:00
Cao Sen Miao
282f3869c8 fix(jpeg): Fix issue that jpeg encoder does not end with 0xffd9 2024-04-18 12:39:09 +08:00
Cao Sen Miao
876a3697ec feat(jpeg): Support jpeg decoder yuv format 2024-04-18 10:40:48 +08:00
Armando
d341540a5e change(drivers): other driver changes for cache malloc 2024-04-15 15:34:51 +08:00
Cao Sen Miao
2f7cd31279 fix(jpeg): Fix issue that jpeg acquire return NULL when acquire twice 2024-04-11 12:03:16 +08:00
Cao Sen Miao
ca23d58cf3 change(jpeg): Clean up some mess code in jpeg encoder 2024-04-09 11:33:29 +08:00
gaoxu
40f38bea6f feat(dma): refactor dma calloc function 2024-04-02 14:30:14 +08:00
Cao Sen Miao
58acf93da2 test(jpeg_encoder): Add the test support for jpeg encoder 2024-04-01 20:03:35 +08:00
Cao Sen Miao
22ec65adef feat(jpeg_encoder): Add the basic support for jpeg encoder 2024-04-01 20:03:31 +08:00
morris
c0289ee6eb fix(drivers): fix typos found by codespell
codespell components/esp_driver*
2024-03-28 10:01:27 +08:00
Cao Sen Miao
ba6a0d59b0 fix(jpeg_decoder): Improve apis for better align strategy and provide buffer size parameter 2024-03-18 18:32:22 +08:00
Cao Sen Miao
4881a2aca0 fix(jpeg): Fix memory leak on jpeg decoder 2024-03-12 14:45:55 +08:00