WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Releases: themactep/thingino-firmware

firmware-2025-11-17

17 Nov 08:40
296cc09

Choose a tag to compare

Changes in this release:

  • 9d76bd8 Add files via upload
  • 14ec531 eufy t8410c: fix wifi module name
  • f95e332 spi-tmi8152: use modules.d/ instead of modules
  • ea51609 tapo c200: use thingino-motors directly
  • a4a8eb4 package: thingino-motors: remove dependency on sdk
  • 4fbb976 updated lightnvr build requirements
  • 5657408 cleanup: drop editorconfig. use formatters and linters instead
  • d0f8976 cleanup: sensor select makefile never fruited and the idea is meh
  • 2e2c647 remove yandex disk
  • 543b115 cleanup: remove retired modules
  • 5ddc7d7 buildroot: bump
  • 837846e timelapse: refactor to json config
  • 59e03da package/thingino-onvif: update to 44296ba Update thingino-onvif from 74f99a6 to 44296ba Hash change: 74f99a6abd97db472c5c961f1b03dacb40130cc4 -> 44296bad9a1146b343cf75938c413120d6089eb1 Changelog: 25829c3: handle diagonal motion in a single move 44296ba: add test utils and artifacts
  • f9127b8 package/thingino-ffmpeg: update to d01608e Update thingino-ffmpeg from 1120b3d to d01608e Hash change: 1120b3db302165d7ed40df1473e6ae84db61c0f8 -> d01608e0222a04b5743446f200284d486524b355 Changelog: 0b0cb7c: lavf/movenc: improve AVdh atom generation for DNxHD/DNxHR 06b04da: lavf/mxfenc: require pixel format to be set for video streams cfcd996: lavf/mxfenc: remove cdci pixel format specific values from stream context 1cd3f61: lavf/mxfenc: correctly add jpeg2000 subdescriptor reference in cdci, factorize 48c6b8a: lavf/mxfenc: fix return value to int64_t 548bdee: lavf/mxfenc: factorize cdci descriptor functions 7f7335e: lavf/mxfenc: fix muxing for DNxHD/DNxHR 444 7e8ef2d: configure: Add mxpeg->hpeldsp dependency 3115c0c: lavc/aarch64: Fix addp overflow in ff_pred16x16_plane_neon_10 00e4361: avutil/csp: add av_csp_approximate_eotf_gamma() a2b47cc: avcodec/{png,mov}enc: use EOTF gamma approximation for gAMA chunk 20f59bf: fftools/ffmpeg: use enum VideoSyncMethod instead of int c597d8c: avcodec/aacpsdsp: add restrict to function pointers to match declarations 9ad2083: avcodec/pixblockdsp: be consistent about restrict use in ff_{get,diff}_pixels fe425d9: avcodec/cbs*: remove redundant const, it's already in typedef 0cd9992: avcodec/put_bits: add explicit cast to suppress MSVC warning 49cfafe: avcodec/rectangle: use uintptr_t for integer pointer type ddeec52: avcodec/x86/idctdsp: add restrict to match function pointer types 9a9edd8: configure: Remove 3dnow 7b5b299: avutil/x86/cpu: Remove 3dnow flags, macros 3e69541: avutil/tests/audio_fifo: don't print trailing spaces 8d16f85: avutil/tests/fifo: don't print trailing spaces c819e59: avutil/tests/dict: don't print trailing spaces 63bb620: avutil/tests/hash: don't print trailing spaces dd4c524: api-h264-test: indent output df7b6b2: tests/fate/filter-atempo: remove leftover ref file 51762c9: tests/ref/fate/iirfilter: remove leftover ref file c5edd12: tests/ref/fate: remove leftover mapchan ref files 25fe410: tests/fate/api: fix fate-lavf-flv test d77f917: ffbuild/common: silence DEPCXX output 016d767: lavfi: add drawvg video filter. d9853e6: avfilter/Makefile: fix dependency for drawvg test defd5f3: Changelog: fix ordering for drawvg entry f5f72b4: Fix incorrect extraction of Origin 9195af7: proresdec: allocate private memory for hwaccel pictures 987368e: avcodec/prores: adapt hwaccel code for slice-based accelerators 3fd55d9: avcodec/proresdec: save slice width parameter in codec context 98412ed: lavc: add a ProRes Vulkan hwaccel 23df9d4: avcodec/prores: add parser d01608e: avcodec/proresdec: Remove unused hwaccel_last_picture_private
  • 17cb1ef package/prudynt-t: update to e548748 Update prudynt-t from 00b8ef6 to e548748 Hash change: 00b8ef62745f9f357984fe430dc52bac8f2515a5 -> e548748106c38a55de9a566de888e01f285c8bf8 Changelog: e548748: Comprehensive HAL audit fixes and improvements
  • bc117a9 prudynt-t: Fix T20 compilation - add compile-time guards for set_hue Update to commit 00b8ef6 which fixes compilation for T20 platforms. The IMP_ISP_Tuning_SetBcshHue function doesn't exist on T10/T20/T21/T30. Added compile-time guards to prevent compilation errors on platforms that don't have the function. Platforms with hue support: - T23, T31, C100: IMP_ISP_Tuning_SetBcshHue(val) - T40, T41: IMP_ISP_Tuning_SetBcshHue(IMPVI_MAIN, &val) - T10, T20, T21, T30: Function doesn't exist (returns 0)
  • 97bdd9a prudynt-t: Fix T31 compilation errors Update to commit f317949 which fixes compilation for T31 platforms. Fixes: - Added missing imp_hal.hpp include to IMPFramesource.cpp - Added compile-time check for aecChn field in IMPAudio.cpp (field doesn't exist on T31, only on T40/T41) The aecChn field is part of IMPAudioIChnParam struct on T40/T41 but not on T31, so we need a compile-time check in addition to the runtime capability check.
  • cf86e4c prudynt-t: Fix capability initialization nesting Update to commit b3648d2 which fixes the has_framesource_chn_rotate capability initialization. The capability was incorrectly nested inside the OSD capability #else block. Fixed the #endif nesting so it's properly initialized for all platforms. This eliminates the 'missing initializer' compiler warning.
  • 33eccf0 prudynt-t: Abstract ISP sensor management API differences in HAL Update to commit dffe537 which adds HAL wrappers for ISP sensor management. Added hal::isp functions to abstract IMPVI_MAIN parameter differences: - add_sensor() - wraps IMP_ISP_AddSensor - enable_sensor() - wraps IMP_ISP_EnableSensor - disable_sensor() - wraps IMP_ISP_DisableSensor - del_sensor() - wraps IMP_ISP_DelSensor Reduced platform checks in IMPSystem.cpp from 5 to 1.
  • a381959 prudynt-t: Abstract rotation capability instead of platform check Update to commit e20c7dc which adds has_framesource_chn_rotate capability. Instead of checking 'defined(PLATFORM_T31)', the code now checks for the meaningful capability 'has_framesource_chn_rotate'. This makes the code self-documenting and easier to maintain. IMPFramesource.cpp is now 100% clean of platform checks!
  • 391b066 prudynt-t: Simplify nonsensical platform check Update to commit ac49a1c which simplifies a confusing platform check. Changed '#if defined(PLATFORM_T31) && !defined(PLATFORM_C100)' to just '#if defined(PLATFORM_T31)' since only one platform can be defined at a time. The '&& !defined(PLATFORM_C100)' was redundant and confusing.
  • b33b4bb prudynt-t: Replace platform checks with capability checks in JsonAPI Update to commit c907644 which makes JsonAPI.cpp 100% clean of platform checks. All compile-time #ifdef PLATFORM_ checks replaced with runtime hal::caps() capability checks. JSON API endpoints are now dynamically available based on platform capabilities. This completes the JsonAPI HAL migration - no more platform checks!
  • 8eda021 prudynt-t: Consolidate all type compatibility defines in HAL Update to commit 92ac9fd which completes the HAL consolidation: - Removed duplicate type compatibility defines from all files - Centralized all defines in imp_hal.hpp - Updated JPEGWorker to use encoder HAL functions - Added necessary includes to headers Platform check reduction: - Started with 99 PLATFORM_ checks - Reduced to 36 (64% reduction) Remaining checks are acceptable: - Config.hpp: Compile-time defaults - IMPEncoder.cpp: Deep RC configuration - IMPSystem.cpp: Sensor initialization - JPEGWorker.cpp: Wraparound handling - Others: Minor initialization differences All type compatibility and API abstraction now centralized in HAL.
  • 18f7621 prudynt-t: Add encoder HAL and move type compatibility to HAL Update to commit 4f4b8b9 which adds encoder initialization HAL functions and moves type compatibility defines to the HAL header. Changes: - Added encoder initialization helper functions to HAL - Moved IMPEncoderCHNAttr/IMPEncoderCHNStat typedefs to HAL - Removed duplicate typedef from IMPEncoder.cpp The remaining platform checks in IMPEncoder.cpp are deep implementation details for RC configuration and are best left as-is. All major platform-specific code is now abstracted through the HAL.
  • 2dd4a32 prudynt-t: Add encoder HAL to abstract stream pack API differences Update to commit cc92190 which adds hal::encoder namespace to abstract platform-specific differences in video encoder stream pack APIs. Changes: - Added encoder HAL functions to abstract stream pack data access - Removed all platform #ifdef checks from VideoWorker.cpp - Centralized encoder API differences in imp_hal.cpp The encoder HAL abstracts: - Stream pack data pointer differences (virAddr+offset vs pack[i].virAddr) - NAL type field name differences (nalType vs dataType) This completes the HAL abstraction - all platform-specific code is now centralized in the HAL layer.
  • b0f329b prudynt-t: Update to ede39f4 - complete HAL capabilities system Final update with working platform capabilities system: - Fixed g_caps field order to match PlatformCaps struct - Added missing caps() function implementation - All platform-specific #ifdef checks now replaced with caps() checks - Successfully builds for T40 platform The HAL now provides a clean, centralized way to handle platform differences across all Ingenic SoCs (T10/T20/T21/T23/T30/T31/C100/T40/T41). Tested: wyze_cam3pro_nor_t40xp_gc4653_rtl8192fs builds successfully
  • c5ba85d prudynt-t: Update to latest t40-hal-support with platform capabilities Update to commit cf4ced5 which adds comprehensive platform capability system to replace scattered #ifdef checks throughout the codebase. Changes in this update: - Extended PlatformCaps struct with audio, ISP, OSD, and system capabilities - All platform-specific code now uses caps().has_feature checks - Added compile-time guards for platform-specific ISP functions - Centralized all platform differences in imp_hal.cpp Note: Build currently has field order issue in g_caps initialization that needs to be fixed in next commit.
  • ceb3fed prudynt-t: Add T40/T41 support via HAL abstraction S...
Read more

firmware-2025-11-16

16 Nov 08:36

Choose a tag to compare

No changes, nightly rebuild

buildroot-dl-cache

16 Nov 06:03
0acd621

Choose a tag to compare

Merge pull request #856 from sstepansky/issue-852

Issue 852

firmware-2025-11-14

14 Nov 08:38
b6fb2ff

Choose a tag to compare

Changes in this release:

  • 14ec531 eufy t8410c: fix wifi module name
  • 4fbb976 updated lightnvr build requirements
  • 5657408 cleanup: drop editorconfig. use formatters and linters instead
  • d0f8976 cleanup: sensor select makefile never fruited and the idea is meh
  • 2e2c647 remove yandex disk
  • 543b115 cleanup: remove retired modules
  • 5ddc7d7 buildroot: bump
  • 837846e timelapse: refactor to json config
  • 59e03da package/thingino-onvif: update to 44296ba Update thingino-onvif from 74f99a6 to 44296ba Hash change: 74f99a6abd97db472c5c961f1b03dacb40130cc4 -> 44296bad9a1146b343cf75938c413120d6089eb1 Changelog: 25829c3: handle diagonal motion in a single move 44296ba: add test utils and artifacts
  • f9127b8 package/thingino-ffmpeg: update to d01608e Update thingino-ffmpeg from 1120b3d to d01608e Hash change: 1120b3db302165d7ed40df1473e6ae84db61c0f8 -> d01608e0222a04b5743446f200284d486524b355 Changelog: 0b0cb7c: lavf/movenc: improve AVdh atom generation for DNxHD/DNxHR 06b04da: lavf/mxfenc: require pixel format to be set for video streams cfcd996: lavf/mxfenc: remove cdci pixel format specific values from stream context 1cd3f61: lavf/mxfenc: correctly add jpeg2000 subdescriptor reference in cdci, factorize 48c6b8a: lavf/mxfenc: fix return value to int64_t 548bdee: lavf/mxfenc: factorize cdci descriptor functions 7f7335e: lavf/mxfenc: fix muxing for DNxHD/DNxHR 444 7e8ef2d: configure: Add mxpeg->hpeldsp dependency 3115c0c: lavc/aarch64: Fix addp overflow in ff_pred16x16_plane_neon_10 00e4361: avutil/csp: add av_csp_approximate_eotf_gamma() a2b47cc: avcodec/{png,mov}enc: use EOTF gamma approximation for gAMA chunk 20f59bf: fftools/ffmpeg: use enum VideoSyncMethod instead of int c597d8c: avcodec/aacpsdsp: add restrict to function pointers to match declarations 9ad2083: avcodec/pixblockdsp: be consistent about restrict use in ff_{get,diff}_pixels fe425d9: avcodec/cbs*: remove redundant const, it's already in typedef 0cd9992: avcodec/put_bits: add explicit cast to suppress MSVC warning 49cfafe: avcodec/rectangle: use uintptr_t for integer pointer type ddeec52: avcodec/x86/idctdsp: add restrict to match function pointer types 9a9edd8: configure: Remove 3dnow 7b5b299: avutil/x86/cpu: Remove 3dnow flags, macros 3e69541: avutil/tests/audio_fifo: don't print trailing spaces 8d16f85: avutil/tests/fifo: don't print trailing spaces c819e59: avutil/tests/dict: don't print trailing spaces 63bb620: avutil/tests/hash: don't print trailing spaces dd4c524: api-h264-test: indent output df7b6b2: tests/fate/filter-atempo: remove leftover ref file 51762c9: tests/ref/fate/iirfilter: remove leftover ref file c5edd12: tests/ref/fate: remove leftover mapchan ref files 25fe410: tests/fate/api: fix fate-lavf-flv test d77f917: ffbuild/common: silence DEPCXX output 016d767: lavfi: add drawvg video filter. d9853e6: avfilter/Makefile: fix dependency for drawvg test defd5f3: Changelog: fix ordering for drawvg entry f5f72b4: Fix incorrect extraction of Origin 9195af7: proresdec: allocate private memory for hwaccel pictures 987368e: avcodec/prores: adapt hwaccel code for slice-based accelerators 3fd55d9: avcodec/proresdec: save slice width parameter in codec context 98412ed: lavc: add a ProRes Vulkan hwaccel 23df9d4: avcodec/prores: add parser d01608e: avcodec/proresdec: Remove unused hwaccel_last_picture_private
  • 17cb1ef package/prudynt-t: update to e548748 Update prudynt-t from 00b8ef6 to e548748 Hash change: 00b8ef62745f9f357984fe430dc52bac8f2515a5 -> e548748106c38a55de9a566de888e01f285c8bf8 Changelog: e548748: Comprehensive HAL audit fixes and improvements
  • bc117a9 prudynt-t: Fix T20 compilation - add compile-time guards for set_hue Update to commit 00b8ef6 which fixes compilation for T20 platforms. The IMP_ISP_Tuning_SetBcshHue function doesn't exist on T10/T20/T21/T30. Added compile-time guards to prevent compilation errors on platforms that don't have the function. Platforms with hue support: - T23, T31, C100: IMP_ISP_Tuning_SetBcshHue(val) - T40, T41: IMP_ISP_Tuning_SetBcshHue(IMPVI_MAIN, &val) - T10, T20, T21, T30: Function doesn't exist (returns 0)
  • 97bdd9a prudynt-t: Fix T31 compilation errors Update to commit f317949 which fixes compilation for T31 platforms. Fixes: - Added missing imp_hal.hpp include to IMPFramesource.cpp - Added compile-time check for aecChn field in IMPAudio.cpp (field doesn't exist on T31, only on T40/T41) The aecChn field is part of IMPAudioIChnParam struct on T40/T41 but not on T31, so we need a compile-time check in addition to the runtime capability check.
  • cf86e4c prudynt-t: Fix capability initialization nesting Update to commit b3648d2 which fixes the has_framesource_chn_rotate capability initialization. The capability was incorrectly nested inside the OSD capability #else block. Fixed the #endif nesting so it's properly initialized for all platforms. This eliminates the 'missing initializer' compiler warning.
  • 33eccf0 prudynt-t: Abstract ISP sensor management API differences in HAL Update to commit dffe537 which adds HAL wrappers for ISP sensor management. Added hal::isp functions to abstract IMPVI_MAIN parameter differences: - add_sensor() - wraps IMP_ISP_AddSensor - enable_sensor() - wraps IMP_ISP_EnableSensor - disable_sensor() - wraps IMP_ISP_DisableSensor - del_sensor() - wraps IMP_ISP_DelSensor Reduced platform checks in IMPSystem.cpp from 5 to 1.
  • a381959 prudynt-t: Abstract rotation capability instead of platform check Update to commit e20c7dc which adds has_framesource_chn_rotate capability. Instead of checking 'defined(PLATFORM_T31)', the code now checks for the meaningful capability 'has_framesource_chn_rotate'. This makes the code self-documenting and easier to maintain. IMPFramesource.cpp is now 100% clean of platform checks!
  • 391b066 prudynt-t: Simplify nonsensical platform check Update to commit ac49a1c which simplifies a confusing platform check. Changed '#if defined(PLATFORM_T31) && !defined(PLATFORM_C100)' to just '#if defined(PLATFORM_T31)' since only one platform can be defined at a time. The '&& !defined(PLATFORM_C100)' was redundant and confusing.
  • b33b4bb prudynt-t: Replace platform checks with capability checks in JsonAPI Update to commit c907644 which makes JsonAPI.cpp 100% clean of platform checks. All compile-time #ifdef PLATFORM_ checks replaced with runtime hal::caps() capability checks. JSON API endpoints are now dynamically available based on platform capabilities. This completes the JsonAPI HAL migration - no more platform checks!
  • 8eda021 prudynt-t: Consolidate all type compatibility defines in HAL Update to commit 92ac9fd which completes the HAL consolidation: - Removed duplicate type compatibility defines from all files - Centralized all defines in imp_hal.hpp - Updated JPEGWorker to use encoder HAL functions - Added necessary includes to headers Platform check reduction: - Started with 99 PLATFORM_ checks - Reduced to 36 (64% reduction) Remaining checks are acceptable: - Config.hpp: Compile-time defaults - IMPEncoder.cpp: Deep RC configuration - IMPSystem.cpp: Sensor initialization - JPEGWorker.cpp: Wraparound handling - Others: Minor initialization differences All type compatibility and API abstraction now centralized in HAL.
  • 18f7621 prudynt-t: Add encoder HAL and move type compatibility to HAL Update to commit 4f4b8b9 which adds encoder initialization HAL functions and moves type compatibility defines to the HAL header. Changes: - Added encoder initialization helper functions to HAL - Moved IMPEncoderCHNAttr/IMPEncoderCHNStat typedefs to HAL - Removed duplicate typedef from IMPEncoder.cpp The remaining platform checks in IMPEncoder.cpp are deep implementation details for RC configuration and are best left as-is. All major platform-specific code is now abstracted through the HAL.
  • 2dd4a32 prudynt-t: Add encoder HAL to abstract stream pack API differences Update to commit cc92190 which adds hal::encoder namespace to abstract platform-specific differences in video encoder stream pack APIs. Changes: - Added encoder HAL functions to abstract stream pack data access - Removed all platform #ifdef checks from VideoWorker.cpp - Centralized encoder API differences in imp_hal.cpp The encoder HAL abstracts: - Stream pack data pointer differences (virAddr+offset vs pack[i].virAddr) - NAL type field name differences (nalType vs dataType) This completes the HAL abstraction - all platform-specific code is now centralized in the HAL layer.
  • b0f329b prudynt-t: Update to ede39f4 - complete HAL capabilities system Final update with working platform capabilities system: - Fixed g_caps field order to match PlatformCaps struct - Added missing caps() function implementation - All platform-specific #ifdef checks now replaced with caps() checks - Successfully builds for T40 platform The HAL now provides a clean, centralized way to handle platform differences across all Ingenic SoCs (T10/T20/T21/T23/T30/T31/C100/T40/T41). Tested: wyze_cam3pro_nor_t40xp_gc4653_rtl8192fs builds successfully
  • c5ba85d prudynt-t: Update to latest t40-hal-support with platform capabilities Update to commit cf4ced5 which adds comprehensive platform capability system to replace scattered #ifdef checks throughout the codebase. Changes in this update: - Extended PlatformCaps struct with audio, ISP, OSD, and system capabilities - All platform-specific code now uses caps().has_feature checks - Added compile-time guards for platform-specific ISP functions - Centralized all platform differences in imp_hal.cpp Note: Build currently has field order issue in g_caps initialization that needs to be fixed in next commit.
  • ceb3fed prudynt-t: Add T40/T41 support via HAL abstraction Switch to t40-hal-support branch which implements proper hardware abstraction layer for ISP tuning functions. Changes: - Add hal::isp namespace with platform-abstracted ISP functions - Handle T40/T41...
Read more

firmware-2025-11-13

13 Nov 08:39
0efb691

Choose a tag to compare

Changes in this release:

  • 14ec531 eufy t8410c: fix wifi module name
  • 4fbb976 updated lightnvr build requirements
  • 5657408 cleanup: drop editorconfig. use formatters and linters instead
  • d0f8976 cleanup: sensor select makefile never fruited and the idea is meh
  • 2e2c647 remove yandex disk
  • 543b115 cleanup: remove retired modules
  • 5ddc7d7 buildroot: bump
  • 837846e timelapse: refactor to json config
  • 59e03da package/thingino-onvif: update to 44296ba Update thingino-onvif from 74f99a6 to 44296ba Hash change: 74f99a6abd97db472c5c961f1b03dacb40130cc4 -> 44296bad9a1146b343cf75938c413120d6089eb1 Changelog: 25829c3: handle diagonal motion in a single move 44296ba: add test utils and artifacts
  • f9127b8 package/thingino-ffmpeg: update to d01608e Update thingino-ffmpeg from 1120b3d to d01608e Hash change: 1120b3db302165d7ed40df1473e6ae84db61c0f8 -> d01608e0222a04b5743446f200284d486524b355 Changelog: 0b0cb7c: lavf/movenc: improve AVdh atom generation for DNxHD/DNxHR 06b04da: lavf/mxfenc: require pixel format to be set for video streams cfcd996: lavf/mxfenc: remove cdci pixel format specific values from stream context 1cd3f61: lavf/mxfenc: correctly add jpeg2000 subdescriptor reference in cdci, factorize 48c6b8a: lavf/mxfenc: fix return value to int64_t 548bdee: lavf/mxfenc: factorize cdci descriptor functions 7f7335e: lavf/mxfenc: fix muxing for DNxHD/DNxHR 444 7e8ef2d: configure: Add mxpeg->hpeldsp dependency 3115c0c: lavc/aarch64: Fix addp overflow in ff_pred16x16_plane_neon_10 00e4361: avutil/csp: add av_csp_approximate_eotf_gamma() a2b47cc: avcodec/{png,mov}enc: use EOTF gamma approximation for gAMA chunk 20f59bf: fftools/ffmpeg: use enum VideoSyncMethod instead of int c597d8c: avcodec/aacpsdsp: add restrict to function pointers to match declarations 9ad2083: avcodec/pixblockdsp: be consistent about restrict use in ff_{get,diff}_pixels fe425d9: avcodec/cbs*: remove redundant const, it's already in typedef 0cd9992: avcodec/put_bits: add explicit cast to suppress MSVC warning 49cfafe: avcodec/rectangle: use uintptr_t for integer pointer type ddeec52: avcodec/x86/idctdsp: add restrict to match function pointer types 9a9edd8: configure: Remove 3dnow 7b5b299: avutil/x86/cpu: Remove 3dnow flags, macros 3e69541: avutil/tests/audio_fifo: don't print trailing spaces 8d16f85: avutil/tests/fifo: don't print trailing spaces c819e59: avutil/tests/dict: don't print trailing spaces 63bb620: avutil/tests/hash: don't print trailing spaces dd4c524: api-h264-test: indent output df7b6b2: tests/fate/filter-atempo: remove leftover ref file 51762c9: tests/ref/fate/iirfilter: remove leftover ref file c5edd12: tests/ref/fate: remove leftover mapchan ref files 25fe410: tests/fate/api: fix fate-lavf-flv test d77f917: ffbuild/common: silence DEPCXX output 016d767: lavfi: add drawvg video filter. d9853e6: avfilter/Makefile: fix dependency for drawvg test defd5f3: Changelog: fix ordering for drawvg entry f5f72b4: Fix incorrect extraction of Origin 9195af7: proresdec: allocate private memory for hwaccel pictures 987368e: avcodec/prores: adapt hwaccel code for slice-based accelerators 3fd55d9: avcodec/proresdec: save slice width parameter in codec context 98412ed: lavc: add a ProRes Vulkan hwaccel 23df9d4: avcodec/prores: add parser d01608e: avcodec/proresdec: Remove unused hwaccel_last_picture_private
  • 17cb1ef package/prudynt-t: update to e548748 Update prudynt-t from 00b8ef6 to e548748 Hash change: 00b8ef62745f9f357984fe430dc52bac8f2515a5 -> e548748106c38a55de9a566de888e01f285c8bf8 Changelog: e548748: Comprehensive HAL audit fixes and improvements
  • bc117a9 prudynt-t: Fix T20 compilation - add compile-time guards for set_hue Update to commit 00b8ef6 which fixes compilation for T20 platforms. The IMP_ISP_Tuning_SetBcshHue function doesn't exist on T10/T20/T21/T30. Added compile-time guards to prevent compilation errors on platforms that don't have the function. Platforms with hue support: - T23, T31, C100: IMP_ISP_Tuning_SetBcshHue(val) - T40, T41: IMP_ISP_Tuning_SetBcshHue(IMPVI_MAIN, &val) - T10, T20, T21, T30: Function doesn't exist (returns 0)
  • 97bdd9a prudynt-t: Fix T31 compilation errors Update to commit f317949 which fixes compilation for T31 platforms. Fixes: - Added missing imp_hal.hpp include to IMPFramesource.cpp - Added compile-time check for aecChn field in IMPAudio.cpp (field doesn't exist on T31, only on T40/T41) The aecChn field is part of IMPAudioIChnParam struct on T40/T41 but not on T31, so we need a compile-time check in addition to the runtime capability check.
  • cf86e4c prudynt-t: Fix capability initialization nesting Update to commit b3648d2 which fixes the has_framesource_chn_rotate capability initialization. The capability was incorrectly nested inside the OSD capability #else block. Fixed the #endif nesting so it's properly initialized for all platforms. This eliminates the 'missing initializer' compiler warning.
  • 33eccf0 prudynt-t: Abstract ISP sensor management API differences in HAL Update to commit dffe537 which adds HAL wrappers for ISP sensor management. Added hal::isp functions to abstract IMPVI_MAIN parameter differences: - add_sensor() - wraps IMP_ISP_AddSensor - enable_sensor() - wraps IMP_ISP_EnableSensor - disable_sensor() - wraps IMP_ISP_DisableSensor - del_sensor() - wraps IMP_ISP_DelSensor Reduced platform checks in IMPSystem.cpp from 5 to 1.
  • a381959 prudynt-t: Abstract rotation capability instead of platform check Update to commit e20c7dc which adds has_framesource_chn_rotate capability. Instead of checking 'defined(PLATFORM_T31)', the code now checks for the meaningful capability 'has_framesource_chn_rotate'. This makes the code self-documenting and easier to maintain. IMPFramesource.cpp is now 100% clean of platform checks!
  • 391b066 prudynt-t: Simplify nonsensical platform check Update to commit ac49a1c which simplifies a confusing platform check. Changed '#if defined(PLATFORM_T31) && !defined(PLATFORM_C100)' to just '#if defined(PLATFORM_T31)' since only one platform can be defined at a time. The '&& !defined(PLATFORM_C100)' was redundant and confusing.
  • b33b4bb prudynt-t: Replace platform checks with capability checks in JsonAPI Update to commit c907644 which makes JsonAPI.cpp 100% clean of platform checks. All compile-time #ifdef PLATFORM_ checks replaced with runtime hal::caps() capability checks. JSON API endpoints are now dynamically available based on platform capabilities. This completes the JsonAPI HAL migration - no more platform checks!
  • 8eda021 prudynt-t: Consolidate all type compatibility defines in HAL Update to commit 92ac9fd which completes the HAL consolidation: - Removed duplicate type compatibility defines from all files - Centralized all defines in imp_hal.hpp - Updated JPEGWorker to use encoder HAL functions - Added necessary includes to headers Platform check reduction: - Started with 99 PLATFORM_ checks - Reduced to 36 (64% reduction) Remaining checks are acceptable: - Config.hpp: Compile-time defaults - IMPEncoder.cpp: Deep RC configuration - IMPSystem.cpp: Sensor initialization - JPEGWorker.cpp: Wraparound handling - Others: Minor initialization differences All type compatibility and API abstraction now centralized in HAL.
  • 18f7621 prudynt-t: Add encoder HAL and move type compatibility to HAL Update to commit 4f4b8b9 which adds encoder initialization HAL functions and moves type compatibility defines to the HAL header. Changes: - Added encoder initialization helper functions to HAL - Moved IMPEncoderCHNAttr/IMPEncoderCHNStat typedefs to HAL - Removed duplicate typedef from IMPEncoder.cpp The remaining platform checks in IMPEncoder.cpp are deep implementation details for RC configuration and are best left as-is. All major platform-specific code is now abstracted through the HAL.
  • 2dd4a32 prudynt-t: Add encoder HAL to abstract stream pack API differences Update to commit cc92190 which adds hal::encoder namespace to abstract platform-specific differences in video encoder stream pack APIs. Changes: - Added encoder HAL functions to abstract stream pack data access - Removed all platform #ifdef checks from VideoWorker.cpp - Centralized encoder API differences in imp_hal.cpp The encoder HAL abstracts: - Stream pack data pointer differences (virAddr+offset vs pack[i].virAddr) - NAL type field name differences (nalType vs dataType) This completes the HAL abstraction - all platform-specific code is now centralized in the HAL layer.
  • b0f329b prudynt-t: Update to ede39f4 - complete HAL capabilities system Final update with working platform capabilities system: - Fixed g_caps field order to match PlatformCaps struct - Added missing caps() function implementation - All platform-specific #ifdef checks now replaced with caps() checks - Successfully builds for T40 platform The HAL now provides a clean, centralized way to handle platform differences across all Ingenic SoCs (T10/T20/T21/T23/T30/T31/C100/T40/T41). Tested: wyze_cam3pro_nor_t40xp_gc4653_rtl8192fs builds successfully
  • c5ba85d prudynt-t: Update to latest t40-hal-support with platform capabilities Update to commit cf4ced5 which adds comprehensive platform capability system to replace scattered #ifdef checks throughout the codebase. Changes in this update: - Extended PlatformCaps struct with audio, ISP, OSD, and system capabilities - All platform-specific code now uses caps().has_feature checks - Added compile-time guards for platform-specific ISP functions - Centralized all platform differences in imp_hal.cpp Note: Build currently has field order issue in g_caps initialization that needs to be fixed in next commit.
  • ceb3fed prudynt-t: Add T40/T41 support via HAL abstraction Switch to t40-hal-support branch which implements proper hardware abstraction layer for ISP tuning functions. Changes: - Add hal::isp namespace with platform-abstracted ISP functions - Handle T40/T41...
Read more

firmware-2025-11-10

10 Nov 08:39

Choose a tag to compare

Changes in this release:

  • 4fbb976 updated lightnvr build requirements
  • 5657408 cleanup: drop editorconfig. use formatters and linters instead
  • d0f8976 cleanup: sensor select makefile never fruited and the idea is meh
  • 2e2c647 remove yandex disk
  • 543b115 cleanup: remove retired modules
  • 5ddc7d7 buildroot: bump
  • 837846e timelapse: refactor to json config
  • 59e03da package/thingino-onvif: update to 44296ba Update thingino-onvif from 74f99a6 to 44296ba Hash change: 74f99a6abd97db472c5c961f1b03dacb40130cc4 -> 44296bad9a1146b343cf75938c413120d6089eb1 Changelog: 25829c3: handle diagonal motion in a single move 44296ba: add test utils and artifacts
  • f9127b8 package/thingino-ffmpeg: update to d01608e Update thingino-ffmpeg from 1120b3d to d01608e Hash change: 1120b3db302165d7ed40df1473e6ae84db61c0f8 -> d01608e0222a04b5743446f200284d486524b355 Changelog: 0b0cb7c: lavf/movenc: improve AVdh atom generation for DNxHD/DNxHR 06b04da: lavf/mxfenc: require pixel format to be set for video streams cfcd996: lavf/mxfenc: remove cdci pixel format specific values from stream context 1cd3f61: lavf/mxfenc: correctly add jpeg2000 subdescriptor reference in cdci, factorize 48c6b8a: lavf/mxfenc: fix return value to int64_t 548bdee: lavf/mxfenc: factorize cdci descriptor functions 7f7335e: lavf/mxfenc: fix muxing for DNxHD/DNxHR 444 7e8ef2d: configure: Add mxpeg->hpeldsp dependency 3115c0c: lavc/aarch64: Fix addp overflow in ff_pred16x16_plane_neon_10 00e4361: avutil/csp: add av_csp_approximate_eotf_gamma() a2b47cc: avcodec/{png,mov}enc: use EOTF gamma approximation for gAMA chunk 20f59bf: fftools/ffmpeg: use enum VideoSyncMethod instead of int c597d8c: avcodec/aacpsdsp: add restrict to function pointers to match declarations 9ad2083: avcodec/pixblockdsp: be consistent about restrict use in ff_{get,diff}_pixels fe425d9: avcodec/cbs*: remove redundant const, it's already in typedef 0cd9992: avcodec/put_bits: add explicit cast to suppress MSVC warning 49cfafe: avcodec/rectangle: use uintptr_t for integer pointer type ddeec52: avcodec/x86/idctdsp: add restrict to match function pointer types 9a9edd8: configure: Remove 3dnow 7b5b299: avutil/x86/cpu: Remove 3dnow flags, macros 3e69541: avutil/tests/audio_fifo: don't print trailing spaces 8d16f85: avutil/tests/fifo: don't print trailing spaces c819e59: avutil/tests/dict: don't print trailing spaces 63bb620: avutil/tests/hash: don't print trailing spaces dd4c524: api-h264-test: indent output df7b6b2: tests/fate/filter-atempo: remove leftover ref file 51762c9: tests/ref/fate/iirfilter: remove leftover ref file c5edd12: tests/ref/fate: remove leftover mapchan ref files 25fe410: tests/fate/api: fix fate-lavf-flv test d77f917: ffbuild/common: silence DEPCXX output 016d767: lavfi: add drawvg video filter. d9853e6: avfilter/Makefile: fix dependency for drawvg test defd5f3: Changelog: fix ordering for drawvg entry f5f72b4: Fix incorrect extraction of Origin 9195af7: proresdec: allocate private memory for hwaccel pictures 987368e: avcodec/prores: adapt hwaccel code for slice-based accelerators 3fd55d9: avcodec/proresdec: save slice width parameter in codec context 98412ed: lavc: add a ProRes Vulkan hwaccel 23df9d4: avcodec/prores: add parser d01608e: avcodec/proresdec: Remove unused hwaccel_last_picture_private
  • 17cb1ef package/prudynt-t: update to e548748 Update prudynt-t from 00b8ef6 to e548748 Hash change: 00b8ef62745f9f357984fe430dc52bac8f2515a5 -> e548748106c38a55de9a566de888e01f285c8bf8 Changelog: e548748: Comprehensive HAL audit fixes and improvements
  • bc117a9 prudynt-t: Fix T20 compilation - add compile-time guards for set_hue Update to commit 00b8ef6 which fixes compilation for T20 platforms. The IMP_ISP_Tuning_SetBcshHue function doesn't exist on T10/T20/T21/T30. Added compile-time guards to prevent compilation errors on platforms that don't have the function. Platforms with hue support: - T23, T31, C100: IMP_ISP_Tuning_SetBcshHue(val) - T40, T41: IMP_ISP_Tuning_SetBcshHue(IMPVI_MAIN, &val) - T10, T20, T21, T30: Function doesn't exist (returns 0)
  • 97bdd9a prudynt-t: Fix T31 compilation errors Update to commit f317949 which fixes compilation for T31 platforms. Fixes: - Added missing imp_hal.hpp include to IMPFramesource.cpp - Added compile-time check for aecChn field in IMPAudio.cpp (field doesn't exist on T31, only on T40/T41) The aecChn field is part of IMPAudioIChnParam struct on T40/T41 but not on T31, so we need a compile-time check in addition to the runtime capability check.
  • cf86e4c prudynt-t: Fix capability initialization nesting Update to commit b3648d2 which fixes the has_framesource_chn_rotate capability initialization. The capability was incorrectly nested inside the OSD capability #else block. Fixed the #endif nesting so it's properly initialized for all platforms. This eliminates the 'missing initializer' compiler warning.
  • 33eccf0 prudynt-t: Abstract ISP sensor management API differences in HAL Update to commit dffe537 which adds HAL wrappers for ISP sensor management. Added hal::isp functions to abstract IMPVI_MAIN parameter differences: - add_sensor() - wraps IMP_ISP_AddSensor - enable_sensor() - wraps IMP_ISP_EnableSensor - disable_sensor() - wraps IMP_ISP_DisableSensor - del_sensor() - wraps IMP_ISP_DelSensor Reduced platform checks in IMPSystem.cpp from 5 to 1.
  • a381959 prudynt-t: Abstract rotation capability instead of platform check Update to commit e20c7dc which adds has_framesource_chn_rotate capability. Instead of checking 'defined(PLATFORM_T31)', the code now checks for the meaningful capability 'has_framesource_chn_rotate'. This makes the code self-documenting and easier to maintain. IMPFramesource.cpp is now 100% clean of platform checks!
  • 391b066 prudynt-t: Simplify nonsensical platform check Update to commit ac49a1c which simplifies a confusing platform check. Changed '#if defined(PLATFORM_T31) && !defined(PLATFORM_C100)' to just '#if defined(PLATFORM_T31)' since only one platform can be defined at a time. The '&& !defined(PLATFORM_C100)' was redundant and confusing.
  • b33b4bb prudynt-t: Replace platform checks with capability checks in JsonAPI Update to commit c907644 which makes JsonAPI.cpp 100% clean of platform checks. All compile-time #ifdef PLATFORM_ checks replaced with runtime hal::caps() capability checks. JSON API endpoints are now dynamically available based on platform capabilities. This completes the JsonAPI HAL migration - no more platform checks!
  • 8eda021 prudynt-t: Consolidate all type compatibility defines in HAL Update to commit 92ac9fd which completes the HAL consolidation: - Removed duplicate type compatibility defines from all files - Centralized all defines in imp_hal.hpp - Updated JPEGWorker to use encoder HAL functions - Added necessary includes to headers Platform check reduction: - Started with 99 PLATFORM_ checks - Reduced to 36 (64% reduction) Remaining checks are acceptable: - Config.hpp: Compile-time defaults - IMPEncoder.cpp: Deep RC configuration - IMPSystem.cpp: Sensor initialization - JPEGWorker.cpp: Wraparound handling - Others: Minor initialization differences All type compatibility and API abstraction now centralized in HAL.
  • 18f7621 prudynt-t: Add encoder HAL and move type compatibility to HAL Update to commit 4f4b8b9 which adds encoder initialization HAL functions and moves type compatibility defines to the HAL header. Changes: - Added encoder initialization helper functions to HAL - Moved IMPEncoderCHNAttr/IMPEncoderCHNStat typedefs to HAL - Removed duplicate typedef from IMPEncoder.cpp The remaining platform checks in IMPEncoder.cpp are deep implementation details for RC configuration and are best left as-is. All major platform-specific code is now abstracted through the HAL.
  • 2dd4a32 prudynt-t: Add encoder HAL to abstract stream pack API differences Update to commit cc92190 which adds hal::encoder namespace to abstract platform-specific differences in video encoder stream pack APIs. Changes: - Added encoder HAL functions to abstract stream pack data access - Removed all platform #ifdef checks from VideoWorker.cpp - Centralized encoder API differences in imp_hal.cpp The encoder HAL abstracts: - Stream pack data pointer differences (virAddr+offset vs pack[i].virAddr) - NAL type field name differences (nalType vs dataType) This completes the HAL abstraction - all platform-specific code is now centralized in the HAL layer.
  • b0f329b prudynt-t: Update to ede39f4 - complete HAL capabilities system Final update with working platform capabilities system: - Fixed g_caps field order to match PlatformCaps struct - Added missing caps() function implementation - All platform-specific #ifdef checks now replaced with caps() checks - Successfully builds for T40 platform The HAL now provides a clean, centralized way to handle platform differences across all Ingenic SoCs (T10/T20/T21/T23/T30/T31/C100/T40/T41). Tested: wyze_cam3pro_nor_t40xp_gc4653_rtl8192fs builds successfully
  • c5ba85d prudynt-t: Update to latest t40-hal-support with platform capabilities Update to commit cf4ced5 which adds comprehensive platform capability system to replace scattered #ifdef checks throughout the codebase. Changes in this update: - Extended PlatformCaps struct with audio, ISP, OSD, and system capabilities - All platform-specific code now uses caps().has_feature checks - Added compile-time guards for platform-specific ISP functions - Centralized all platform differences in imp_hal.cpp Note: Build currently has field order issue in g_caps initialization that needs to be fixed in next commit.
  • ceb3fed prudynt-t: Add T40/T41 support via HAL abstraction Switch to t40-hal-support branch which implements proper hardware abstraction layer for ISP tuning functions. Changes: - Add hal::isp namespace with platform-abstracted ISP functions - Handle T40/T41 API differences (IMPVI_NUM, pointer paramet...
Read more

firmware-2025-11-09

09 Nov 08:35
f4b6e0f

Choose a tag to compare

Changes in this release:

  • 4fbb976 updated lightnvr build requirements
  • 5657408 cleanup: drop editorconfig. use formatters and linters instead
  • d0f8976 cleanup: sensor select makefile never fruited and the idea is meh
  • 2e2c647 remove yandex disk
  • 543b115 cleanup: remove retired modules
  • 5ddc7d7 buildroot: bump
  • 837846e timelapse: refactor to json config
  • 59e03da package/thingino-onvif: update to 44296ba Update thingino-onvif from 74f99a6 to 44296ba Hash change: 74f99a6abd97db472c5c961f1b03dacb40130cc4 -> 44296bad9a1146b343cf75938c413120d6089eb1 Changelog: 25829c3: handle diagonal motion in a single move 44296ba: add test utils and artifacts
  • f9127b8 package/thingino-ffmpeg: update to d01608e Update thingino-ffmpeg from 1120b3d to d01608e Hash change: 1120b3db302165d7ed40df1473e6ae84db61c0f8 -> d01608e0222a04b5743446f200284d486524b355 Changelog: 0b0cb7c: lavf/movenc: improve AVdh atom generation for DNxHD/DNxHR 06b04da: lavf/mxfenc: require pixel format to be set for video streams cfcd996: lavf/mxfenc: remove cdci pixel format specific values from stream context 1cd3f61: lavf/mxfenc: correctly add jpeg2000 subdescriptor reference in cdci, factorize 48c6b8a: lavf/mxfenc: fix return value to int64_t 548bdee: lavf/mxfenc: factorize cdci descriptor functions 7f7335e: lavf/mxfenc: fix muxing for DNxHD/DNxHR 444 7e8ef2d: configure: Add mxpeg->hpeldsp dependency 3115c0c: lavc/aarch64: Fix addp overflow in ff_pred16x16_plane_neon_10 00e4361: avutil/csp: add av_csp_approximate_eotf_gamma() a2b47cc: avcodec/{png,mov}enc: use EOTF gamma approximation for gAMA chunk 20f59bf: fftools/ffmpeg: use enum VideoSyncMethod instead of int c597d8c: avcodec/aacpsdsp: add restrict to function pointers to match declarations 9ad2083: avcodec/pixblockdsp: be consistent about restrict use in ff_{get,diff}_pixels fe425d9: avcodec/cbs*: remove redundant const, it's already in typedef 0cd9992: avcodec/put_bits: add explicit cast to suppress MSVC warning 49cfafe: avcodec/rectangle: use uintptr_t for integer pointer type ddeec52: avcodec/x86/idctdsp: add restrict to match function pointer types 9a9edd8: configure: Remove 3dnow 7b5b299: avutil/x86/cpu: Remove 3dnow flags, macros 3e69541: avutil/tests/audio_fifo: don't print trailing spaces 8d16f85: avutil/tests/fifo: don't print trailing spaces c819e59: avutil/tests/dict: don't print trailing spaces 63bb620: avutil/tests/hash: don't print trailing spaces dd4c524: api-h264-test: indent output df7b6b2: tests/fate/filter-atempo: remove leftover ref file 51762c9: tests/ref/fate/iirfilter: remove leftover ref file c5edd12: tests/ref/fate: remove leftover mapchan ref files 25fe410: tests/fate/api: fix fate-lavf-flv test d77f917: ffbuild/common: silence DEPCXX output 016d767: lavfi: add drawvg video filter. d9853e6: avfilter/Makefile: fix dependency for drawvg test defd5f3: Changelog: fix ordering for drawvg entry f5f72b4: Fix incorrect extraction of Origin 9195af7: proresdec: allocate private memory for hwaccel pictures 987368e: avcodec/prores: adapt hwaccel code for slice-based accelerators 3fd55d9: avcodec/proresdec: save slice width parameter in codec context 98412ed: lavc: add a ProRes Vulkan hwaccel 23df9d4: avcodec/prores: add parser d01608e: avcodec/proresdec: Remove unused hwaccel_last_picture_private
  • 17cb1ef package/prudynt-t: update to e548748 Update prudynt-t from 00b8ef6 to e548748 Hash change: 00b8ef62745f9f357984fe430dc52bac8f2515a5 -> e548748106c38a55de9a566de888e01f285c8bf8 Changelog: e548748: Comprehensive HAL audit fixes and improvements
  • bc117a9 prudynt-t: Fix T20 compilation - add compile-time guards for set_hue Update to commit 00b8ef6 which fixes compilation for T20 platforms. The IMP_ISP_Tuning_SetBcshHue function doesn't exist on T10/T20/T21/T30. Added compile-time guards to prevent compilation errors on platforms that don't have the function. Platforms with hue support: - T23, T31, C100: IMP_ISP_Tuning_SetBcshHue(val) - T40, T41: IMP_ISP_Tuning_SetBcshHue(IMPVI_MAIN, &val) - T10, T20, T21, T30: Function doesn't exist (returns 0)
  • 97bdd9a prudynt-t: Fix T31 compilation errors Update to commit f317949 which fixes compilation for T31 platforms. Fixes: - Added missing imp_hal.hpp include to IMPFramesource.cpp - Added compile-time check for aecChn field in IMPAudio.cpp (field doesn't exist on T31, only on T40/T41) The aecChn field is part of IMPAudioIChnParam struct on T40/T41 but not on T31, so we need a compile-time check in addition to the runtime capability check.
  • cf86e4c prudynt-t: Fix capability initialization nesting Update to commit b3648d2 which fixes the has_framesource_chn_rotate capability initialization. The capability was incorrectly nested inside the OSD capability #else block. Fixed the #endif nesting so it's properly initialized for all platforms. This eliminates the 'missing initializer' compiler warning.
  • 33eccf0 prudynt-t: Abstract ISP sensor management API differences in HAL Update to commit dffe537 which adds HAL wrappers for ISP sensor management. Added hal::isp functions to abstract IMPVI_MAIN parameter differences: - add_sensor() - wraps IMP_ISP_AddSensor - enable_sensor() - wraps IMP_ISP_EnableSensor - disable_sensor() - wraps IMP_ISP_DisableSensor - del_sensor() - wraps IMP_ISP_DelSensor Reduced platform checks in IMPSystem.cpp from 5 to 1.
  • a381959 prudynt-t: Abstract rotation capability instead of platform check Update to commit e20c7dc which adds has_framesource_chn_rotate capability. Instead of checking 'defined(PLATFORM_T31)', the code now checks for the meaningful capability 'has_framesource_chn_rotate'. This makes the code self-documenting and easier to maintain. IMPFramesource.cpp is now 100% clean of platform checks!
  • 391b066 prudynt-t: Simplify nonsensical platform check Update to commit ac49a1c which simplifies a confusing platform check. Changed '#if defined(PLATFORM_T31) && !defined(PLATFORM_C100)' to just '#if defined(PLATFORM_T31)' since only one platform can be defined at a time. The '&& !defined(PLATFORM_C100)' was redundant and confusing.
  • b33b4bb prudynt-t: Replace platform checks with capability checks in JsonAPI Update to commit c907644 which makes JsonAPI.cpp 100% clean of platform checks. All compile-time #ifdef PLATFORM_ checks replaced with runtime hal::caps() capability checks. JSON API endpoints are now dynamically available based on platform capabilities. This completes the JsonAPI HAL migration - no more platform checks!
  • 8eda021 prudynt-t: Consolidate all type compatibility defines in HAL Update to commit 92ac9fd which completes the HAL consolidation: - Removed duplicate type compatibility defines from all files - Centralized all defines in imp_hal.hpp - Updated JPEGWorker to use encoder HAL functions - Added necessary includes to headers Platform check reduction: - Started with 99 PLATFORM_ checks - Reduced to 36 (64% reduction) Remaining checks are acceptable: - Config.hpp: Compile-time defaults - IMPEncoder.cpp: Deep RC configuration - IMPSystem.cpp: Sensor initialization - JPEGWorker.cpp: Wraparound handling - Others: Minor initialization differences All type compatibility and API abstraction now centralized in HAL.
  • 18f7621 prudynt-t: Add encoder HAL and move type compatibility to HAL Update to commit 4f4b8b9 which adds encoder initialization HAL functions and moves type compatibility defines to the HAL header. Changes: - Added encoder initialization helper functions to HAL - Moved IMPEncoderCHNAttr/IMPEncoderCHNStat typedefs to HAL - Removed duplicate typedef from IMPEncoder.cpp The remaining platform checks in IMPEncoder.cpp are deep implementation details for RC configuration and are best left as-is. All major platform-specific code is now abstracted through the HAL.
  • 2dd4a32 prudynt-t: Add encoder HAL to abstract stream pack API differences Update to commit cc92190 which adds hal::encoder namespace to abstract platform-specific differences in video encoder stream pack APIs. Changes: - Added encoder HAL functions to abstract stream pack data access - Removed all platform #ifdef checks from VideoWorker.cpp - Centralized encoder API differences in imp_hal.cpp The encoder HAL abstracts: - Stream pack data pointer differences (virAddr+offset vs pack[i].virAddr) - NAL type field name differences (nalType vs dataType) This completes the HAL abstraction - all platform-specific code is now centralized in the HAL layer.
  • b0f329b prudynt-t: Update to ede39f4 - complete HAL capabilities system Final update with working platform capabilities system: - Fixed g_caps field order to match PlatformCaps struct - Added missing caps() function implementation - All platform-specific #ifdef checks now replaced with caps() checks - Successfully builds for T40 platform The HAL now provides a clean, centralized way to handle platform differences across all Ingenic SoCs (T10/T20/T21/T23/T30/T31/C100/T40/T41). Tested: wyze_cam3pro_nor_t40xp_gc4653_rtl8192fs builds successfully
  • c5ba85d prudynt-t: Update to latest t40-hal-support with platform capabilities Update to commit cf4ced5 which adds comprehensive platform capability system to replace scattered #ifdef checks throughout the codebase. Changes in this update: - Extended PlatformCaps struct with audio, ISP, OSD, and system capabilities - All platform-specific code now uses caps().has_feature checks - Added compile-time guards for platform-specific ISP functions - Centralized all platform differences in imp_hal.cpp Note: Build currently has field order issue in g_caps initialization that needs to be fixed in next commit.
  • ceb3fed prudynt-t: Add T40/T41 support via HAL abstraction Switch to t40-hal-support branch which implements proper hardware abstraction layer for ISP tuning functions. Changes: - Add hal::isp namespace with platform-abstracted ISP functions - Handle T40/T41 API differences (IMPVI_NUM, pointer paramet...
Read more

firmware-2025-11-04

04 Nov 08:39
fb58d3b

Choose a tag to compare

Changes in this release:

  • 4fbb976 updated lightnvr build requirements
  • 5657408 cleanup: drop editorconfig. use formatters and linters instead
  • d0f8976 cleanup: sensor select makefile never fruited and the idea is meh
  • 2e2c647 remove yandex disk
  • 543b115 cleanup: remove retired modules
  • 5ddc7d7 buildroot: bump
  • 837846e timelapse: refactor to json config
  • 59e03da package/thingino-onvif: update to 44296ba Update thingino-onvif from 74f99a6 to 44296ba Hash change: 74f99a6abd97db472c5c961f1b03dacb40130cc4 -> 44296bad9a1146b343cf75938c413120d6089eb1 Changelog: 25829c3: handle diagonal motion in a single move 44296ba: add test utils and artifacts
  • f9127b8 package/thingino-ffmpeg: update to d01608e Update thingino-ffmpeg from 1120b3d to d01608e Hash change: 1120b3db302165d7ed40df1473e6ae84db61c0f8 -> d01608e0222a04b5743446f200284d486524b355 Changelog: 0b0cb7c: lavf/movenc: improve AVdh atom generation for DNxHD/DNxHR 06b04da: lavf/mxfenc: require pixel format to be set for video streams cfcd996: lavf/mxfenc: remove cdci pixel format specific values from stream context 1cd3f61: lavf/mxfenc: correctly add jpeg2000 subdescriptor reference in cdci, factorize 48c6b8a: lavf/mxfenc: fix return value to int64_t 548bdee: lavf/mxfenc: factorize cdci descriptor functions 7f7335e: lavf/mxfenc: fix muxing for DNxHD/DNxHR 444 7e8ef2d: configure: Add mxpeg->hpeldsp dependency 3115c0c: lavc/aarch64: Fix addp overflow in ff_pred16x16_plane_neon_10 00e4361: avutil/csp: add av_csp_approximate_eotf_gamma() a2b47cc: avcodec/{png,mov}enc: use EOTF gamma approximation for gAMA chunk 20f59bf: fftools/ffmpeg: use enum VideoSyncMethod instead of int c597d8c: avcodec/aacpsdsp: add restrict to function pointers to match declarations 9ad2083: avcodec/pixblockdsp: be consistent about restrict use in ff_{get,diff}_pixels fe425d9: avcodec/cbs*: remove redundant const, it's already in typedef 0cd9992: avcodec/put_bits: add explicit cast to suppress MSVC warning 49cfafe: avcodec/rectangle: use uintptr_t for integer pointer type ddeec52: avcodec/x86/idctdsp: add restrict to match function pointer types 9a9edd8: configure: Remove 3dnow 7b5b299: avutil/x86/cpu: Remove 3dnow flags, macros 3e69541: avutil/tests/audio_fifo: don't print trailing spaces 8d16f85: avutil/tests/fifo: don't print trailing spaces c819e59: avutil/tests/dict: don't print trailing spaces 63bb620: avutil/tests/hash: don't print trailing spaces dd4c524: api-h264-test: indent output df7b6b2: tests/fate/filter-atempo: remove leftover ref file 51762c9: tests/ref/fate/iirfilter: remove leftover ref file c5edd12: tests/ref/fate: remove leftover mapchan ref files 25fe410: tests/fate/api: fix fate-lavf-flv test d77f917: ffbuild/common: silence DEPCXX output 016d767: lavfi: add drawvg video filter. d9853e6: avfilter/Makefile: fix dependency for drawvg test defd5f3: Changelog: fix ordering for drawvg entry f5f72b4: Fix incorrect extraction of Origin 9195af7: proresdec: allocate private memory for hwaccel pictures 987368e: avcodec/prores: adapt hwaccel code for slice-based accelerators 3fd55d9: avcodec/proresdec: save slice width parameter in codec context 98412ed: lavc: add a ProRes Vulkan hwaccel 23df9d4: avcodec/prores: add parser d01608e: avcodec/proresdec: Remove unused hwaccel_last_picture_private
  • 17cb1ef package/prudynt-t: update to e548748 Update prudynt-t from 00b8ef6 to e548748 Hash change: 00b8ef62745f9f357984fe430dc52bac8f2515a5 -> e548748106c38a55de9a566de888e01f285c8bf8 Changelog: e548748: Comprehensive HAL audit fixes and improvements
  • bc117a9 prudynt-t: Fix T20 compilation - add compile-time guards for set_hue Update to commit 00b8ef6 which fixes compilation for T20 platforms. The IMP_ISP_Tuning_SetBcshHue function doesn't exist on T10/T20/T21/T30. Added compile-time guards to prevent compilation errors on platforms that don't have the function. Platforms with hue support: - T23, T31, C100: IMP_ISP_Tuning_SetBcshHue(val) - T40, T41: IMP_ISP_Tuning_SetBcshHue(IMPVI_MAIN, &val) - T10, T20, T21, T30: Function doesn't exist (returns 0)
  • 97bdd9a prudynt-t: Fix T31 compilation errors Update to commit f317949 which fixes compilation for T31 platforms. Fixes: - Added missing imp_hal.hpp include to IMPFramesource.cpp - Added compile-time check for aecChn field in IMPAudio.cpp (field doesn't exist on T31, only on T40/T41) The aecChn field is part of IMPAudioIChnParam struct on T40/T41 but not on T31, so we need a compile-time check in addition to the runtime capability check.
  • cf86e4c prudynt-t: Fix capability initialization nesting Update to commit b3648d2 which fixes the has_framesource_chn_rotate capability initialization. The capability was incorrectly nested inside the OSD capability #else block. Fixed the #endif nesting so it's properly initialized for all platforms. This eliminates the 'missing initializer' compiler warning.
  • 33eccf0 prudynt-t: Abstract ISP sensor management API differences in HAL Update to commit dffe537 which adds HAL wrappers for ISP sensor management. Added hal::isp functions to abstract IMPVI_MAIN parameter differences: - add_sensor() - wraps IMP_ISP_AddSensor - enable_sensor() - wraps IMP_ISP_EnableSensor - disable_sensor() - wraps IMP_ISP_DisableSensor - del_sensor() - wraps IMP_ISP_DelSensor Reduced platform checks in IMPSystem.cpp from 5 to 1.
  • a381959 prudynt-t: Abstract rotation capability instead of platform check Update to commit e20c7dc which adds has_framesource_chn_rotate capability. Instead of checking 'defined(PLATFORM_T31)', the code now checks for the meaningful capability 'has_framesource_chn_rotate'. This makes the code self-documenting and easier to maintain. IMPFramesource.cpp is now 100% clean of platform checks!
  • 391b066 prudynt-t: Simplify nonsensical platform check Update to commit ac49a1c which simplifies a confusing platform check. Changed '#if defined(PLATFORM_T31) && !defined(PLATFORM_C100)' to just '#if defined(PLATFORM_T31)' since only one platform can be defined at a time. The '&& !defined(PLATFORM_C100)' was redundant and confusing.
  • b33b4bb prudynt-t: Replace platform checks with capability checks in JsonAPI Update to commit c907644 which makes JsonAPI.cpp 100% clean of platform checks. All compile-time #ifdef PLATFORM_ checks replaced with runtime hal::caps() capability checks. JSON API endpoints are now dynamically available based on platform capabilities. This completes the JsonAPI HAL migration - no more platform checks!
  • 8eda021 prudynt-t: Consolidate all type compatibility defines in HAL Update to commit 92ac9fd which completes the HAL consolidation: - Removed duplicate type compatibility defines from all files - Centralized all defines in imp_hal.hpp - Updated JPEGWorker to use encoder HAL functions - Added necessary includes to headers Platform check reduction: - Started with 99 PLATFORM_ checks - Reduced to 36 (64% reduction) Remaining checks are acceptable: - Config.hpp: Compile-time defaults - IMPEncoder.cpp: Deep RC configuration - IMPSystem.cpp: Sensor initialization - JPEGWorker.cpp: Wraparound handling - Others: Minor initialization differences All type compatibility and API abstraction now centralized in HAL.
  • 18f7621 prudynt-t: Add encoder HAL and move type compatibility to HAL Update to commit 4f4b8b9 which adds encoder initialization HAL functions and moves type compatibility defines to the HAL header. Changes: - Added encoder initialization helper functions to HAL - Moved IMPEncoderCHNAttr/IMPEncoderCHNStat typedefs to HAL - Removed duplicate typedef from IMPEncoder.cpp The remaining platform checks in IMPEncoder.cpp are deep implementation details for RC configuration and are best left as-is. All major platform-specific code is now abstracted through the HAL.
  • 2dd4a32 prudynt-t: Add encoder HAL to abstract stream pack API differences Update to commit cc92190 which adds hal::encoder namespace to abstract platform-specific differences in video encoder stream pack APIs. Changes: - Added encoder HAL functions to abstract stream pack data access - Removed all platform #ifdef checks from VideoWorker.cpp - Centralized encoder API differences in imp_hal.cpp The encoder HAL abstracts: - Stream pack data pointer differences (virAddr+offset vs pack[i].virAddr) - NAL type field name differences (nalType vs dataType) This completes the HAL abstraction - all platform-specific code is now centralized in the HAL layer.
  • b0f329b prudynt-t: Update to ede39f4 - complete HAL capabilities system Final update with working platform capabilities system: - Fixed g_caps field order to match PlatformCaps struct - Added missing caps() function implementation - All platform-specific #ifdef checks now replaced with caps() checks - Successfully builds for T40 platform The HAL now provides a clean, centralized way to handle platform differences across all Ingenic SoCs (T10/T20/T21/T23/T30/T31/C100/T40/T41). Tested: wyze_cam3pro_nor_t40xp_gc4653_rtl8192fs builds successfully
  • c5ba85d prudynt-t: Update to latest t40-hal-support with platform capabilities Update to commit cf4ced5 which adds comprehensive platform capability system to replace scattered #ifdef checks throughout the codebase. Changes in this update: - Extended PlatformCaps struct with audio, ISP, OSD, and system capabilities - All platform-specific code now uses caps().has_feature checks - Added compile-time guards for platform-specific ISP functions - Centralized all platform differences in imp_hal.cpp Note: Build currently has field order issue in g_caps initialization that needs to be fixed in next commit.
  • ceb3fed prudynt-t: Add T40/T41 support via HAL abstraction Switch to t40-hal-support branch which implements proper hardware abstraction layer for ISP tuning functions. Changes: - Add hal::isp namespace with platform-abstracted ISP functions - Handle T40/T41 API differences (IMPVI_NUM, pointer paramet...
Read more

firmware-2025-11-01

01 Nov 08:36

Choose a tag to compare

Changes in this release:

  • 4fbb976 updated lightnvr build requirements
  • 5657408 cleanup: drop editorconfig. use formatters and linters instead
  • d0f8976 cleanup: sensor select makefile never fruited and the idea is meh
  • 2e2c647 remove yandex disk
  • 543b115 cleanup: remove retired modules
  • 5ddc7d7 buildroot: bump
  • 837846e timelapse: refactor to json config
  • 59e03da package/thingino-onvif: update to 44296ba Update thingino-onvif from 74f99a6 to 44296ba Hash change: 74f99a6abd97db472c5c961f1b03dacb40130cc4 -> 44296bad9a1146b343cf75938c413120d6089eb1 Changelog: 25829c3: handle diagonal motion in a single move 44296ba: add test utils and artifacts
  • f9127b8 package/thingino-ffmpeg: update to d01608e Update thingino-ffmpeg from 1120b3d to d01608e Hash change: 1120b3db302165d7ed40df1473e6ae84db61c0f8 -> d01608e0222a04b5743446f200284d486524b355 Changelog: 0b0cb7c: lavf/movenc: improve AVdh atom generation for DNxHD/DNxHR 06b04da: lavf/mxfenc: require pixel format to be set for video streams cfcd996: lavf/mxfenc: remove cdci pixel format specific values from stream context 1cd3f61: lavf/mxfenc: correctly add jpeg2000 subdescriptor reference in cdci, factorize 48c6b8a: lavf/mxfenc: fix return value to int64_t 548bdee: lavf/mxfenc: factorize cdci descriptor functions 7f7335e: lavf/mxfenc: fix muxing for DNxHD/DNxHR 444 7e8ef2d: configure: Add mxpeg->hpeldsp dependency 3115c0c: lavc/aarch64: Fix addp overflow in ff_pred16x16_plane_neon_10 00e4361: avutil/csp: add av_csp_approximate_eotf_gamma() a2b47cc: avcodec/{png,mov}enc: use EOTF gamma approximation for gAMA chunk 20f59bf: fftools/ffmpeg: use enum VideoSyncMethod instead of int c597d8c: avcodec/aacpsdsp: add restrict to function pointers to match declarations 9ad2083: avcodec/pixblockdsp: be consistent about restrict use in ff_{get,diff}_pixels fe425d9: avcodec/cbs*: remove redundant const, it's already in typedef 0cd9992: avcodec/put_bits: add explicit cast to suppress MSVC warning 49cfafe: avcodec/rectangle: use uintptr_t for integer pointer type ddeec52: avcodec/x86/idctdsp: add restrict to match function pointer types 9a9edd8: configure: Remove 3dnow 7b5b299: avutil/x86/cpu: Remove 3dnow flags, macros 3e69541: avutil/tests/audio_fifo: don't print trailing spaces 8d16f85: avutil/tests/fifo: don't print trailing spaces c819e59: avutil/tests/dict: don't print trailing spaces 63bb620: avutil/tests/hash: don't print trailing spaces dd4c524: api-h264-test: indent output df7b6b2: tests/fate/filter-atempo: remove leftover ref file 51762c9: tests/ref/fate/iirfilter: remove leftover ref file c5edd12: tests/ref/fate: remove leftover mapchan ref files 25fe410: tests/fate/api: fix fate-lavf-flv test d77f917: ffbuild/common: silence DEPCXX output 016d767: lavfi: add drawvg video filter. d9853e6: avfilter/Makefile: fix dependency for drawvg test defd5f3: Changelog: fix ordering for drawvg entry f5f72b4: Fix incorrect extraction of Origin 9195af7: proresdec: allocate private memory for hwaccel pictures 987368e: avcodec/prores: adapt hwaccel code for slice-based accelerators 3fd55d9: avcodec/proresdec: save slice width parameter in codec context 98412ed: lavc: add a ProRes Vulkan hwaccel 23df9d4: avcodec/prores: add parser d01608e: avcodec/proresdec: Remove unused hwaccel_last_picture_private
  • 17cb1ef package/prudynt-t: update to e548748 Update prudynt-t from 00b8ef6 to e548748 Hash change: 00b8ef62745f9f357984fe430dc52bac8f2515a5 -> e548748106c38a55de9a566de888e01f285c8bf8 Changelog: e548748: Comprehensive HAL audit fixes and improvements
  • bc117a9 prudynt-t: Fix T20 compilation - add compile-time guards for set_hue Update to commit 00b8ef6 which fixes compilation for T20 platforms. The IMP_ISP_Tuning_SetBcshHue function doesn't exist on T10/T20/T21/T30. Added compile-time guards to prevent compilation errors on platforms that don't have the function. Platforms with hue support: - T23, T31, C100: IMP_ISP_Tuning_SetBcshHue(val) - T40, T41: IMP_ISP_Tuning_SetBcshHue(IMPVI_MAIN, &val) - T10, T20, T21, T30: Function doesn't exist (returns 0)
  • 97bdd9a prudynt-t: Fix T31 compilation errors Update to commit f317949 which fixes compilation for T31 platforms. Fixes: - Added missing imp_hal.hpp include to IMPFramesource.cpp - Added compile-time check for aecChn field in IMPAudio.cpp (field doesn't exist on T31, only on T40/T41) The aecChn field is part of IMPAudioIChnParam struct on T40/T41 but not on T31, so we need a compile-time check in addition to the runtime capability check.
  • cf86e4c prudynt-t: Fix capability initialization nesting Update to commit b3648d2 which fixes the has_framesource_chn_rotate capability initialization. The capability was incorrectly nested inside the OSD capability #else block. Fixed the #endif nesting so it's properly initialized for all platforms. This eliminates the 'missing initializer' compiler warning.
  • 33eccf0 prudynt-t: Abstract ISP sensor management API differences in HAL Update to commit dffe537 which adds HAL wrappers for ISP sensor management. Added hal::isp functions to abstract IMPVI_MAIN parameter differences: - add_sensor() - wraps IMP_ISP_AddSensor - enable_sensor() - wraps IMP_ISP_EnableSensor - disable_sensor() - wraps IMP_ISP_DisableSensor - del_sensor() - wraps IMP_ISP_DelSensor Reduced platform checks in IMPSystem.cpp from 5 to 1.
  • a381959 prudynt-t: Abstract rotation capability instead of platform check Update to commit e20c7dc which adds has_framesource_chn_rotate capability. Instead of checking 'defined(PLATFORM_T31)', the code now checks for the meaningful capability 'has_framesource_chn_rotate'. This makes the code self-documenting and easier to maintain. IMPFramesource.cpp is now 100% clean of platform checks!
  • 391b066 prudynt-t: Simplify nonsensical platform check Update to commit ac49a1c which simplifies a confusing platform check. Changed '#if defined(PLATFORM_T31) && !defined(PLATFORM_C100)' to just '#if defined(PLATFORM_T31)' since only one platform can be defined at a time. The '&& !defined(PLATFORM_C100)' was redundant and confusing.
  • b33b4bb prudynt-t: Replace platform checks with capability checks in JsonAPI Update to commit c907644 which makes JsonAPI.cpp 100% clean of platform checks. All compile-time #ifdef PLATFORM_ checks replaced with runtime hal::caps() capability checks. JSON API endpoints are now dynamically available based on platform capabilities. This completes the JsonAPI HAL migration - no more platform checks!
  • 8eda021 prudynt-t: Consolidate all type compatibility defines in HAL Update to commit 92ac9fd which completes the HAL consolidation: - Removed duplicate type compatibility defines from all files - Centralized all defines in imp_hal.hpp - Updated JPEGWorker to use encoder HAL functions - Added necessary includes to headers Platform check reduction: - Started with 99 PLATFORM_ checks - Reduced to 36 (64% reduction) Remaining checks are acceptable: - Config.hpp: Compile-time defaults - IMPEncoder.cpp: Deep RC configuration - IMPSystem.cpp: Sensor initialization - JPEGWorker.cpp: Wraparound handling - Others: Minor initialization differences All type compatibility and API abstraction now centralized in HAL.
  • 18f7621 prudynt-t: Add encoder HAL and move type compatibility to HAL Update to commit 4f4b8b9 which adds encoder initialization HAL functions and moves type compatibility defines to the HAL header. Changes: - Added encoder initialization helper functions to HAL - Moved IMPEncoderCHNAttr/IMPEncoderCHNStat typedefs to HAL - Removed duplicate typedef from IMPEncoder.cpp The remaining platform checks in IMPEncoder.cpp are deep implementation details for RC configuration and are best left as-is. All major platform-specific code is now abstracted through the HAL.
  • 2dd4a32 prudynt-t: Add encoder HAL to abstract stream pack API differences Update to commit cc92190 which adds hal::encoder namespace to abstract platform-specific differences in video encoder stream pack APIs. Changes: - Added encoder HAL functions to abstract stream pack data access - Removed all platform #ifdef checks from VideoWorker.cpp - Centralized encoder API differences in imp_hal.cpp The encoder HAL abstracts: - Stream pack data pointer differences (virAddr+offset vs pack[i].virAddr) - NAL type field name differences (nalType vs dataType) This completes the HAL abstraction - all platform-specific code is now centralized in the HAL layer.
  • b0f329b prudynt-t: Update to ede39f4 - complete HAL capabilities system Final update with working platform capabilities system: - Fixed g_caps field order to match PlatformCaps struct - Added missing caps() function implementation - All platform-specific #ifdef checks now replaced with caps() checks - Successfully builds for T40 platform The HAL now provides a clean, centralized way to handle platform differences across all Ingenic SoCs (T10/T20/T21/T23/T30/T31/C100/T40/T41). Tested: wyze_cam3pro_nor_t40xp_gc4653_rtl8192fs builds successfully
  • c5ba85d prudynt-t: Update to latest t40-hal-support with platform capabilities Update to commit cf4ced5 which adds comprehensive platform capability system to replace scattered #ifdef checks throughout the codebase. Changes in this update: - Extended PlatformCaps struct with audio, ISP, OSD, and system capabilities - All platform-specific code now uses caps().has_feature checks - Added compile-time guards for platform-specific ISP functions - Centralized all platform differences in imp_hal.cpp Note: Build currently has field order issue in g_caps initialization that needs to be fixed in next commit.
  • ceb3fed prudynt-t: Add T40/T41 support via HAL abstraction Switch to t40-hal-support branch which implements proper hardware abstraction layer for ISP tuning functions. Changes: - Add hal::isp namespace with platform-abstracted ISP functions - Handle T40/T41 API differences (IMPVI_NUM, pointer paramet...
Read more

firmware-2025-10-31

31 Oct 08:37
16adbab

Choose a tag to compare

Changes in this release:

  • 4fbb976 updated lightnvr build requirements
  • 5657408 cleanup: drop editorconfig. use formatters and linters instead
  • d0f8976 cleanup: sensor select makefile never fruited and the idea is meh
  • 2e2c647 remove yandex disk
  • 543b115 cleanup: remove retired modules
  • 5ddc7d7 buildroot: bump
  • 837846e timelapse: refactor to json config
  • 59e03da package/thingino-onvif: update to 44296ba Update thingino-onvif from 74f99a6 to 44296ba Hash change: 74f99a6abd97db472c5c961f1b03dacb40130cc4 -> 44296bad9a1146b343cf75938c413120d6089eb1 Changelog: 25829c3: handle diagonal motion in a single move 44296ba: add test utils and artifacts
  • f9127b8 package/thingino-ffmpeg: update to d01608e Update thingino-ffmpeg from 1120b3d to d01608e Hash change: 1120b3db302165d7ed40df1473e6ae84db61c0f8 -> d01608e0222a04b5743446f200284d486524b355 Changelog: 0b0cb7c: lavf/movenc: improve AVdh atom generation for DNxHD/DNxHR 06b04da: lavf/mxfenc: require pixel format to be set for video streams cfcd996: lavf/mxfenc: remove cdci pixel format specific values from stream context 1cd3f61: lavf/mxfenc: correctly add jpeg2000 subdescriptor reference in cdci, factorize 48c6b8a: lavf/mxfenc: fix return value to int64_t 548bdee: lavf/mxfenc: factorize cdci descriptor functions 7f7335e: lavf/mxfenc: fix muxing for DNxHD/DNxHR 444 7e8ef2d: configure: Add mxpeg->hpeldsp dependency 3115c0c: lavc/aarch64: Fix addp overflow in ff_pred16x16_plane_neon_10 00e4361: avutil/csp: add av_csp_approximate_eotf_gamma() a2b47cc: avcodec/{png,mov}enc: use EOTF gamma approximation for gAMA chunk 20f59bf: fftools/ffmpeg: use enum VideoSyncMethod instead of int c597d8c: avcodec/aacpsdsp: add restrict to function pointers to match declarations 9ad2083: avcodec/pixblockdsp: be consistent about restrict use in ff_{get,diff}_pixels fe425d9: avcodec/cbs*: remove redundant const, it's already in typedef 0cd9992: avcodec/put_bits: add explicit cast to suppress MSVC warning 49cfafe: avcodec/rectangle: use uintptr_t for integer pointer type ddeec52: avcodec/x86/idctdsp: add restrict to match function pointer types 9a9edd8: configure: Remove 3dnow 7b5b299: avutil/x86/cpu: Remove 3dnow flags, macros 3e69541: avutil/tests/audio_fifo: don't print trailing spaces 8d16f85: avutil/tests/fifo: don't print trailing spaces c819e59: avutil/tests/dict: don't print trailing spaces 63bb620: avutil/tests/hash: don't print trailing spaces dd4c524: api-h264-test: indent output df7b6b2: tests/fate/filter-atempo: remove leftover ref file 51762c9: tests/ref/fate/iirfilter: remove leftover ref file c5edd12: tests/ref/fate: remove leftover mapchan ref files 25fe410: tests/fate/api: fix fate-lavf-flv test d77f917: ffbuild/common: silence DEPCXX output 016d767: lavfi: add drawvg video filter. d9853e6: avfilter/Makefile: fix dependency for drawvg test defd5f3: Changelog: fix ordering for drawvg entry f5f72b4: Fix incorrect extraction of Origin 9195af7: proresdec: allocate private memory for hwaccel pictures 987368e: avcodec/prores: adapt hwaccel code for slice-based accelerators 3fd55d9: avcodec/proresdec: save slice width parameter in codec context 98412ed: lavc: add a ProRes Vulkan hwaccel 23df9d4: avcodec/prores: add parser d01608e: avcodec/proresdec: Remove unused hwaccel_last_picture_private
  • 17cb1ef package/prudynt-t: update to e548748 Update prudynt-t from 00b8ef6 to e548748 Hash change: 00b8ef62745f9f357984fe430dc52bac8f2515a5 -> e548748106c38a55de9a566de888e01f285c8bf8 Changelog: e548748: Comprehensive HAL audit fixes and improvements
  • bc117a9 prudynt-t: Fix T20 compilation - add compile-time guards for set_hue Update to commit 00b8ef6 which fixes compilation for T20 platforms. The IMP_ISP_Tuning_SetBcshHue function doesn't exist on T10/T20/T21/T30. Added compile-time guards to prevent compilation errors on platforms that don't have the function. Platforms with hue support: - T23, T31, C100: IMP_ISP_Tuning_SetBcshHue(val) - T40, T41: IMP_ISP_Tuning_SetBcshHue(IMPVI_MAIN, &val) - T10, T20, T21, T30: Function doesn't exist (returns 0)
  • 97bdd9a prudynt-t: Fix T31 compilation errors Update to commit f317949 which fixes compilation for T31 platforms. Fixes: - Added missing imp_hal.hpp include to IMPFramesource.cpp - Added compile-time check for aecChn field in IMPAudio.cpp (field doesn't exist on T31, only on T40/T41) The aecChn field is part of IMPAudioIChnParam struct on T40/T41 but not on T31, so we need a compile-time check in addition to the runtime capability check.
  • cf86e4c prudynt-t: Fix capability initialization nesting Update to commit b3648d2 which fixes the has_framesource_chn_rotate capability initialization. The capability was incorrectly nested inside the OSD capability #else block. Fixed the #endif nesting so it's properly initialized for all platforms. This eliminates the 'missing initializer' compiler warning.
  • 33eccf0 prudynt-t: Abstract ISP sensor management API differences in HAL Update to commit dffe537 which adds HAL wrappers for ISP sensor management. Added hal::isp functions to abstract IMPVI_MAIN parameter differences: - add_sensor() - wraps IMP_ISP_AddSensor - enable_sensor() - wraps IMP_ISP_EnableSensor - disable_sensor() - wraps IMP_ISP_DisableSensor - del_sensor() - wraps IMP_ISP_DelSensor Reduced platform checks in IMPSystem.cpp from 5 to 1.
  • a381959 prudynt-t: Abstract rotation capability instead of platform check Update to commit e20c7dc which adds has_framesource_chn_rotate capability. Instead of checking 'defined(PLATFORM_T31)', the code now checks for the meaningful capability 'has_framesource_chn_rotate'. This makes the code self-documenting and easier to maintain. IMPFramesource.cpp is now 100% clean of platform checks!
  • 391b066 prudynt-t: Simplify nonsensical platform check Update to commit ac49a1c which simplifies a confusing platform check. Changed '#if defined(PLATFORM_T31) && !defined(PLATFORM_C100)' to just '#if defined(PLATFORM_T31)' since only one platform can be defined at a time. The '&& !defined(PLATFORM_C100)' was redundant and confusing.
  • b33b4bb prudynt-t: Replace platform checks with capability checks in JsonAPI Update to commit c907644 which makes JsonAPI.cpp 100% clean of platform checks. All compile-time #ifdef PLATFORM_ checks replaced with runtime hal::caps() capability checks. JSON API endpoints are now dynamically available based on platform capabilities. This completes the JsonAPI HAL migration - no more platform checks!
  • 8eda021 prudynt-t: Consolidate all type compatibility defines in HAL Update to commit 92ac9fd which completes the HAL consolidation: - Removed duplicate type compatibility defines from all files - Centralized all defines in imp_hal.hpp - Updated JPEGWorker to use encoder HAL functions - Added necessary includes to headers Platform check reduction: - Started with 99 PLATFORM_ checks - Reduced to 36 (64% reduction) Remaining checks are acceptable: - Config.hpp: Compile-time defaults - IMPEncoder.cpp: Deep RC configuration - IMPSystem.cpp: Sensor initialization - JPEGWorker.cpp: Wraparound handling - Others: Minor initialization differences All type compatibility and API abstraction now centralized in HAL.
  • 18f7621 prudynt-t: Add encoder HAL and move type compatibility to HAL Update to commit 4f4b8b9 which adds encoder initialization HAL functions and moves type compatibility defines to the HAL header. Changes: - Added encoder initialization helper functions to HAL - Moved IMPEncoderCHNAttr/IMPEncoderCHNStat typedefs to HAL - Removed duplicate typedef from IMPEncoder.cpp The remaining platform checks in IMPEncoder.cpp are deep implementation details for RC configuration and are best left as-is. All major platform-specific code is now abstracted through the HAL.
  • 2dd4a32 prudynt-t: Add encoder HAL to abstract stream pack API differences Update to commit cc92190 which adds hal::encoder namespace to abstract platform-specific differences in video encoder stream pack APIs. Changes: - Added encoder HAL functions to abstract stream pack data access - Removed all platform #ifdef checks from VideoWorker.cpp - Centralized encoder API differences in imp_hal.cpp The encoder HAL abstracts: - Stream pack data pointer differences (virAddr+offset vs pack[i].virAddr) - NAL type field name differences (nalType vs dataType) This completes the HAL abstraction - all platform-specific code is now centralized in the HAL layer.
  • b0f329b prudynt-t: Update to ede39f4 - complete HAL capabilities system Final update with working platform capabilities system: - Fixed g_caps field order to match PlatformCaps struct - Added missing caps() function implementation - All platform-specific #ifdef checks now replaced with caps() checks - Successfully builds for T40 platform The HAL now provides a clean, centralized way to handle platform differences across all Ingenic SoCs (T10/T20/T21/T23/T30/T31/C100/T40/T41). Tested: wyze_cam3pro_nor_t40xp_gc4653_rtl8192fs builds successfully
  • c5ba85d prudynt-t: Update to latest t40-hal-support with platform capabilities Update to commit cf4ced5 which adds comprehensive platform capability system to replace scattered #ifdef checks throughout the codebase. Changes in this update: - Extended PlatformCaps struct with audio, ISP, OSD, and system capabilities - All platform-specific code now uses caps().has_feature checks - Added compile-time guards for platform-specific ISP functions - Centralized all platform differences in imp_hal.cpp Note: Build currently has field order issue in g_caps initialization that needs to be fixed in next commit.
  • ceb3fed prudynt-t: Add T40/T41 support via HAL abstraction Switch to t40-hal-support branch which implements proper hardware abstraction layer for ISP tuning functions. Changes: - Add hal::isp namespace with platform-abstracted ISP functions - Handle T40/T41 API differences (IMPVI_NUM, pointer paramet...
Read more