Changes in this release:
- 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 parameters) - Centralize platform-specific code in imp_hal.cpp - Disable unsupported T40 features gracefully Branch: t40-hal-support Commit: 134bc8a6188583c90ffb8139446813523f54fc64 Tested on: wyze_cam3pro_nor_t40xp_gc4653_rtl8192fs
- 2fb1f50 package/thingino-ffmpeg: update to 1120b3d Update thingino-ffmpeg from dc39a57 to 1120b3d Hash change: dc39a576ad8c489bf229c4acdf5c347b1dd264b2 -> 1120b3db302165d7ed40df1473e6ae84db61c0f8 Changelog: 27f5561: movenc: Fix sample clustering for hybrid_fragmented+delay_moov e442128: movenc: Make sure to flush the delayed moov atom for hybrid fragmented 05b8608: avcodec/x86/mpegvideoencdsp_init: Fix left shift of negative number edf5b77: avcodec/vvc: fix false alarm of missing ref on RASL 535d404: ffmpeg: unbreak max_error_rate application 0e8cff5: avformat/whip: add DTLS active role support cb5e201: avformat/whip: cleanup the redundant variable 0eb572f: avcodec/liblc3dec: support sample format negotiation and planar layout. 1120b3d: avcodec/liblc3enc: support packed float (AV_SAMPLE_FMT_FLT) input.
- 0a8ad87 package/libhelix-aac: update to d6184e0 Update libhelix-aac from e2f215c to d6184e0 Hash change: e2f215cea3a2b13419555e9ce4edcd3018a40c4a -> d6184e08977c0f15f1b09eeee119b238ce562383 Changelog: 291cff2: Add block-based I2S write on Pico (#789) 3e099fe: Don't skip CI, my son. 7d99e6b: BREAKING: Re-port MIDI, faster, lower memory, ESP32 support (#790) 11576fe: Update version 5cb3ef5: Fix typo in README 41b96ef: Increase MIDI speed by 20% by saturating at end (#792) 5a0375f: Speed MIDI decode 11%-64% with approximated powf (#793) c075b39: Properly timeout for ESP32 I2S writes (#794) d6184e0: Update version