Commit Graph

59 Commits

Author SHA1 Message Date
morris
2ab4b39ce5 fix(jpeg): release platform mutex on semaphore/pm-lock allocation failure
jpeg_acquire_codec_handle acquires s_jpeg_platform.mutex at entry
but two ESP_RETURN_ON_* macros (semaphore-create and PM-lock-create
failure) return without releasing it. Replace with ESP_GOTO_ON_*
that jumps to a cleanup label which frees partial resources, NULLs
the codec pointer, and releases the mutex.
2026-07-13 11:18:12 +08:00
morris
201352b007 Merge branch 'fix/jpeg_over_size_v6.1' into 'release/v6.1'
fix(jpeg): Fix the jpeg size might exceed the buffer size (backport v6.1)

See merge request espressif/esp-idf!50025
2026-06-30 11:31:07 +08:00
morris
c2db07dcaa 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:08 +08:00
C.S.M
86a93df6c9 fix(jpeg): Fix the jpeg size might exceed the buffer size 2026-06-25 14:41:20 +08:00
C.S.M
5f95ab68f9 fix(jpeg_decoder): Add some strict check to avoid bad picture attack 2026-06-04 10:49:38 +08:00
cjin
03686080ac fix(btbb): add sleep retention attach/detach at btbb enable/disable 2026-05-21 11:46:16 +08:00
wuzhenghui
d3c5129050 fix(driver): fix retention unsupported mouldes TOP pd test 2026-05-07 12:02:05 +08:00
C.S.M
0f0edc051a ci(esp32s31): Add ci target test for esp32s31 2026-04-14 19:40:51 +08:00
C.S.M
93566e1f8c 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-06 11:48:49 +08:00
C.S.M
762252153a Merge branch 'feat/add_jpeg_pixel_reverse_enc' into 'master'
feat(jpeg): Add config for reversing input pixel format in jpeg encoder

Closes IDFGH-17272

See merge request espressif/esp-idf!46075
2026-02-27 18:31:56 +08:00
C.S.M
05fd4d7da3 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-02-27 15:31:47 +08:00
Song Ruo Jing
9362907287 feat(dma2d,ppa): Support flash encryption for DMA2D and PPA 2026-02-26 16:39:40 +08:00
morris
fe436d881e feat(ci): remove common_components dependencies from peripheral drivers
Replace *common_components with specific driver dependencies across all
peripheral driver test apps and examples to prevent unnecessary CI
triggers
when common_components change.

This follows the same pattern established in TWAI driver commit:
6d21cc6c29

Changes made:
- 26 component test apps updated
(esp_driver_*/test_apps/.build-test-rules.yml)
- 1 driver test app updated
(components/driver/test_apps/.build-test-rules.yml)
- Key examples updated in examples/peripherals/.build-test-rules.yml
- Established standard dependency pattern: esp_hal_xxx, esp_hw_support,
soc
- Added esp_driver_gpio for GPIO-dependent drivers
2026-01-29 16:33:17 +08:00
igor.udot
4c26ab876b ci: update build-test-rules to use common_components 2026-01-23 10:14:09 +08:00
morris
35bdd8c651 feat(dma): graduate the dma driver from esp_hw_support to esp_driver_dma 2026-01-22 14:14:14 +08:00
C.S.M
4e55d49cc8 feat(jpeg): support jpeg sleep retention on esp32p4 2026-01-21 11:00:14 +08:00
C.S.M
6aa3d4900d fix(jpeg): Fix jpeg color space check 2025-12-17 10:45:33 +08:00
C.S.M
b7bbc1b7c5 feat(jpeg_decoder): Add decode to yuv420 since esp32p4 version3 2025-12-15 17:38:52 +08:00
C.S.M
d5273efdf6 fix(jpeg): Fix check in com marker 2025-12-15 15:42:02 +08:00
Song Ruo Jing
fe8ace8bef refactor(ppa): use fourcc for dma2d and ppa color formats 2025-12-01 19:21:49 +08:00
C.S.M
a7115b6b36 refactor(jpeg): Split hal layer for jpeg 2025-11-05 10:32:41 +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