morris
c96d9d0380
fix(driver): allocate driver objects containing atomic variables from internal SRAM
...
Objects with atomic members must not be allocated to PSRAM, otherwise
the ordering guarantee of atomic accesses is weakened due to a hardware
behavior on ESP32 chips. Explicitly request MALLOC_CAP_INTERNAL |
MALLOC_CAP_8BIT for:
- i2c master bus object (atomic status/trans_idx)
- i3c master bus object (atomic fsm)
- ISP processor and AE/AF/AWB/HIST controllers (atomic fsm)
- JPEG decoder/encoder dma2d transaction descriptors (atomic started)
- PPA transaction storage embedding dma2d_trans_t
- dma2d m2m test transaction embedding dma2d_trans_t
2026-08-31 13:48:44 +08:00
Steven (Yang Minghui)
6dd110f2d1
test(jpeg): add ESP32-P4 rev1 coverage
2026-08-28 21:35:50 +08:00
C.S.M
a7ac00b812
fix(jpeg): validate encoder buffer sizes before header/DMA access
...
Bound JPEG header emission by outbuf capacity and reject undersized
input buffers before programming TX DMA to avoid heap corruption and
out-of-bounds DMA reads.
2026-08-25 16:29:16 +08:00
Chen Jichang
2b8029c775
feat(mspi): split dma and mspi alignment
2026-08-17 16:49:27 +08:00
morris
e86fcc8b48
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-09 10:27:01 +08:00
morris
d5c193167a
Merge branch 'refactor/move_regdma_entry_config_to_driver_layer_jpeg' into 'master'
...
refactor(jpeg): move sleep retention config into driver layer
See merge request espressif/esp-idf!50465
2026-07-08 17:28:06 +08:00
Marius Vikhammer
ff88ad88a9
Merge branch 'test/linux-full-component-build' into 'master'
...
test: add Linux full component build app
See merge request espressif/esp-idf!50377
2026-07-08 10:13:12 +08:00
morris
47f4e5d412
refactor(jpeg): move sleep retention config into driver layer
...
Move per-target JPEG regdma retention descriptors out of esp_hal_jpeg
and into
esp_driver_jpeg so the codec driver owns its backup scope and restore
flow.
2026-07-07 19:03:05 +08:00
C.S.M
fbdf6d7427
fix(jpeg): JPEG can encode and decode in encryption situation
2026-07-07 10:42:45 +08:00
Marius Vikhammer
e2c86567ac
fix: preserve Linux component header registration
...
Keep Linux components include-only when their runtime dependencies are unavailable.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-06 13:36:34 +08:00
morris
651d6a283f
refactor(esp_common): centralize ALIGN_UP/ALIGN_DOWN into esp_macros.h
...
Remove ~50 duplicate local definitions of ALIGN_UP/ALIGN_DOWN/ALIGN_UP_BY/
ALIGN_DOWN_BY across the codebase and replace them with canonical
ESP_ALIGN_UP/ESP_ALIGN_DOWN from esp_macros.h.
2026-07-06 13:36:06 +08:00
Marius Vikhammer
bd25b59620
test: add Linux full component build app
...
Exercise unrestricted Linux-target builds so unsupported hardware-only components are caught by CI.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-06 13:26:17 +08:00
Song Ruo Jing
92024d98b6
fix(dma2d): add a dequeue mechanism for dma2d driver
...
JPEG driver should be able to either dequeue a pending transaction from
a 2D-DMA pool or force end a processing transaction.
2026-07-02 20:25:09 +08:00
morris
6c79fabe36
feat(jpeg): simplify decoder example and add pytest coverage
2026-06-29 22:44:49 +08:00
C.S.M
ad58073b75
fix(jpeg): Fix the jpeg size might exceed the buffer size
2026-06-22 16:20:51 +08:00
morris
ccc29524fb
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-15 18:52:23 +08:00
C.S.M
6ffafe8e93
fix(jpeg_decoder): Add some strict check to avoid bad picture attack
2026-06-01 11:27:14 +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