Bug 196837 - [new port] graphics/libbpg: Better Portable Graphic (BPG) image format reference implementation
Summary: [new port] graphics/libbpg: Better Portable Graphic (BPG) image format refer...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Juergen Lock
Depends on:
Reported: 2015-01-18 12:39 UTC by Matthieu Volat
Modified: 2015-01-30 17:48 UTC (History)
1 user (show)

See Also:

libbpg port, to be applied in ${PORTSDIR} (6.55 KB, patch)
2015-01-18 12:39 UTC, Matthieu Volat
no flags Details | Diff
Improved port, to be applied in ${PORTSDIR} (6.57 KB, patch)
2015-01-29 18:11 UTC, Juergen Lock
no flags Details | Diff
Improved port, to be applied in ${PORTSDIR} (6.59 KB, patch)
2015-01-29 18:44 UTC, Juergen Lock
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Matthieu Volat 2015-01-18 12:39:41 UTC
Created attachment 151787 [details]
libbpg port, to be applied in ${PORTSDIR}

Hi, I'd like to propose a graphic/libbpg port to make the Better Portable Graphic (BPG) image format reference implementation developped by Fabrice Bellard (http://bellard.org/bpg/), who also proposed the format.

While very recent, and having not usage I heard of now, it would allow future usage in the future by other software.

This port install the bpg[enc|dec] tools as well as libbpg.a and an added libbpg.so library, with header files. The SDL option allows to install a viewer, other options allow to use external x265 encoder and internal options.

I volunteer also to maintain the port, unless other more established person would like to do so.

/usr/ports/graphics/libbpg# make check-plist
====> Checking for pkg-plist issues (check-plist)
===> Parsing plist
===> Checking for items in STAGEDIR missing from pkg-plist
===> Checking for items in pkg-plist which are not in STAGEDIR
===> No pkg-plist issues found (check-plist)
Comment 1 Juergen Lock freebsd_committer 2015-01-29 18:11:53 UTC
Created attachment 152346 [details]
Improved port, to be applied in ${PORTSDIR}

The port has a few problems, I hope I found them all:

- JCTVCHI option does nothing, removed it from OPTIONS_DEFINE.
- SDL_USE and X265_LIB_DEPENDS need to come before bpo.mk .
- Had to add compiler:c++11-lib to USES to fix build on 8.4 .
- Maybe more I forgot about...

New patch attached, can commit if you're ok with it.
Comment 2 Juergen Lock freebsd_committer 2015-01-29 18:44:22 UTC
Created attachment 152347 [details]
Improved port, to be applied in ${PORTSDIR}

Found two more issues:

- Whitespace after LICENSE_COMB.

New patch attached.
Comment 3 Matthieu Volat 2015-01-30 14:42:53 UTC
Seems good to me! Thanks for the fixes!
Comment 4 commit-hook freebsd_committer 2015-01-30 17:47:53 UTC
A commit references this bug:

Author: nox
Date: Fri Jan 30 17:47:03 UTC 2015
New revision: 378177
URL: https://svnweb.freebsd.org/changeset/ports/378177

  Add new port graphics/libbpg:

  BPG (Better Portable Graphics) is a new image format. Its purpose is to
  replace the JPEG image format when quality or file size is an issue. Its
  main advantages are:
   - High compression ratio. Files are much smaller than JPEG for similar
   - Supported by most Web browsers with a small Javascript decoder (gzipped
     size: 56 KB).
   - Based on a subset of the HEVC open video compression standard.
   - Supports the same chroma formats as JPEG (grayscale, YCbCr 4:2:0, 4:2:2,
     4:4:4) to reduce the losses during the conversion. An alpha channel is
     supported. The RGB, YCgCo and CMYK color spaces are also supported.
   - Native support of 8 to 14 bits per channel for a higher dynamic range.
   - Lossless compression is supported.
   - Various metadata (such as EXIF, ICC profile, XMP) can be included.
   - Animation support.

  WWW: http://bellard.org/bpg/

  PR:		196837
  Submitted by:	Matthieu Volat <mazhe@alkumuna.eu>

Comment 5 Juergen Lock freebsd_committer 2015-01-30 17:48:28 UTC
Committed.  Thanks!