Skip to content

Commit 4270e59

Browse files
Copilotwysaid
andcommitted
Create comprehensive CHANGE.md with complete project history
Co-authored-by: wysaid <1430725+wysaid@users.noreply.github.com>
1 parent 1aa4d47 commit 4270e59

1 file changed

Lines changed: 201 additions & 0 deletions

File tree

CHANGE.md

Lines changed: 201 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,201 @@
1+
# Changelog
2+
3+
All notable changes to the ccap (CameraCapture) project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [Unreleased]
9+
10+
### Added
11+
- Updated C interface API descriptions and complete backend documentation
12+
13+
### Fixed
14+
- Various documentation improvements and clarifications
15+
16+
## [1.2.1] - 2025-08-24
17+
18+
### Added
19+
- Comprehensive error callback system for both C++ and C interfaces
20+
- Global error callback system with improved error handling
21+
- Static assertions for enums between C and C++ interfaces
22+
- Enhanced documentation for error callback system
23+
24+
### Changed
25+
- Optimized error callback implementation
26+
- Removed 'global' keyword from error callback function names
27+
- Updated all examples to use new error callback system
28+
29+
### Fixed
30+
- Improved error handling throughout the library
31+
- Better optimization information printing
32+
33+
## [1.2.0] - 2025-08-14
34+
35+
### Added
36+
- Complete NEON acceleration support for ARM platforms
37+
- YUYV and UYVY format conversion with NEON backend
38+
- Windows ARM64 platform support
39+
- Comprehensive build scripts for cross-platform development
40+
- Enhanced iOS demo with more configuration options
41+
- High frame rate support (60/120 FPS) for Apple devices
42+
- Pure C interface implementation with full API coverage
43+
- Unit testing framework with improved coverage
44+
45+
### Changed
46+
- Complete API optimization with removal of legacy functions
47+
- Optimized `CcapDeviceInfo` structure with fixed-size arrays
48+
- Simplified examples with clearer structure
49+
- Improved workflow configurations and build tasks
50+
- Better code practices and compilation warning fixes
51+
52+
### Fixed
53+
- NEON acceleration bugs and compilation issues
54+
- Cross-platform compatibility issues
55+
- Exception handling improvements
56+
- ARM64 compilation restrictions on latest system versions
57+
- Callback handling errors in C interface
58+
59+
### Performance
60+
- NEON backend performance optimizations
61+
- Better support for high frame rate modes on Apple devices
62+
63+
## [1.1.0] - 2025-08-06
64+
65+
### Added
66+
- Full Linux platform support with Ubuntu and Fedora compatibility
67+
- Linux ARM64 build support and CI/CD pipelines
68+
- AVX2 acceleration for YUYV and UYVY formats on x86_64
69+
- Pure C interface with comprehensive API coverage
70+
- YUYV/UYVY pixel format support
71+
- Zero-copy mode optimizations
72+
- Enhanced unit testing framework
73+
74+
### Changed
75+
- Enhanced compatibility for building on Linux
76+
- Refactored Linux implementation with improved lifecycle management
77+
- Optimized format conversion with fallback mechanisms
78+
- Improved AVX2 backend implementation
79+
- Better logging system for Linux platform
80+
81+
### Fixed
82+
- Format conversion failure handling
83+
- Zero-copy mode issues on Linux
84+
- AVX2 backend bugs and edge cases
85+
- Cross-compilation issues for testing
86+
- Orientation handling on Linux platform
87+
88+
### Performance
89+
- Significant performance improvements with AVX2 acceleration
90+
- Optimized pixel format conversion pipeline
91+
- Better memory management and lifecycle optimization
92+
93+
## [1.0.2] - 2025-07-28
94+
95+
### Fixed
96+
- Critical bug in `__mingw_aligned_malloc` parameter handling
97+
- Compilation errors on MinGW-w64 and MINGW platforms
98+
- Windows build stability improvements
99+
100+
## [1.0.1] - 2025-07-01
101+
102+
### Added
103+
- Linux platform compilation support
104+
- Enhanced installation instructions with more details
105+
106+
### Changed
107+
- Improved CMake configuration for cross-platform builds
108+
- Better artifact generation for Linux pipelines
109+
110+
### Fixed
111+
- Compilation issues on Linux platforms
112+
- CMake configuration errors
113+
114+
## [1.0.0] - 2025-06-14
115+
116+
### Added
117+
- Initial stable release of ccap (CameraCapture) library
118+
- Cross-platform camera capture support (Windows, macOS, iOS)
119+
- Multiple backend support:
120+
- DirectShow and Media Foundation on Windows
121+
- AVFoundation on macOS/iOS
122+
- V4L2 on Linux (preliminary)
123+
- Hardware acceleration support:
124+
- Apple Accelerate (vImage) on macOS/iOS
125+
- AVX2 SIMD acceleration on x86_64
126+
- Pixel format conversion support:
127+
- RGB/BGR color channel shuffling
128+
- YUV to RGB conversion (NV12, I420, YUYV, UYVY)
129+
- Vertical flip operations
130+
- OpenCV integration with `cv::Mat` adapter
131+
- Comprehensive examples and demos:
132+
- Console-based capture examples
133+
- GUI demos with GLFW
134+
- iOS Metal and OpenGL ES demos
135+
- Zero-copy mode for optimal performance
136+
- Flexible camera device enumeration and selection
137+
- CMake-based build system with pkg-config support
138+
139+
### Performance
140+
- SIMD-optimized color conversions outperforming libyuv in many cases
141+
- Efficient memory management with 64-byte aligned allocations
142+
- Hardware-accelerated operations where available
143+
144+
### Documentation
145+
- Comprehensive API documentation
146+
- Cross-platform build instructions
147+
- Example usage and integration guides
148+
- Performance benchmarking results
149+
150+
---
151+
152+
## Development History (2025-04-22 to 2025-06-14)
153+
154+
### Project Initialization (April 2025)
155+
- **2025-04-22**: Repository initialization with basic interface design
156+
- **2025-04-23**: Windows backend architecture completed with DirectShow support
157+
- **2025-04-24**: macOS implementation added with AVFoundation backend
158+
- **2025-04-25**: Initial macOS demo application
159+
- **2025-04-27**: Complete macOS implementation with logging module
160+
- **2025-04-28**: Auto-resolution detection and FPS optimization
161+
162+
### Major Feature Development (May 2025)
163+
- **2025-05-06**: Zero-copy mode implementation and enum optimizations
164+
- **2025-05-17**: Removed third-party dependencies, implemented custom SIMD acceleration
165+
- **2025-05-19**: OpenCV adapter and performance optimizations
166+
- **2025-05-21**: Project structure refactoring and AVX2 conversion fixes
167+
- **2025-05-27**: iOS support implementation with native handle
168+
- **2025-05-28**: Apple Accelerate backend optimization
169+
170+
### Testing and Optimization (June 2025)
171+
- **2025-06-03**: Performance monitoring and optimization tools
172+
- **2025-06-14**: Complete unit testing framework implementation
173+
- **2025-06-14**: CMake installation support and optimized build system
174+
175+
## Migration Notes
176+
177+
### Breaking Changes in 1.2.0
178+
- Legacy API functions have been completely removed
179+
- `CcapDeviceInfo` structure has been optimized with fixed-size arrays
180+
- Error callback system has been redesigned - update your error handling code
181+
182+
### Upgrading from 1.1.x to 1.2.x
183+
- Update error handling to use the new global error callback system
184+
- Replace any usage of deprecated API functions
185+
- Recompile with updated header files for `CcapDeviceInfo` changes
186+
187+
### Platform Support Matrix
188+
| Platform | Version | Architecture | Status |
189+
|----------|---------|--------------|--------|
190+
| Windows | 10+ | x86_64, ARM64 | ✅ Full Support |
191+
| macOS | 10.13+ | x86_64, ARM64 | ✅ Full Support |
192+
| iOS | 11.0+ | ARM64 | ✅ Full Support |
193+
| Linux | Ubuntu 20.04+, Fedora 34+ | x86_64, ARM64 | ✅ Full Support |
194+
195+
### Acceleration Backend Support
196+
| Backend | Platform | Status | Performance |
197+
|---------|----------|--------|-------------|
198+
| Apple Accelerate | macOS, iOS | ✅ Stable | High |
199+
| AVX2 | x86_64 | ✅ Stable | High |
200+
| NEON | ARM64 | ✅ Stable | High |
201+
| CPU Fallback | All | ✅ Stable | Baseline |

0 commit comments

Comments
 (0)