RGB888 in Arduino Library version 1.2.8 ???
Closed this issue ยท 10 comments
Hi, I was trying to use this to replace some slow jpg->rgb888 software, and I got the rgb565 working (very fast!) , but your code here suggests you have the rgb888 (or 8888), but the arduino library esp32 version does not have it.
Is that just "in progress" or not supported for some reason, or maybe installed wrong on my pc?
It's currently in progress. I tested it and it appears to work fine. I only coded the full sized decode to generate RGB8888 and need to add the fractional size output too. Once I add those I'll do a full release. For now, feel free to clone this and let me know if you encounter any issues.
Added/tested/released :)
Got a load of compile errors on ver 1.2.9 with a Arduino 1.8.19
Seems to be complaining over "int" as a 16bit or 32bit default.
Edit: looking at the first error ...
Compiling library "JPEGDEC"
"C:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\tools\\xtensa-esp32-elf-gcc\\esp-2021r2-patch5-8.4.0/bin/xtensa-esp32-elf-g++" -DHAVE_CONFIG_H "-DMBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\"" -DUNITY_INCLUDE_CONFIG_H -DWITH_POSIX -D_GNU_SOURCE "-DIDF_VER=\"v4.4.6-dirty\"" -DESP_PLATFORM -D_POSIX_READER_WRITER_LOCKS "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/newlib/platform_include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/freertos/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/freertos/include/esp_additions/freertos" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/freertos/port/xtensa/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/freertos/include/esp_additions" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_hw_support/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_hw_support/include/soc" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_hw_support/include/soc/esp32" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_hw_support/port/esp32" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_hw_support/port/esp32/private_include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/heap/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/log/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/lwip/include/apps" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/lwip/include/apps/sntp" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/lwip/lwip/src/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/lwip/port/esp32/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/lwip/port/esp32/include/arch" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/soc/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/soc/esp32" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/soc/esp32/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/hal/esp32/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/hal/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/hal/platform_port/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_rom/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_rom/include/esp32" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_rom/esp32" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_common/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_system/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_system/port/soc" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_system/port/public_compat" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp32/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/xtensa/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/xtensa/esp32/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/driver/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/driver/esp32/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_pm/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_ringbuf/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/efuse/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/efuse/esp32/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/vfs/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_wifi/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_event/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_netif/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_eth/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/tcpip_adapter/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_phy/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_phy/esp32/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_ipc/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/app_trace/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_timer/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/mbedtls/port/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/mbedtls/mbedtls/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/mbedtls/esp_crt_bundle/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/app_update/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/spi_flash/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/bootloader_support/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/nvs_flash/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/pthread/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_gdbstub/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_gdbstub/xtensa" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_gdbstub/esp32" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/espcoredump/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/espcoredump/include/port/xtensa" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/wpa_supplicant/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/wpa_supplicant/port/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/wpa_supplicant/esp_supplicant/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/ieee802154/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/console" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/asio/asio/asio/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/asio/port/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/bt/common/osi/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/bt/include/esp32/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/bt/common/api/include/api" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/bt/common/btc/profile/esp/blufi/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/bt/common/btc/profile/esp/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/bt/host/bluedroid/api/include/api" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/tinycrypt/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/storage" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/bt/esp_ble_mesh/btc/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/common/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/client/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/server/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/bt/esp_ble_mesh/api/core/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/bt/esp_ble_mesh/api/models/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/bt/esp_ble_mesh/api" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/cbor/port/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/unity/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/unity/unity/src" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/cmock/CMock/src" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/coap/port/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/coap/libcoap/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/nghttp/port/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/nghttp/nghttp2/lib/includes" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp-tls" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp-tls/esp-tls-crypto" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_adc_cal/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_hid/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/tcp_transport/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_http_client/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_http_server/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_https_ota/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_https_server/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_lcd/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_lcd/interface" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/protobuf-c/protobuf-c" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/protocomm/include/common" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/protocomm/include/security" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/protocomm/include/transports" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/mdns/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_local_ctrl/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/sdmmc/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_serial_slave_link/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_websocket_client/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/expat/expat/expat/lib" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/expat/port/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/wear_levelling/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/fatfs/diskio" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/fatfs/vfs" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/fatfs/src" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/freemodbus/freemodbus/common/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/idf_test/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/idf_test/include/esp32" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/jsmn/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/json/cJSON" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/libsodium/libsodium/src/libsodium/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/libsodium/port_include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/mqtt/esp-mqtt/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/openssl/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/perfmon/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/spiffs/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/ulp/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/wifi_provisioning/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/rmaker_common/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_diagnostics/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/rtc_store/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_insights/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/json_parser/upstream/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/json_parser/upstream" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/json_generator/upstream" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_schedule/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/espressif__esp_secure_cert_mgr/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_rainmaker/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/gpio_button/button/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/qrcode/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/ws2812_led" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp_littlefs/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp-dl/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp-dl/include/tool" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp-dl/include/typedef" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp-dl/include/image" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp-dl/include/math" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp-dl/include/nn" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp-dl/include/layer" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp-dl/include/detect" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp-dl/include/model_zoo" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp32-camera/driver/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/esp32-camera/conversions/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/espressif__esp-dsp/modules/dotprod/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/mem/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/hann/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_harris/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_nuttall/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/nuttall/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/flat_top/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/espressif__esp-dsp/modules/iir/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/espressif__esp-dsp/modules/fir/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/add/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sub/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mul/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/addc/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mulc/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sqrt/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/espressif__esp-dsp/modules/fft/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/espressif__esp-dsp/modules/dct/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/espressif__esp-dsp/modules/conv/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/espressif__esp-dsp/modules/common/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf_imu13states/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/include/fb_gfx/include" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14/tools/sdk/esp32/qio_qspi/include" -mlongcalls -Wno-frame-address -ffunction-sections -fdata-sections -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wno-unused-parameter -Wno-sign-compare -ggdb -freorder-blocks -Wwrite-strings -fstack-protector -fstrict-volatile-bitfields -Wno-error=unused-but-set-variable -fno-jump-tables -fno-tree-switch-conversion -std=gnu++11 -fexceptions -fno-rtti -MMD -c -w -Os -DF_CPU=240000000L -DARDUINO=10819 -DARDUINO_ESP32_DEV -DARDUINO_ARCH_ESP32 "-DARDUINO_BOARD=\"ESP32_DEV\"" "-DARDUINO_VARIANT=\"esp32\"" -DARDUINO_PARTITION_default_ffat -DESP32 -DCORE_DEBUG_LEVEL=0 -DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue -mfix-esp32-psram-cache-strategy=memw -DARDUINO_USB_CDC_ON_BOOT=0 "@C:\\Users\\James\\AppData\\Local\\Temp\\arduino_build_663204/build_opt.h" "@C:\\Users\\James\\AppData\\Local\\Temp\\arduino_build_663204/file_opts" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14\\cores\\esp32" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14\\variants\\esp32" "-IC:\\ArduinoPortable\\sketch\\libraries\\bitluni_ESP32Lib\\src" "-IC:\\ArduinoPortable\\sketch\\libraries\\JPEGDEC\\src" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14\\libraries\\WiFi\\src" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14\\libraries\\ArduinoOTA\\src" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14\\libraries\\Update\\src" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14\\libraries\\EEPROM\\src" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14\\libraries\\SD_MMC\\src" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14\\libraries\\FS\\src" "-IC:\\ArduinoPortable\\arduino-1.8.19\\portable\\packages\\esp32\\hardware\\esp32\\2.0.14\\libraries\\ESPmDNS\\src" "C:\\ArduinoPortable\\sketch\\libraries\\JPEGDEC\\src\\JPEGDEC.cpp" -o "C:\\Users\\James\\AppData\\Local\\Temp\\arduino_build_663204\\libraries\\JPEGDEC\\JPEGDEC.cpp.o"
In file included from C:\ArduinoPortable\sketch\libraries\JPEGDEC\src\JPEGDEC.cpp:32:
C:\ArduinoPortable\sketch\libraries\JPEGDEC\src\jpeg.inl: In function 'void JPEGPutMCU11(JPEGIMAGE*, int, int)':
C:\ArduinoPortable\sketch\libraries\JPEGDEC\src\jpeg.inl:2499:41: error: cannot convert 'uint16_t*' {aka 'short unsigned int*'} to 'uint32_t*' {aka 'unsigned int*'}
JPEGPixelRGB(pOutput+iCol*2, Y, iCb, iCr);
~~~~~~~^~~~~~~
C:\ArduinoPortable\sketch\libraries\JPEGDEC\src\jpeg.inl:2346:36: note: initializing argument 1 of 'void JPEGPixelRGB(uint32_t*, int, int, int)'
static void JPEGPixelRGB(uint32_t *pDest, int iY, int iCb, int iCr)
~~~~~~~~~~^~~~~
C:\ArduinoPortable\sketch\libraries\JPEGDEC\src\jpeg.inl:2522:26: error: cannot convert 'uint16_t*' {aka 'short unsigned int*'} to 'uint32_t*' {aka 'unsigned int*'}
JPEGPixelRGB(pOutput, Y, iCb, iCr);
^~~~~~~
C:\ArduinoPortable\sketch\libraries\JPEGDEC\src\jpeg.inl:2346:36: note: initializing argument 1 of 'void JPEGPixelRGB(uint32_t*, int, int, int)'
static void JPEGPixelRGB(uint32_t *pDest, int iY, int iCb, int iCr)
~~~~~~~~~~^~~~~
C:\ArduinoPortable\sketch\libraries\JPEGDEC\src\jpeg.inl:2569:26: error: cannot convert 'uint16_t*' {aka 'short unsigned int*'} to 'uint32_t*' {aka 'unsigned int*'}
JPEGPixelRGB(pOutput, Y, iCb, iCr);
^~~~~~~
C
Thanks for reporting that. I was testing on Linux and didn't generate errors for the warnings. I'll push a fix.
Hi, thanks for your work here on the holidays!!! I answered a couple questions, but no actual work.
Latest version compiles nicely. But where do I find the 4 bytes for rgb8888?
I had this code below for 565 that recreated the rgb buffer I had with the slow decoders. This is a 640x480 jpeg reduced 1/8 to 80x60, and then written to a rgb888 (3 bytes) buffer, which works fine.
But after I set the ".setPixelType(RGB8888);", then pDraw->pPixels is still 16bit, so I need 2 of those for the 4 bytes rgb8888, but when I take 2 16bit pPixels then the second half of the screen is empty -- I used up all the data on the first half. The pDraw->x and pDraw->y and the iHeight and iWidth come out the same as the 565 call, and taking 4 bytes of pPixels ???
Maybe recast pPixels as 32bit is different than grabbing the next 2 bytes???
// this works
int JPEGDraw565(JPEGDRAW *pDraw){
int iCount;
iCount = pDraw->iWidth * pDraw->iHeight; // number of pixels to draw in this call
int ind = 0;
for (int y = pDraw->y; y < pDraw->y + pDraw->iHeight; y++) {
for (int x = pDraw->x; x < pDraw->x + pDraw->iWidth; x++) {
int p = pDraw->pPixels[ind];
rgb[ (y * 80 + x) * 3 + 0] = (p & 0b11111) << 3;
rgb[ (y * 80 + x) * 3 + 1] = ((p >> 5) & 0b111111) << 2;
rgb[ (y * 80 + x) * 3 + 2] = (p >> 11) << 3;
ind++;
}
}
return 1; // continue decode
} /* JPEGDraw() */
// this does not work ... many permutations of grabbing more bytes doubling width and incrementing ind
int JPEGDraw888(JPEGDRAW *pDraw)
{
int iCount;
iCount = pDraw->iWidth * pDraw->iHeight; // number of pixels to draw in this call
int ind = 0;
for (int y = pDraw->y; y < pDraw->y + pDraw->iHeight ; y++) {
for (int x = pDraw->x; x < pDraw->x + pDraw->iWidth*2 ; x++) {
int a = (pDraw->pPixels[ind] >> 8) & 0xFF;
int b = (pDraw->pPixels[ind] >> 0) & 0xFF;
//ind++;
int c = (pDraw->pPixels[ind] >> 8) & 0xFF;
int d = (pDraw->pPixels[ind]) & 0xFF;
rgb[ (y * 80 + x) * 3 + 2] = a;
rgb[ (y * 80 + x) * 3 + 1] = b;
rgb[ (y * 80 + x) * 3 + 0] = c;
int xx = d;
ind++;
}
}
return 1; // continue decode
} /* JPEGDraw() */
The pPixels pointer needs to be cast as uint32_t for RGB8888. See my Linux example code. Your code above isn't reading from the pointer correctly.
The 1/8 reduction seems to reduce y to 1/8, but x to 1/16.
I get my entire image, and all 60 rows, but the 80 width gives me 160 (40x4 bytes) bytes of colors, and then the next 160 bytes empty.
This is a 640x480 jpg, reduced 1/8 to rgb, then the rgb converted to bmp with espressif esp32-cam library, then both sent to a web browser. Maybe that process is shrinking the x dimension???
I was trying to stretch the image to double wide yesterday.
I thought this line was relevant, as it exists for full, 1/2, 1/4, but not 1/8, but adding it to the 1/8 section before 2720 didn't help. It is not that bytes are cut off, but the image is squeezed narrow.
Line 2803 in ac4bb51
uint8_t *rgb ; // is malloced to plenty of room
int JPEGDraw888(JPEGDRAW *pDraw)
{
uint32_t* outptr;
outptr = (uint32_t*)pDraw->pPixels;
int ind = 0;
for (int y = pDraw->y; y < pDraw->y + pDraw->iHeight ; y++) {
for (int x = pDraw->x; x < pDraw->x + pDraw->iWidth ; x++) {
rgb[ (y * 80 + x) * 3 + 2] = (outptr[ind] >> 16) & 0xFF;
rgb[ (y * 80 + x) * 3 + 1] = (outptr[ind] >> 8) & 0xFF;
rgb[ (y * 80 + x) * 3 + 0] = (outptr[ind]) & 0xFF;
ind++;
}
}
return 1; // continue decode
} /* JPEGDraw888() for 80x60 */
Can you share the image? There are 4 subsampling options and 4 sets of code to render the pixels x 4 scale options for each (16 permutations). It can help me narrow it down if you show me which type your image uses.
ok, I found and fixed the issue. Please clone and retry and I'll do a new release when you've verified that it's fixed.