Coder Social home page Coder Social logo

netpbm-wic-codec's Introduction

Hi ๐Ÿ‘‹, I'm Victor Derks

All-round software engineer with over 25 years of experience in the technical software development

vbaderks

azure c cplusplus csharp dotnet git html5 jenkins linux mariadb python qt typescript

vbaderks

ย vbaderks

vbaderks vbaderks

netpbm-wic-codec's People

Contributors

dependabot[bot] avatar vbaderks avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

netpbm-wic-codec's Issues

ppm is not sRGB

I think the toplevel README would at least reference the original intend of the ppm file format specification:

In the raster, the sample values are "nonlinear." They are proportional to the intensity of the ITU-R Recommendation BT.709 red, green, and blue in the pixel, adjusted by the BT.709 gamma transfer function. (That transfer function specifies a gamma number of 2.2 and has a linear section for small intensities). A value of Maxval for all three samples represents CIE D65 white and the most intense color in the color universe of which the image is part (the color universe is all the colors in all images to which this image might be compared).

BT.709's range of channel values (16-240) is irrelevant to PPM.

ITU-R Recommendation BT.709 is a renaming of the former CCIR Recommendation 709. When CCIR was absorbed into its parent organization, the ITU, ca. 2000, the standard was renamed. This document once referred to the standard as CIE Rec. 709, but it isn't clear now that CIE ever sponsored such a standard.

Note that another popular color space is the newer sRGB. A common variation from PPM is to substitute this color space for the one specified. You can use pnmgamma to convert between this variation and true PPM.

Note that a common variation from the PPM format is to have the sample values be "linear," i.e. as specified above except without the gamma adjustment. pnmgamma takes such a PPM variant as input and produces a true PPM as output.

the use of the 'WINRT_NO_MAKE_DETECTION' define in the project

Is it absolutely necessary to mark implementation classes of this project 'final'? When doing so, you need to define the symbol 'WINRT_NO_MAKE_DETECTION', and the documentation strongly recommends to not define this symbol (https://learn.microsoft.com/en-us/windows/uwp/cpp-and-winrt-apis/macros#winrt_no_make_detection). The other document (https://learn.microsoft.com/en-us/windows/uwp/cpp-and-winrt-apis/diag-direct-alloc#the-solution-with-cwinrt-20) explains that there is no need to mark the whole implementation class 'final', as the instantiated type will always be final. Again, any virtual functions in your implementation can be marked as final, if need be. So, if it is possible to avoid marking the whole classes as final, the project would conform to the documentation recommendation against the 'WINRT_NO_MAKE_DETECTION' define.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.