Commit graph

137 commits

Author SHA1 Message Date
Syping
e62fbacea8 RagePhoto.c: add benchmark for Windows 2023-12-23 11:14:01 +01:00
Syping
1b7b3c977b libragephoto: add benchmark to C implementation
CMakeLists.txt: update RAGEPHOTO_BENCHMARK description
RagePhoto.c: add benchmark
RagePhoto.cpp: change benchmark clock from
std::chrono::high_resolution_clock to std::chrono::steady_clock
2023-12-10 07:57:15 +01:00
Syping
6046b7213a libragephoto: use zeroBuffer to improve efficiency 2023-12-06 02:38:13 +01:00
Syping
534d978e47 pyragephoto: ship libragephoto with Python Package 2023-11-16 00:07:43 +01:00
Syping
8b8da1c1ef ragephoto.py: change format variable to photoFormat 2023-11-09 20:35:28 +01:00
Syping
0f1cfe630b libragephoto: add ragephoto Python Package
- separate RagePhoto and RagePhoto-Extract sources
2023-11-09 20:17:37 +01:00
Syping
9a5bcabf8c libragephoto: improve get and serializer reliability
- get functions do not return NULL or nullptr anymore
- serializer checks for valid references to not crash
- tight buffers do not prematurely end writing anymore
- add zeroBuffer function for future nullbyte insertions
- IconvTest.cpp: remove some C-style casts
- RagePhoto.cpp: improve initializer reliability
- RagePhotoA.hpp: throw error when instance could not be allocated
- README.md: minor markdown fix
2023-10-30 14:31:50 +01:00
Syping
c74b4a415f libragephoto 0.5.1 release
- ragephoto_open: fix memory leak when instance can't be allocated
- ragephoto_loadfile: fix file handle leak when data heap can't be
allocated
- ragephotodata_load: fix printf print types
- RagePhoto.cpp: remove std namespace from C functions
2023-10-25 16:33:01 +02:00
Syping
6fdc075741 libragephoto 0.5.0 release
- CMakeLists.txt: add missing RagePhotoA for C API builds
- updated README.md
2023-06-11 23:07:41 +02:00
Syping
12507be85d libragephoto: add RagePhotoB for best implementation
CMakeLists.txt: add RagePhotoB class, improve settings clarification
doc/build.doc: add RAGEPHOTO_C_LIBRARY flag
doc/index.doc: correct RagePhoto.h header
doc/usage.doc: fix minor documentation issue, clarify class differences
ragephoto-gtkviewer: use RagePhotoB class
ragephoto-qtviewer: use RagePhotoB class
RagePhoto-Extract.cpp: use RagePhotoB class
RagePhoto.cpp: LIBRAGEPHOTO_C_API -> LIBRAGEPHOTO_CXX_C
RagePhotoA.hpp: simplify brief
RagePhotoB.hpp: add best implementation detection
RagePhotoLibrary.h: fix WASM C API inclusion by default
README.md: add RAGEPHOTO_C_LIBRARY flag
2023-06-11 05:41:32 +02:00
Syping
d7943e552d GitHub Actions: fix WebAssembly C build 2023-06-09 05:05:42 +02:00
Syping
b838c505a4 libragephoto: C++ headers have now .hpp extension
RagePhoto.h -> RagePhoto.hpp
RagePhotoA.h -> RagePhotoA.hpp
RagePhotoC.h -> RagePhoto.h

unicode.cmake: exclude codecvt for C builds
GitHub Actions: separate C and CXX builds
2023-06-07 06:57:23 +02:00
Syping
6acf7b7338 RagePhoto.c: fix potential memory issue 2023-06-07 06:12:24 +02:00
Syping
24e0d9c03e RagePhoto.c: fix potential memory issue 2023-06-07 06:09:37 +02:00
Syping
6066d92ee9 RagePhoto.c: fix potential memory issue, fix debug code 2023-06-06 21:05:55 +02:00
Syping
c3e838cecf RagePhoto.c: fix iconv code 2023-06-06 20:27:51 +02:00
Syping
8a29d8aebe GitHub Actions: use C library for WebAssembly build
RagePhoto.c: fix header includes
2023-06-06 20:22:20 +02:00
Syping
3046cbd077 libragephoto: introduce C library port
CMakeLists.txt: fixes for MSVC and C library support
RagePhoto: non C++11 support
RagePhotoC: clarify C instance support in comment
RagePhotoTypedefs: add typedefs for C library
2023-06-06 19:39:22 +02:00
Syping
af3580dff4 libragephoto 0.4.1 release
RagePhotoA: fix setData() pointer passthrough
2023-05-25 23:30:26 +02:00
Syping
4aedd8b869 libragephoto 0.4.0 release
- CMakeLists.txt: bump version to 0.4.0
- RagePhoto(A): add headerSum2 for RDR 2
- RagePhotoC: add ragephoto_setphotoheader2() for RDR 2
- RagePhotoTypedefs: remove unnamedSum1, rename unnamedSum2 ->
headerSum2
- RagePhotoTypedefs: remove ragephoto_bool_t for bool
2023-05-14 11:44:59 +02:00
Syping
3d9d632d7b libragephoto: add RDR 2 SignInitial 2023-05-09 23:28:38 +02:00
Syping
f1485be7a7 libragephoto: add defines for C API
RagePhotoTypedefs.h: add defines for C API
RagePhoto-Extract.c: take advantage of C API defines
2023-04-26 01:09:22 +02:00
Syping
d8c0d7d470 libragephoto: rename BINDING to PUBLIC, some other changes
- doc/Doxyfile.in: rename BINDING to PUBLIC
- doc/usage.doc: fix a usage example
- CMakeLists.txt: include CPack only when libragephoto is Top Level
- RagePhoto.h: rename BINDING TO PUBLIC
- RagePhotoC.h: rename BINDING TO PUBLIC
- RagePhotoLibrary.h: rename BINDING to PUBLIC, add new checks
2023-04-09 21:22:13 +02:00
Syping
933918454f libragephoto 0.3.0 release
- update README.md
- update documentation
- ragephoto-gtkviewer: fix error uint8_t -> int32_t, NULL -> nullptr
- ragephoto-qtviewer: fix error uint8_t -> int32_t
- RagePhotoA: fix documentation, fix error()
- RagePhotoC: add brief
2023-04-02 21:33:48 +02:00
Syping
302be665e2 RagePhoto: use C++17 u8path when available 2023-03-27 17:49:35 +02:00
Syping
cac7fd221f RagePhoto(A): add jpegSign() function
- RagePhotoC: add ragephoto_getphotosign() ragephoto_getphotosignf()
ragephotodata_getphotosign() and ragephotodata_getphotosignf() functions
2023-03-15 08:22:38 +01:00
Syping
564a8c92b5 CMakeLists.txt: add C++17 build flags for MSVC 2023-03-09 05:30:01 +01:00
Syping
6d943e7b20 libragephoto: use C++17 for the CI/CD build 2023-03-06 20:31:54 +01:00
Syping
3c433ca072 libragephoto: add opt-in C++17 support
- RagePhoto(A): add jpeg_view() function
- CMakeLists.txt: move C++17 and WebAssembly stuff inside include files
2023-03-03 03:26:59 +01:00
Syping
4ca8ac9297 RagePhoto: replace strncmp with memcmp
RagePhoto(A): fix header spelling mistake
RagePhotoA: update header description
2023-02-24 23:51:32 +01:00
Syping
d75eba2a46 libragephoto: add new ragephotodata functions and improvements
RagePhoto: changed photo(), photoData(), photoSize() and setPhoto() to
jpeg(), jpegData(), jpegSize() and setJpeg()
RagePhoto: setData() now takes takeCopy instead of takeOwnership
RagePhoto: changed static member argument order for easier coding
RagePhotoA: changed photo(), photoData(), photoSize() and setPhoto() to
jpeg(), jpegData(), jpegSize() and setJpeg()
RagePhotoA: setData() now takes takeCopy instead of takeOwnership
RagePhotoA: changed static member argument order for easier coding
RagePhotoA: add new C API functions
RagePhotoC: add ragephotodata_save() and ragephotodata_savef()
RagePhoto-Extract: update for API changes, stop assuming RDR 2 when GTA
V format not found
ragephoto-gtkviewer: update for API changes
ragephoto-qtviewer: update for API changes
2023-02-23 09:17:53 +01:00
Syping
9807f0d696 libragephoto: update C API
RagePhotoA: add new C API functions
RagePhotoC: add ragephotodata_clear(), ragephotodata_load(),
ragephotodata_getsavesize(), ragephotodata_getsavesizef(),
ragephotodata_setbufferdefault(), ragephotodata_setbufferoffsets()
2023-02-20 14:58:41 +01:00
Syping
e51d50f77e RagePhoto: fix inline related issues 2023-02-20 13:37:40 +01:00
Syping
d13c22dc05 RagePhoto: add clear() and load() as static functions 2023-02-20 11:56:23 +01:00
Syping
2a8070b75e libragephoto: add custom parser feature
- RagePhoto: add addParser()
- RagePhotoC: add ragephoto_addparser()
- RagePhoto(C): rename all ragePhotoData to rp_data
2023-02-20 11:27:14 +01:00
Syping
659feb0cbf RagePhoto: update ragephoto_setphotodata function
- RagePhotoTypedefs: add saveSize function
2023-02-11 22:40:13 +01:00
Syping
b2e765c2af libragephoto: fix build errors and some includes
- RagePhoto-Extract: include stdio.h
- RagePhotoC: include stddef.h instead of stdio.h
- RagePhotoTypedefs: include stddef.h
2023-02-11 20:53:41 +01:00
Syping
df388acaec RagePhoto: improve C compatibility further 2023-02-11 20:47:05 +01:00
Syping
0900feda84 libragephoto: add typedefs for format parser 2023-02-11 20:06:00 +01:00
Syping
429f011cff CMakeLists.txt: add CPack package generation 2023-02-11 18:53:15 +01:00
Syping
255c1a28b9 C API: ragephoto_setphotodata(c) returns now bool 2023-02-08 19:59:56 +01:00
Syping
45a45701f6 libragephoto: various changes
- libragephoto_global.h seperated to RagePhotoConfig.h and
RagePhotoLibrary.h
- RagePhotoData.h renamed to RagePhotoTypedefs.h
- RagePhotoData: updated struct and documentated it
- RagePhotoC: changed ragephoto_setphotodata ABI, added
ragephoto_setphotodatac for copying
- RagePhotoA: adapted for the ABI changes
- RagePhoto: adapted for the ABI changes and updated struct
2023-02-07 03:06:22 +01:00
Syping
8e73219549 RagePhotoData: make it clear that RagePhotoData is a C type struct 2023-01-11 18:45:35 +01:00
Syping
1173db1aa8 RagePhoto: avoid setData() replacing it's own RagePhotoData 2023-01-08 18:34:47 +01:00
Syping
96eae4f957 change setData() attitude with the internal data object
- when takeOwnership is false, instead of deleting the old object and
generating a new object from scratch, it clears now the old object
2023-01-08 18:18:28 +01:00
Syping
a704ee046a add setData() and ragephoto_setphotodata() functions
RagePhoto: add setData() and ragephoto_setphotodata() functions
RagePhotoA: wrap setData() function to ragephoto_setphotodata()
RagePhotoC: update header for ragephoto_setphotodata()
2023-01-08 17:45:54 +01:00
Syping
24d6f58b74 RagePhoto: fix build error for older C++ standards 2023-01-08 15:44:28 +01:00
Syping
2b878cf416 RagePhoto: make RagePhotoData m_data a pointer 2023-01-08 15:21:16 +01:00
Syping
db9a0eaf9a RagePhoto: uncomment setHeader HeaderMallocError code 2023-01-08 14:09:36 +01:00
Syping
13650527be add function ragephoto_getphotodata() to the C API
RagePhoto: add function ragephoto_getphotodata() to the C API
RagePhotoA: wrap data() function to ragephoto_getphotodata()
RagePhotoC: update header for ragephoto_getphotodata()
RagePhotoData: improve header include statement
2023-01-08 13:57:37 +01:00