<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">On 11/23/2013 06:53 PM, Sebastian
      DrXXge wrote:<br>
    </div>
    <blockquote
      cite="mid:20131123175307.43DF276603@kemper.freedesktop.org"
      type="cite">
      <pre wrap="">Module: gst-plugins-bad
Branch: master
Commit: a90585c686a8499d9eecc7c5fd1d1df2d1580c47
URL:    <a class="moz-txt-link-freetext" href="http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=a90585c686a8499d9eecc7c5fd1d1df2d1580c47">http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=a90585c686a8499d9eecc7c5fd1d1df2d1580c47</a>

Author: Sebastian Dröge <a class="moz-txt-link-rfc2396E" href="mailto:sebastian@centricular.com"><sebastian@centricular.com></a>
Date:   Sat Nov 23 18:37:00 2013 +0100

openexr: Add OpenEXR decoder element

This currently converts from ARGB64_F16 (16 bit float per component)
to ARGB64 by clipping. We should add support for the F16 format and
implement a conversion filter element that can apply gamma curves,
change exposure, etc.

---

 ext/openexr/Makefile.am       |    8 +-
 ext/openexr/gstopenexr.c      |    4 +
 ext/openexr/gstopenexrdec.cpp |  654 +++++++++++++++++++++++++++++++++++++++++
 ext/openexr/gstopenexrdec.h   |   63 ++++
 4 files changed, 726 insertions(+), 3 deletions(-)

Diff:   <a class="moz-txt-link-freetext" href="http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/diff/?id=a90585c686a8499d9eecc7c5fd1d1df2d1580c47">http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/diff/?id=a90585c686a8499d9eecc7c5fd1d1df2d1580c47</a>
</pre>
      <br>
    </blockquote>
    this does not build for me on Ubuntu 12.04 :/ But seem to be fault
    of the way c++ headers are reorganized in openexr. Adding "
    -Wno-redundant-decls" to CXXFLAGS in the Makefile.am works for me.
    Acceptable?<br>
    <br>
    Stefan<br>
    <br>
    gst-plugins-bad/ext/openexr:(git:master)> make<br>
      CXX    libgstopenexr_la-gstopenexrdec.lo<br>
    In file included from /usr/include/OpenEXR/ImfHeader.h:51:0,<br>
                     from /usr/include/OpenEXR/ImfRgbaFile.h:50,<br>
                     from gstopenexrdec.cpp:30:<br>
    /usr/include/OpenEXR/ImathVec.h:488:24: error: redundant
    redeclaration of 'T Imath::Vec2<T>::length() const [with T =
    short int]' in same scope [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:216:7: error: previous declaration
    of 'T Imath::Vec2<T>::length() const [with T = short int]'
    [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:491:25: error: redundant
    redeclaration of 'const Imath::Vec2<T>&
    Imath::Vec2<T>::normalize() [with T = short int,
    Imath::Vec2<T> = Imath::Vec2<short int>]' in same scope
    [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:219:18: error: previous declaration
    of 'const Imath::Vec2<T>&
    Imath::Vec2<T>::normalize() [with T = short int,
    Imath::Vec2<T> = Imath::Vec2<short int>]'
    [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:494:49: error: redundant
    redeclaration of 'const Imath::Vec2<T>&
    Imath::Vec2<T>::normalizeExc() [with T = short int,
    Imath::Vec2<T> = Imath::Vec2<short int>]' in same scope
    [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:220:18: error: previous declaration
    of 'const Imath::Vec2<T>&
    Imath::Vec2<T>::normalizeExc() [with T = short int,
    Imath::Vec2<T> = Imath::Vec2<short int>]'
    [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:497:32: error: redundant
    redeclaration of 'const Imath::Vec2<T>&
    Imath::Vec2<T>::normalizeNonNull() [with T = short int,
    Imath::Vec2<T> = Imath::Vec2<short int>]' in same scope
    [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:221:18: error: previous declaration
    of 'const Imath::Vec2<T>&
    Imath::Vec2<T>::normalizeNonNull() [with T = short int,
    Imath::Vec2<T> = Imath::Vec2<short int>]'
    [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:500:28: error: redundant
    redeclaration of 'Imath::Vec2<T>
    Imath::Vec2<T>::normalized() const [with T = short int]' in
    same scope [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:223:13: error: previous declaration
    of 'Imath::Vec2<T> Imath::Vec2<T>::normalized() const
    [with T = short int]' [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:503:56: error: redundant
    redeclaration of 'Imath::Vec2<T>
    Imath::Vec2<T>::normalizedExc() const [with T = short int]' in
    same scope [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:224:13: error: previous declaration
    of 'Imath::Vec2<T> Imath::Vec2<T>::normalizedExc() const
    [with T = short int]' [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:506:35: error: redundant
    redeclaration of 'Imath::Vec2<T>
    Imath::Vec2<T>::normalizedNonNull() const [with T = short
    int]' in same scope [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:225:13: error: previous declaration
    of 'Imath::Vec2<T> Imath::Vec2<T>::normalizedNonNull()
    const [with T = short int]' [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:512:22: error: redundant
    redeclaration of 'T Imath::Vec2<T>::length() const [with T =
    int]' in same scope [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:216:7: error: previous declaration
    of 'T Imath::Vec2<T>::length() const [with T = int]'
    [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:515:23: error: redundant
    redeclaration of 'const Imath::Vec2<T>&
    Imath::Vec2<T>::normalize() [with T = int,
    Imath::Vec2<T> = Imath::Vec2<int>]' in same scope
    [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:219:18: error: previous declaration
    of 'const Imath::Vec2<T>&
    Imath::Vec2<T>::normalize() [with T = int,
    Imath::Vec2<T> = Imath::Vec2<int>]'
    [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:518:47: error: redundant
    redeclaration of 'const Imath::Vec2<T>&
    Imath::Vec2<T>::normalizeExc() [with T = int,
    Imath::Vec2<T> = Imath::Vec2<int>]' in same scope
    [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:220:18: error: previous declaration
    of 'const Imath::Vec2<T>&
    Imath::Vec2<T>::normalizeExc() [with T = int,
    Imath::Vec2<T> = Imath::Vec2<int>]'
    [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:521:30: error: redundant
    redeclaration of 'const Imath::Vec2<T>&
    Imath::Vec2<T>::normalizeNonNull() [with T = int,
    Imath::Vec2<T> = Imath::Vec2<int>]' in same scope
    [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:221:18: error: previous declaration
    of 'const Imath::Vec2<T>&
    Imath::Vec2<T>::normalizeNonNull() [with T = int,
    Imath::Vec2<T> = Imath::Vec2<int>]'
    [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:524:26: error: redundant
    redeclaration of 'Imath::Vec2<T>
    Imath::Vec2<T>::normalized() const [with T = int]' in same
    scope [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:223:13: error: previous declaration
    of 'Imath::Vec2<T> Imath::Vec2<T>::normalized() const
    [with T = int]' [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:527:54: error: redundant
    redeclaration of 'Imath::Vec2<T>
    Imath::Vec2<T>::normalizedExc() const [with T = int]' in same
    scope [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:224:13: error: previous declaration
    of 'Imath::Vec2<T> Imath::Vec2<T>::normalizedExc() const
    [with T = int]' [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:530:33: error: redundant
    redeclaration of 'Imath::Vec2<T>
    Imath::Vec2<T>::normalizedNonNull() const [with T = int]' in
    same scope [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:225:13: error: previous declaration
    of 'Imath::Vec2<T> Imath::Vec2<T>::normalizedNonNull()
    const [with T = int]' [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:536:24: error: redundant
    redeclaration of 'T Imath::Vec3<T>::length() const [with T =
    short int]' in same scope [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:409:7: error: previous declaration
    of 'T Imath::Vec3<T>::length() const [with T = short int]'
    [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:539:25: error: redundant
    redeclaration of 'const Imath::Vec3<T>&
    Imath::Vec3<T>::normalize() [with T = short int,
    Imath::Vec3<T> = Imath::Vec3<short int>]' in same scope
    [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:412:18: error: previous declaration
    of 'const Imath::Vec3<T>&
    Imath::Vec3<T>::normalize() [with T = short int,
    Imath::Vec3<T> = Imath::Vec3<short int>]'
    [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:542:49: error: redundant
    redeclaration of 'const Imath::Vec3<T>&
    Imath::Vec3<T>::normalizeExc() [with T = short int,
    Imath::Vec3<T> = Imath::Vec3<short int>]' in same scope
    [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:413:18: error: previous declaration
    of 'const Imath::Vec3<T>&
    Imath::Vec3<T>::normalizeExc() [with T = short int,
    Imath::Vec3<T> = Imath::Vec3<short int>]'
    [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:545:32: error: redundant
    redeclaration of 'const Imath::Vec3<T>&
    Imath::Vec3<T>::normalizeNonNull() [with T = short int,
    Imath::Vec3<T> = Imath::Vec3<short int>]' in same scope
    [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:414:18: error: previous declaration
    of 'const Imath::Vec3<T>&
    Imath::Vec3<T>::normalizeNonNull() [with T = short int,
    Imath::Vec3<T> = Imath::Vec3<short int>]'
    [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:548:28: error: redundant
    redeclaration of 'Imath::Vec3<T>
    Imath::Vec3<T>::normalized() const [with T = short int]' in
    same scope [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:416:13: error: previous declaration
    of 'Imath::Vec3<T> Imath::Vec3<T>::normalized() const
    [with T = short int]' [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:551:56: error: redundant
    redeclaration of 'Imath::Vec3<T>
    Imath::Vec3<T>::normalizedExc() const [with T = short int]' in
    same scope [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:417:13: error: previous declaration
    of 'Imath::Vec3<T> Imath::Vec3<T>::normalizedExc() const
    [with T = short int]' [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:554:35: error: redundant
    redeclaration of 'Imath::Vec3<T>
    Imath::Vec3<T>::normalizedNonNull() const [with T = short
    int]' in same scope [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:418:13: error: previous declaration
    of 'Imath::Vec3<T> Imath::Vec3<T>::normalizedNonNull()
    const [with T = short int]' [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:560:22: error: redundant
    redeclaration of 'T Imath::Vec3<T>::length() const [with T =
    int]' in same scope [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:409:7: error: previous declaration
    of 'T Imath::Vec3<T>::length() const [with T = int]'
    [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:563:23: error: redundant
    redeclaration of 'const Imath::Vec3<T>&
    Imath::Vec3<T>::normalize() [with T = int,
    Imath::Vec3<T> = Imath::Vec3<int>]' in same scope
    [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:412:18: error: previous declaration
    of 'const Imath::Vec3<T>&
    Imath::Vec3<T>::normalize() [with T = int,
    Imath::Vec3<T> = Imath::Vec3<int>]'
    [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:566:47: error: redundant
    redeclaration of 'const Imath::Vec3<T>&
    Imath::Vec3<T>::normalizeExc() [with T = int,
    Imath::Vec3<T> = Imath::Vec3<int>]' in same scope
    [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:413:18: error: previous declaration
    of 'const Imath::Vec3<T>&
    Imath::Vec3<T>::normalizeExc() [with T = int,
    Imath::Vec3<T> = Imath::Vec3<int>]'
    [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:569:30: error: redundant
    redeclaration of 'const Imath::Vec3<T>&
    Imath::Vec3<T>::normalizeNonNull() [with T = int,
    Imath::Vec3<T> = Imath::Vec3<int>]' in same scope
    [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:414:18: error: previous declaration
    of 'const Imath::Vec3<T>&
    Imath::Vec3<T>::normalizeNonNull() [with T = int,
    Imath::Vec3<T> = Imath::Vec3<int>]'
    [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:572:26: error: redundant
    redeclaration of 'Imath::Vec3<T>
    Imath::Vec3<T>::normalized() const [with T = int]' in same
    scope [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:416:13: error: previous declaration
    of 'Imath::Vec3<T> Imath::Vec3<T>::normalized() const
    [with T = int]' [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:575:54: error: redundant
    redeclaration of 'Imath::Vec3<T>
    Imath::Vec3<T>::normalizedExc() const [with T = int]' in same
    scope [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:417:13: error: previous declaration
    of 'Imath::Vec3<T> Imath::Vec3<T>::normalizedExc() const
    [with T = int]' [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:578:33: error: redundant
    redeclaration of 'Imath::Vec3<T>
    Imath::Vec3<T>::normalizedNonNull() const [with T = int]' in
    same scope [-Werror=redundant-decls]<br>
    /usr/include/OpenEXR/ImathVec.h:418:13: error: previous declaration
    of 'Imath::Vec3<T> Imath::Vec3<T>::normalizedNonNull()
    const [with T = int]' [-Werror=redundant-decls]<br>
    cc1plus: all warnings being treated as errors<br>
    make: *** [libgstopenexr_la-gstopenexrdec.lo] Error 1<br>
    <br>
    <meta http-equiv="content-type" content="text/html;
      charset=ISO-8859-1">
  </body>
</html>