Package Details: libde265 1.0.2-2

Git Clone URL: https://aur.archlinux.org/libde265.git (read-only)
Package Base: libde265
Description: Open h.265 video codec implementation
Upstream URL: https://github.com/strukturag/libde265
Licenses: LGPL3
Submitter: drevilt
Maintainer: jamesan (drevilt)
Last Packager: jamesan
Votes: 46
Popularity: 1.619613
First Submitted: 2013-09-05 11:19
Last Updated: 2016-06-08 08:58

Latest Comments

jamesan commented on 2016-04-09 12:40

I may have resolved the build error. The package now builds successfully with what appears to be the expected binaries and such. The only affect binary is sherlock265, the package's example Qt-based video player.

The missing identifiers refer to pixel formats in libavutil (part of ffmpeg) as defined in pix_fmt.h. In Oct 2012, the API changed by adding AV_ prefixes to PIX_FMT_* identifiers. The original non-prefixed identifiers were deprecated and moved to old_pix_fmt.h. It wasn't until Jul 2015 that the deprecated old_pix_fmt.h was finally dropped. There URLs lead to the commits where the deprecation and removal was made:
https://github.com/FFmpeg/FFmpeg/commit/78071a1420b425dfb787ac739048f523007b8139
https://github.com/FFmpeg/FFmpeg/commit/183db02a51a422568084b113a7571c845ca68622

Luckily, the build succeeds by simply prefixing PIX_FMT_* words with AV_, which should be done in the PKGBUILD's prepare() function like so:

<code>prepare() {
cd "$srcdir/$pkgname-$pkgver"
sed -ri 's/(PIX_FMT)/AV_\1/g' sherlock265/VideoDecoder.cc
}</code>

I've tested sherlock265 only insofar as executing it, but I don't have any HEVC-encoded video streams with which to test it.

---

Also, this PKGBUILD's version was released in Sep 2014 and more than 700 commits behind the latest release, v1.0.2. The above fix with the prepare() function also builds successfully with the source code of the latest upstream version.

jamesan commented on 2016-04-09 10:57

Re: gabrielo77, autoconf and automake are part of the base-devel and packaging guidelines recommend against including any member of that group in any of the dependencies as they should be assumed to already be installed:
https://wiki.archlinux.org/index.php/PKGBUILD#Dependencies

The same applies for members of the base group, like glibc, which should be removed from this PKGBUILD's depends() array.

jamesan commented on 2016-04-09 10:53

I encountered the exact same two C++ compilation errors as MickStep did when trying to build this package just now.

I can try to poke around the issue to shed some more light, but I'm totally unfamiliar with this. The undeclared identifiers (i.e. PIX_FMT_YUV420P and PIX_FMT_BGRA) have something to do with FFMPEG's picture formats (i.e. the planar 4:2:0 Y'CrCb color space and RGB + alpha pixel format).

MickStep commented on 2016-04-05 14:19

This package fails to build with

VideoDecoder.cc:222:41: error: ‘PIX_FMT_YUV420P’ was not declared in this scope
VideoDecoder.cc:222:73: error: ‘PIX_FMT_BGRA’ was not declared in this scope

gabrielo77 commented on 2015-10-21 21:26

I think autoconf and automake are required dependencies

sekret commented on 2013-09-05 13:03

$ namcap libde265-0.1-1-x86_64.pkg.tar.xz
libde265 W: File (usr/lib/libde265.la) is a libtool file
libde265 E: Dependency glibc detected and not included (libraries ['usr/lib/libc.so.6', 'usr/lib/libm.so.6'] needed in files ['usr/lib/libde265.so.0.0.0'])