Skip to content
Commits on Source (6)
......@@ -4,17 +4,20 @@ obj/
bin/
Win32/
x64/
.vscode/
[Dd]ebug/
[Rr]elease/
[Cc]hecked/
*.opensdf
*.sdf
# Ignore files created by Visual Studio
*.suo
*.user
*.ipch
*.opensdf
*.sdf
*.opendb
*.db
*.aps
# NuGet Packages
*.nupkg
......@@ -22,3 +25,6 @@ x64/
**/packages/*
# except build/, which is used as an MSBuild target.
!**/packages/build/
# Ignore Coverity build folder
cov-int/
......@@ -5,7 +5,7 @@ compiler:
- clang
install:
- if [ "$CXX" = "g++" ]; then export CXX="g++-4.8" CC="gcc-4.8"; fi
- if [ "$CXX" = "g++" ]; then export CXX="g++-5" CC="gcc-5"; fi
- if [ "$CXX" = "clang++" ]; then export CXX="clang++-3.7" CC="clang-3.7"; fi
addons:
......@@ -14,8 +14,8 @@ addons:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.7
packages:
- gcc-4.8
- g++-4.8
- gcc-5
- g++-5
- clang-3.7
sudo: false
......
......@@ -7,7 +7,7 @@ if (CMAKE_COMPILER_IS_GNUCC)
# SET(CMAKE_CXX_FLAGS "-D NDEBUG -O3 -Wall -Wextra -pedantic -fvisibility=hidden -fomit-frame-pointer -momit-leaf-frame-pointer -fweb -ftracer" )
# Define GNU C++ defines for both Debug and Release
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++03 -Wall -Wextra")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -Wall -Wextra")
# Define specific Debug settings.
set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g")
......@@ -18,7 +18,7 @@ ENDIF ()
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
# Define clang C++ defines for both Debug and Release
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++03 -Wall -Wextra")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -Wall -Wextra")
# Define specific Debug settings.
set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g")
......@@ -38,13 +38,10 @@ if (WIN32)
endif()
endif()
set (charls_HEADERS
src/context.h src/defaulttraits.h src/jpegimagedatasegment.h src/jpegsegment.h src/lookuptable.h src/publictypes.h
src/colortransform.h src/contextrunmode.h src/encoderstrategy.h src/jpegmarker.h src/losslesstraits.h src/scan.h
src/config.h src/decoderstrategy.h src/header.h src/jpegmarkersegment.h src/jpegstreamwriter.h src/processline.h src/util.h)
set (charls_PUBLIC_HEADERS src/charls.h src/publictypes.h)
add_library(CharLS src/interface.cpp src/jpegls.cpp src/jpegmarkersegment.cpp src/header.cpp src/jpegstreamwriter.cpp)
set (CHARLS_LIB_MAJOR_VERSION 1)
add_library(CharLS src/interface.cpp src/jpegls.cpp src/jpegmarkersegment.cpp src/jpegstreamreader.cpp src/jpegstreamwriter.cpp)
set (CHARLS_LIB_MAJOR_VERSION 2)
set (CHARLS_LIB_MINOR_VERSION 0)
set_target_properties(CharLS PROPERTIES
VERSION ${CHARLS_LIB_MAJOR_VERSION}.${CHARLS_LIB_MINOR_VERSION}
......@@ -53,7 +50,7 @@ set_target_properties( CharLS PROPERTIES
install (TARGETS CharLS RUNTIME DESTINATION bin
LIBRARY DESTINATION lib${LIB_SUFFIX}
ARCHIVE DESTINATION lib${LIB_SUFFIX})
install (FILES ${charls_HEADERS} DESTINATION include/CharLS)
install (FILES ${charls_PUBLIC_HEADERS} DESTINATION include/CharLS)
if (BUILD_TESTING)
add_executable(charlstest test/main.cpp test/time.cpp test/util.cpp test/bitstreamdamage.cpp test/compliance.cpp test/performance.cpp test/dicomsamples.cpp)
......

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.24720.0
VisualStudioVersion = 14.0.23107.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Native", "Native", "{1C1CF63C-A53A-449F-90D3-63321015FD65}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CharLSNet_VS2015", "net\CharLSNet_VS2015.csproj", "{4EDED401-1B63-4989-BF3F-2875B6C9203D}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CharLS_VS2015", "src\CharLS_VS2015.vcxproj", "{FF506D97-CF63-4268-97B8-6195E13A0114}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CharLSNetTest_VS2015", "nettest\CharLSNetTest_VS2015.csproj", "{8B9087C8-9C4D-4F4E-BAC3-2434D915DD41}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CharLSTest_VS2015", "test\CharLSTest_VS2015.vcxproj", "{3E349E7B-30C2-4791-81B7-1108014291B7}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Viewer_VS2015", "samples\viewer\Viewer_VS2015.csproj", "{62B47821-5105-49A2-A157-5FAE1AEA0686}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Samples", "Samples", "{BE733144-010D-4F7F-A619-0B73D8461D60}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Native", "Native", "{1C1CF63C-A53A-449F-90D3-63321015FD65}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".NET", ".NET", "{A81B52AC-655D-4D1F-B21B-9BC4529AB447}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CharLSUnitTest_VS2015", "unittest\CharLSUnitTest_VS2015.vcxproj", "{5293D7B4-4192-41FD-B9AF-CF4051D44545}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CharLS_VS2015", "src\CharLS_VS2015.vcxproj", "{524BE26D-FC60-4BC4-9100-128A0502FFF7}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Convert_VS2015", "samples\convert.c\Convert_VS2015.vcxproj", "{C36798B3-86DA-4935-80C4-996D5C415DA1}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Checked|Win32 = Checked|Win32
......@@ -19,18 +33,30 @@ Global
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{FF506D97-CF63-4268-97B8-6195E13A0114}.Checked|Win32.ActiveCfg = Checked|Win32
{FF506D97-CF63-4268-97B8-6195E13A0114}.Checked|Win32.Build.0 = Checked|Win32
{FF506D97-CF63-4268-97B8-6195E13A0114}.Checked|x64.ActiveCfg = Checked|x64
{FF506D97-CF63-4268-97B8-6195E13A0114}.Checked|x64.Build.0 = Checked|x64
{FF506D97-CF63-4268-97B8-6195E13A0114}.Debug|Win32.ActiveCfg = Debug|Win32
{FF506D97-CF63-4268-97B8-6195E13A0114}.Debug|Win32.Build.0 = Debug|Win32
{FF506D97-CF63-4268-97B8-6195E13A0114}.Debug|x64.ActiveCfg = Debug|x64
{FF506D97-CF63-4268-97B8-6195E13A0114}.Debug|x64.Build.0 = Debug|x64
{FF506D97-CF63-4268-97B8-6195E13A0114}.Release|Win32.ActiveCfg = Release|Win32
{FF506D97-CF63-4268-97B8-6195E13A0114}.Release|Win32.Build.0 = Release|Win32
{FF506D97-CF63-4268-97B8-6195E13A0114}.Release|x64.ActiveCfg = Release|x64
{FF506D97-CF63-4268-97B8-6195E13A0114}.Release|x64.Build.0 = Release|x64
{4EDED401-1B63-4989-BF3F-2875B6C9203D}.Checked|Win32.ActiveCfg = Checked|x86
{4EDED401-1B63-4989-BF3F-2875B6C9203D}.Checked|Win32.Build.0 = Checked|x86
{4EDED401-1B63-4989-BF3F-2875B6C9203D}.Checked|x64.ActiveCfg = Checked|x64
{4EDED401-1B63-4989-BF3F-2875B6C9203D}.Checked|x64.Build.0 = Checked|x64
{4EDED401-1B63-4989-BF3F-2875B6C9203D}.Debug|Win32.ActiveCfg = Debug|x86
{4EDED401-1B63-4989-BF3F-2875B6C9203D}.Debug|Win32.Build.0 = Debug|x86
{4EDED401-1B63-4989-BF3F-2875B6C9203D}.Debug|x64.ActiveCfg = Debug|x64
{4EDED401-1B63-4989-BF3F-2875B6C9203D}.Debug|x64.Build.0 = Debug|x64
{4EDED401-1B63-4989-BF3F-2875B6C9203D}.Release|Win32.ActiveCfg = Release|x86
{4EDED401-1B63-4989-BF3F-2875B6C9203D}.Release|Win32.Build.0 = Release|x86
{4EDED401-1B63-4989-BF3F-2875B6C9203D}.Release|x64.ActiveCfg = Release|x64
{4EDED401-1B63-4989-BF3F-2875B6C9203D}.Release|x64.Build.0 = Release|x64
{8B9087C8-9C4D-4F4E-BAC3-2434D915DD41}.Checked|Win32.ActiveCfg = Checked|x86
{8B9087C8-9C4D-4F4E-BAC3-2434D915DD41}.Checked|Win32.Build.0 = Checked|x86
{8B9087C8-9C4D-4F4E-BAC3-2434D915DD41}.Checked|x64.ActiveCfg = Checked|x64
{8B9087C8-9C4D-4F4E-BAC3-2434D915DD41}.Checked|x64.Build.0 = Checked|x64
{8B9087C8-9C4D-4F4E-BAC3-2434D915DD41}.Debug|Win32.ActiveCfg = Debug|x86
{8B9087C8-9C4D-4F4E-BAC3-2434D915DD41}.Debug|Win32.Build.0 = Debug|x86
{8B9087C8-9C4D-4F4E-BAC3-2434D915DD41}.Debug|x64.ActiveCfg = Debug|x64
{8B9087C8-9C4D-4F4E-BAC3-2434D915DD41}.Debug|x64.Build.0 = Debug|x64
{8B9087C8-9C4D-4F4E-BAC3-2434D915DD41}.Release|Win32.ActiveCfg = Release|x86
{8B9087C8-9C4D-4F4E-BAC3-2434D915DD41}.Release|Win32.Build.0 = Release|x86
{8B9087C8-9C4D-4F4E-BAC3-2434D915DD41}.Release|x64.ActiveCfg = Release|x64
{8B9087C8-9C4D-4F4E-BAC3-2434D915DD41}.Release|x64.Build.0 = Release|x64
{3E349E7B-30C2-4791-81B7-1108014291B7}.Checked|Win32.ActiveCfg = Checked|Win32
{3E349E7B-30C2-4791-81B7-1108014291B7}.Checked|Win32.Build.0 = Checked|Win32
{3E349E7B-30C2-4791-81B7-1108014291B7}.Checked|x64.ActiveCfg = Checked|x64
......@@ -43,12 +69,60 @@ Global
{3E349E7B-30C2-4791-81B7-1108014291B7}.Release|Win32.Build.0 = Release|Win32
{3E349E7B-30C2-4791-81B7-1108014291B7}.Release|x64.ActiveCfg = Release|x64
{3E349E7B-30C2-4791-81B7-1108014291B7}.Release|x64.Build.0 = Release|x64
{62B47821-5105-49A2-A157-5FAE1AEA0686}.Checked|Win32.ActiveCfg = Checked|x86
{62B47821-5105-49A2-A157-5FAE1AEA0686}.Checked|Win32.Build.0 = Checked|x86
{62B47821-5105-49A2-A157-5FAE1AEA0686}.Checked|x64.ActiveCfg = Checked|x64
{62B47821-5105-49A2-A157-5FAE1AEA0686}.Checked|x64.Build.0 = Checked|x64
{62B47821-5105-49A2-A157-5FAE1AEA0686}.Debug|Win32.ActiveCfg = Debug|x86
{62B47821-5105-49A2-A157-5FAE1AEA0686}.Debug|Win32.Build.0 = Debug|x86
{62B47821-5105-49A2-A157-5FAE1AEA0686}.Debug|x64.ActiveCfg = Debug|x64
{62B47821-5105-49A2-A157-5FAE1AEA0686}.Debug|x64.Build.0 = Debug|x64
{62B47821-5105-49A2-A157-5FAE1AEA0686}.Release|Win32.ActiveCfg = Release|x86
{62B47821-5105-49A2-A157-5FAE1AEA0686}.Release|Win32.Build.0 = Release|x86
{62B47821-5105-49A2-A157-5FAE1AEA0686}.Release|x64.ActiveCfg = Release|x64
{62B47821-5105-49A2-A157-5FAE1AEA0686}.Release|x64.Build.0 = Release|x64
{5293D7B4-4192-41FD-B9AF-CF4051D44545}.Checked|Win32.ActiveCfg = Debug|Win32
{5293D7B4-4192-41FD-B9AF-CF4051D44545}.Checked|x64.ActiveCfg = Checked|Win32
{5293D7B4-4192-41FD-B9AF-CF4051D44545}.Debug|Win32.ActiveCfg = Debug|Win32
{5293D7B4-4192-41FD-B9AF-CF4051D44545}.Debug|Win32.Build.0 = Debug|Win32
{5293D7B4-4192-41FD-B9AF-CF4051D44545}.Debug|x64.ActiveCfg = Debug|Win32
{5293D7B4-4192-41FD-B9AF-CF4051D44545}.Release|Win32.ActiveCfg = Release|Win32
{5293D7B4-4192-41FD-B9AF-CF4051D44545}.Release|x64.ActiveCfg = Release|Win32
{524BE26D-FC60-4BC4-9100-128A0502FFF7}.Checked|Win32.ActiveCfg = Checked|Win32
{524BE26D-FC60-4BC4-9100-128A0502FFF7}.Checked|Win32.Build.0 = Checked|Win32
{524BE26D-FC60-4BC4-9100-128A0502FFF7}.Checked|x64.ActiveCfg = Checked|x64
{524BE26D-FC60-4BC4-9100-128A0502FFF7}.Checked|x64.Build.0 = Checked|x64
{524BE26D-FC60-4BC4-9100-128A0502FFF7}.Debug|Win32.ActiveCfg = Debug|Win32
{524BE26D-FC60-4BC4-9100-128A0502FFF7}.Debug|Win32.Build.0 = Debug|Win32
{524BE26D-FC60-4BC4-9100-128A0502FFF7}.Debug|x64.ActiveCfg = Debug|x64
{524BE26D-FC60-4BC4-9100-128A0502FFF7}.Debug|x64.Build.0 = Debug|x64
{524BE26D-FC60-4BC4-9100-128A0502FFF7}.Release|Win32.ActiveCfg = Release|Win32
{524BE26D-FC60-4BC4-9100-128A0502FFF7}.Release|Win32.Build.0 = Release|Win32
{524BE26D-FC60-4BC4-9100-128A0502FFF7}.Release|x64.ActiveCfg = Release|x64
{524BE26D-FC60-4BC4-9100-128A0502FFF7}.Release|x64.Build.0 = Release|x64
{C36798B3-86DA-4935-80C4-996D5C415DA1}.Checked|Win32.ActiveCfg = Release|Win32
{C36798B3-86DA-4935-80C4-996D5C415DA1}.Checked|Win32.Build.0 = Release|Win32
{C36798B3-86DA-4935-80C4-996D5C415DA1}.Checked|x64.ActiveCfg = Checked|x64
{C36798B3-86DA-4935-80C4-996D5C415DA1}.Checked|x64.Build.0 = Checked|x64
{C36798B3-86DA-4935-80C4-996D5C415DA1}.Debug|Win32.ActiveCfg = Debug|Win32
{C36798B3-86DA-4935-80C4-996D5C415DA1}.Debug|Win32.Build.0 = Debug|Win32
{C36798B3-86DA-4935-80C4-996D5C415DA1}.Debug|x64.ActiveCfg = Debug|x64
{C36798B3-86DA-4935-80C4-996D5C415DA1}.Debug|x64.Build.0 = Debug|x64
{C36798B3-86DA-4935-80C4-996D5C415DA1}.Release|Win32.ActiveCfg = Release|Win32
{C36798B3-86DA-4935-80C4-996D5C415DA1}.Release|Win32.Build.0 = Release|Win32
{C36798B3-86DA-4935-80C4-996D5C415DA1}.Release|x64.ActiveCfg = Release|x64
{C36798B3-86DA-4935-80C4-996D5C415DA1}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{FF506D97-CF63-4268-97B8-6195E13A0114} = {1C1CF63C-A53A-449F-90D3-63321015FD65}
{4EDED401-1B63-4989-BF3F-2875B6C9203D} = {A81B52AC-655D-4D1F-B21B-9BC4529AB447}
{8B9087C8-9C4D-4F4E-BAC3-2434D915DD41} = {A81B52AC-655D-4D1F-B21B-9BC4529AB447}
{3E349E7B-30C2-4791-81B7-1108014291B7} = {1C1CF63C-A53A-449F-90D3-63321015FD65}
{62B47821-5105-49A2-A157-5FAE1AEA0686} = {BE733144-010D-4F7F-A619-0B73D8461D60}
{5293D7B4-4192-41FD-B9AF-CF4051D44545} = {1C1CF63C-A53A-449F-90D3-63321015FD65}
{524BE26D-FC60-4BC4-9100-128A0502FFF7} = {1C1CF63C-A53A-449F-90D3-63321015FD65}
{C36798B3-86DA-4935-80C4-996D5C415DA1} = {BE733144-010D-4F7F-A619-0B73D8461D60}
EndGlobalSection
EndGlobal
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=LS/@EntryIndexedValue">LS</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=LocalConstants/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /&gt;</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=PrivateInstanceFields/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /&gt;</s:String>
<s:Boolean x:Key="/Default/Environment/UnitTesting/ShadowCopy/@EntryValue">False</s:Boolean></wpf:ResourceDictionary>
\ No newline at end of file
[![Build Status](https://travis-ci.org/team-charls/charls.svg?branch=1.x-master)](https://travis-ci.org/team-charls/charls)
#CharLS, a JPEG-LS library
[![Build status](https://ci.appveyor.com/api/projects/status/yq0naf3v2m8nfa8r/branch/master?svg=true)](https://ci.appveyor.com/project/vbaderks/charls/branch/master)
[![Build Status](https://travis-ci.org/team-charls/charls.svg?branch=master)](https://travis-ci.org/team-charls/charls)
##Project Description
An optimized implementation of the JPEG-LS standard for lossless
and near-lossless image compression. JPEG-LS is a low-complexity
standard that matches JPEG 2000 compression ratios.
In terms of speed, CharLS outperforms open source and
commercial JPEG LS implementations.
CharLS
======
CharLS is a C++ implementation of the JPEG-LS standard for lossless and near-lossless image compression and decompression.
JPEG-LS is a low-complexity image compression standard that matches JPEG 2000 compression ratios.
###Features
* High performance C++ implementation with a C interface to ensure maximum interopability.
Features
--------
* C++14 library implementation with a binary C interface for maximum interoperability. Note: C++03 compatible implementation is maintained in the 1.x-master branch.
* Supports Windows, Linux and Solaris in 32 bit and 64 bit.
* Includes a wrapper class for .NET
* Includes an adapter assembly for .NET based languages.
* Excellent compression and decompression performance.
##About JPEG-LS
JPEG-LS (ISO-14495-1/ITU-T.87) is a standard derived from the Hewlett Packard LOCO algorithm. JPEG LS has low complexity (meaning fast compression) and high compression ratios, similar to JPEG 2000. JPEG-LS is more similar to the old Lossless JPEG than to JPEG 2000, but interestingly the two different techniques result in vastly different performance characteristics.
[Wikipedia on lossless JPEG and JPEG-LS](en.wikipedia.org/wiki/Lossless_JPEG)
[Benchmarks JPEG-LS-Performance](charls.codeplex.com/wikipage?title=JPEG-LS-Performance&referringTitle=Home)
About JPEG-LS
-------------
JPEG-LS (ISO-14495-1/ITU-T.87) is an image compression standard derived from the Hewlett Packard LOCO algorithm. JPEG-LS has low complexity (meaning fast compression) and high compression ratios, similar to the JPEG 2000 lossless ratios. JPEG-LS is more similar to the old Lossless JPEG than to JPEG 2000, but interestingly the two different techniques result in vastly different performance characteristics.
Wikipedia on lossless JPEG and JPEG-LS: <http://en.wikipedia.org/wiki/Lossless_JPEG>
##Building CHARLS
About this software
-------------------
This project's goal is to provide a full implementation of JPEG-LS. This library is written from scratch in portable C++. The master branch uses modern C++ v11. The 1.x branch is maintained in C++ v03. All mainstream JPEG-LS features are implemented by this library.
According to preliminary test results published on http://imagecompression.info/gralic, CharLS is about *twice as fast* as the original HP code, and beats both JPEG-XR and JPEG 2000 by a factor 3.
###Primary development
Supported platforms
-------------------
The code is regularly compiled/tested on Windows and 64 bit Linux. Additionally, the code has been successfully tested on Linux Intel/AMD 32/64 bit (slackware, debian, gentoo), Solaris SPARC systems, Intel based Macs and Windows CE (ARM CPU, emulated), where the less common compilers may require minor code edits. It leverages C++ language features (templates, traits) to create optimized code, which generally perform best with recent compilers. If you compile with GCC, 64 bit code performs substantially better.
Primary development is done on Windows with Visual Studio 2015.
Optimized projects and solution files are available for this environment.
Users & Acknowledgements
------------------------
CharLS is being used by [gdcm dicom toolkit](http://sourceforge.net/projects/gdcm/), thanks for [Matthieu](http://sourceforge.net/users/malat) for getting CharLS started on Linux. [Kato Kanryu](http://knivez.homelinux.org/) wrote an initial version of the color transfroms and the DIB output format code, for an [irfanview](http://www.irfanview.com) plugin using CharLS. Thanks to Uli Schlachter, CharLS now finally runs correctly on big-endian architectures like Sun SPARC.
All other platforms are supported by cmake. CMake is a cross platform
open source build system that generate project\make files for a large
set of environments.
Legal
-----
The code in this project is available through a BSD style license, allowing use of the code in commercial closed source applications if you wish. **All** the code in this project is written from scratch, and not based on other JPEG-LS implementations. Be aware that Hewlett Packard claims to own patents that apply to JPEG-LS implementations, but they license it for free for conformant JPEG-LS implementations. Read more at <http://www.hpl.hp.com/loco/> before you use this if you use this code for commercial purposes.
\ No newline at end of file
<StyleCopSettings Version="105">
<Analyzers>
<Analyzer AnalyzerId="StyleCop.CSharp.DocumentationRules">
<Rules>
<Rule Name="ElementsMustBeDocumented">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="FileHeaderMustShowCopyright">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="EnumerationItemsMustBeDocumented">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
</Rules>
<AnalyzerSettings />
</Analyzer>
<Analyzer AnalyzerId="StyleCop.CSharp.ReadabilityRules">
<Rules>
<Rule Name="PrefixLocalCallsWithThis">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="CommentsMustContainText">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="DoNotUseRegions">
<RuleSettings>
<BooleanProperty Name="Enabled">True</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ParameterMustFollowComma">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="SplitParametersMustStartOnLineAfterDeclaration">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ParametersMustBeOnSameLineOrSeparateLines">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="PrefixCallsCorrectly">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
</Rules>
<AnalyzerSettings />
</Analyzer>
<Analyzer AnalyzerId="StyleCop.CSharp.OrderingRules">
<Rules>
<Rule Name="UsingDirectivesMustBePlacedWithinNamespace">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
</Rules>
<AnalyzerSettings />
</Analyzer>
<Analyzer AnalyzerId="StyleCop.CSharp.LayoutRules">
<Rules>
<Rule Name="CurlyBracketsMustNotBeOmitted">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
</Rules>
<AnalyzerSettings />
</Analyzer>
</Analyzers>
</StyleCopSettings>
\ No newline at end of file
version: 1.00.{build}
version: 2.00.{build}
os: Visual Studio 2015
configuration:
- Debug
......@@ -9,6 +9,7 @@ platform:
- x64
before_build:
- set PATH=C:\Program Files (x86)\MSBuild\14.0\Bin;%PATH%
- nuget restore CharLS_VS2015.sln
build:
project: CharLS_VS2015.sln
verbosity: minimal
\ No newline at end of file
# -I "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include"
"C:\Program Files\Cppcheck\cppcheck.exe" --enable=all --inconclusive --platform=win32A -D_WIN32 -D_M_X64 -D_M_AMD64 -D__cplusplus -D_MSC_VER=1900 --verbose --report-progress src
\ No newline at end of file
charls (2.0.0+dfsg-1) UNRELEASED; urgency=medium
* d/watch: Do not stick to charls 1.x any more
Closes: #886560
* New upstream version
-- Andreas Tille <tille@debian.org> Fri, 21 Dec 2018 11:19:50 +0100
charls (1.1.0+dfsg-3) unstable; urgency=medium
[ Mathieu Malaterre ]
......
libCharLS.so.1 libcharls1 #MINVER#
JpegLsDecode@Base 1.0
JpegLsDecodeRect@Base 1.0
JpegLsEncode@Base 1.0
JpegLsReadHeader@Base 1.0
JpegLsVerifyEncode@Base 1.0
_Z18JpegLsDecodeStream14ByteStreamInfoS_P13JlsParameters@Base 1.1.0
(arch-bits=64)_Z18JpegLsEncodeStream14ByteStreamInfoPmS_P13JlsParameters@Base 1.1.0
(arch-bits=32)_Z18JpegLsEncodeStream14ByteStreamInfoPjS_P13JlsParameters@Base 1.1.0
_Z22JpegLsReadHeaderStream14ByteStreamInfoP13JlsParameters@Base 1.1.0
add_visibility.patch
stl_symbols_hack.patch
# add_visibility.patch
# stl_symbols_hack.patch
version=3
version=4
opts="repacksuffix=+dfsg,dversionmangle=s/\+dfsg//g,repack,compression=xz" \
https://github.com/team-charls/charls/releases .*/archive/(1[\d.-]+)\.(?:tar(?:\.gz|\.bz2)?|tgz)
https://github.com/team-charls/charls/releases .*/archive/([\d.-]+)\.(?:tar(?:\.gz|\.bz2)?|tgz)
<?xml version="1.0" encoding="utf-8"?>
<RuleSet Name="CharLS Rules" Description="This rule set contains the rules for CharLS .NET projects (excluding unittests)." ToolsVersion="14.0">
<IncludeAll Action="Error" />
<Rules AnalyzerId="Microsoft.Analyzers.ManagedCodeAnalysis" RuleNamespace="Microsoft.Rules.Managed">
<Rule Id="CA1026" Action="None" />
<Rule Id="CA1062" Action="None" />
</Rules>
<Rules AnalyzerId="StyleCop.Analyzers" RuleNamespace="StyleCop.Analyzers">
<Rule Id="SA1101" Action="None" />
<Rule Id="SA1116" Action="None" />
<Rule Id="SA1117" Action="None" />
<Rule Id="SA1120" Action="None" />
<Rule Id="SA1200" Action="None" />
<Rule Id="SA1503" Action="None" />
<Rule Id="SA1600" Action="None" />
<Rule Id="SA1633" Action="None" />
</Rules>
</RuleSet>
\ No newline at end of file
This diff is collapsed.
<?xml version="1.0" encoding="utf-8"?>
<Dictionary>
<Words>
<Unrecognized>
</Unrecognized>
<Recognized>
<Word>lossy</Word>
<Word>jfif</Word>
<Word>bgr</Word>
<Word>jls</Word>
<Word>BitsPerSample</Word>
<Word>Rgb</Word>
</Recognized>
<Deprecated>
</Deprecated>
</Words>
<Acronyms>
<CasingExceptions>
</CasingExceptions>
</Acronyms>
</Dictionary>
//
// (C) CharLS Team 2014, all rights reserved. See the accompanying "License.txt" for licensed use.
//
using System.Diagnostics.CodeAnalysis;
[assembly: SuppressMessage("Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes", Scope = "namespace", Target = "CharLS", Justification = "At least 1 main namespace is needed.")]
[assembly: SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope = "member", Target = "CharLS.JpegLSMetadataInfo.#ObjectInvariant()", Justification = "Needed for Code Contracts")]
[assembly: SuppressMessage("Microsoft.Performance", "CA1822:MarkMembersAsStatic", Scope = "member", Target = "CharLS.JpegLSMetadataInfo.#ObjectInvariant()", Justification = "Needed for Code Contracts")]
//
// (C) CharLS Team 2014, all rights reserved. See the accompanying "License.txt" for licensed use.
//
using System;
using System.Runtime.InteropServices;
namespace CharLS
{
/// <summary>
/// Encapsulates the parameters that will be written to the JFIF header.
/// Since JFIF 1.02 thumbnails should preferable be created in extended segments.
/// </summary>
/// <remarks>
/// Some fields are not used but defined to ensure memory layout and size is identical with the native structure.
/// </remarks>
[StructLayout(LayoutKind.Sequential, Pack = 8)]
internal struct JfifParameters
{
/// <summary>
/// Indicates the JFIF version. First byte is major version (currently 0x01), Second byte is minor version (currently 0x02).
/// </summary>
internal int Version;
/// <summary>
/// Units for pixel density fields. 0 - No units, aspect ratio only specified. 1 - Pixels per inch. 2 - Pixels per centimeter.
/// </summary>
internal int Units;
/// <summary>
/// Integer horizontal pixel density.
/// </summary>
internal int DensityX;
/// <summary>
/// Integer vertical pixel density.
/// </summary>
internal int DensityY;
private readonly int thumbX; // note: passing a thumbnail to add to the bytestream is currently not supported in the .NET layer.
private readonly int thumbY;
private readonly IntPtr dataThumbnail; // user must set buffer which size is Xthumb*Ythumb*3(RGB) before JpegLsDecode()
}
}