Commit Graph

72 Commits

Author SHA1 Message Date
Orivej Desh
aa44ca368a ffmpeg: add libaom to build inputs only if enabled 2020-05-23 19:56:22 +00:00
Florian Klink
a42e33612a
Merge pull request #87968 from elohmeier/ffmpeg-addOpenGLRunpath2
ffmpeg: extend addOpenGLRunpath to handle libcuda referencing libraries
2020-05-16 21:51:25 +02:00
Enno Lohmeier
78987e2af0 ffmpeg: extend addOpenGLRunpath to handle libcuda referencing libraries 2020-05-16 21:48:59 +02:00
John Ericson
ee8cfe4bf3 treewide: pkg-config has targetPrefix 2020-05-16 00:21:21 +00:00
Michael Reilly
84cf00f980
treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
Andrew Childs
4ac6c244cc ffmpeg: fix vdpauSupport=false 2020-02-09 09:23:57 +01:00
Jörg Thalheim
1a931f1f60
Revert "Revert "ffmpeg: fix cross compilation""
This reverts commit 7d46f7363c.

This change was accidentally commit to master. To avoid a mass-rebuild we
actually apply this change on staging first.
2020-01-04 08:26:03 +00:00
Jörg Thalheim
7d46f7363c
Revert "ffmpeg: fix cross compilation"
This reverts commit f6f8f0b75a.

avoid mass-rebuild on master; move to staging instead.
2020-01-04 08:25:54 +00:00
Daniel Fullmer
1b591acf6b
ffmpeg: fix cross compilation 2020-01-04 08:25:51 +00:00
Robin Gloster
4a8de55be0
ffmpeg: fix for structured attrs 2019-12-31 01:26:02 +01:00
Mateusz Kowalczyk
1451a52a38 Remove myself (fuuzetsu) from maintainer lists
I haven't been doing any maintenance for a long time now and not only
do I get notified, it also creates a fake impression that all these
packages had at least one maintainer when in practice they had none.
2019-12-05 16:29:48 +09:00
adisbladis
c9d8624ccd
treewide: Get rid of libGLU_combined 2019-11-18 20:10:43 +00:00
Timothy DeHerrera
30e428c96c ffmpeg: add options for QuickSync and libaom AV1
Allow users to optionally compile with support for Intel's QuickSync
hardware accelerated encoding, and libaom AV1 encoding. Set to false by
default.
2019-11-12 14:42:58 +01:00
Ivan Kozik
46cbb8453a mpv, ffmpeg: use addOpenGLRunpath to fix CUDA-accelerated playback
This fixes #67780.

Currently, using `mpv --hwdec=nvdec --msg-level=vd=debug` on NVIDIA results in:

```
[vd] Opening decoder hevc
[vd] Looking at hwdec hevc-nvdec...
Cannot load libcuda.so.1
[vd] Could not create device.
[vd] No hardware decoding available for this codec.
```

With just mpv patched, ffmpeg cannot load libnvcuvid.so.1:

```
[vd] Opening decoder hevc
[vd] Looking at hwdec hevc-nvdec...
[vd] Trying hardware decoding via hevc-nvdec.
[vd] Selected codec: hevc (HEVC (High Efficiency Video Coding))
[vd] Pixel formats supported by decoder: vaapi_vld cuda yuv420p10le
[vd] Codec profile: Main 10 (0x2)
[vd] Requesting pixfmt 'cuda' from decoder.
[ffmpeg/video] hevc: Cannot load libnvcuvid.so.1
[ffmpeg/video] hevc: Failed loading nvcuvid.
[ffmpeg/video] hevc: Failed setup for format cuda: hwaccel initialisation returned error.
```

With both mpv and ffmpeg patched, it works:

```
[vd] Opening decoder hevc
[vd] Looking at hwdec hevc-nvdec...
[vd] Trying hardware decoding via hevc-nvdec.
[vd] Selected codec: hevc (HEVC (High Efficiency Video Coding))
[vd] Pixel formats supported by decoder: vaapi_vld cuda yuv420p10le
[vd] Codec profile: Main 10 (0x2)
[vd] Requesting pixfmt 'cuda' from decoder.
Using hardware decoding (nvdec).
[vd] Decoder format: 3840x2160 cuda[p010] bt.2020-ncl/bt.2020/pq/limited/auto SP=10.000000 CL=unknown (auto 0.000000/0.000000/0.000000)
```
2019-09-06 23:18:26 +00:00
Niklas Hambüchen
9e78f76ade treewide: Remove unnecessary --disable-static (#66759)
* freetype: Remove unnecessary `--disable-static`.

The true-by-default `dontDisableStatic` already takes care of it.

Fixes freetype not being overridable to have static libs.

* treewide: Remove unnecessary `--disable-static`.

The true-by-default `dontDisableStatic` already takes care of it.

Fixes these packages not being overridable to have static libs.
2019-08-31 08:10:53 -04:00
Michael Weiss
aed9694829
ffmpeg_4: Enable support for AV1 decoding via dav1d by default
This is e.g. required for mpv (depends on ffmpeg_4) to play AV1 videos.
Fixes #54990.

But since dav1d is only a AV1 decoder this doesn't support AV1 encoding
as well (that would require an additional dependency on libaom).
The dependency on dav1d can be disabled by overriding it to null.
2019-08-25 21:40:10 +02:00
volth
46420bbaa3 treewide: name -> pname (easy cases) (#66585)
treewide replacement of

stdenv.mkDerivation rec {
  name = "*-${version}";
  version = "*";

to pname
2019-08-15 13:41:18 +01:00
Ivan Kozik
de8f760fbd ffmpeg, mpv: enable hardware-accelerated decoding with CUDA
NVIDIA users can now use `mpv --hwdec=nvdec` to play videos that the
software decoders cannot keep up with.
2019-02-11 00:32:43 +00:00
Cole Mickens
b79dc80b2f ffmpeg: enable libdrm 2018-10-29 05:24:19 -07:00
Vladimír Čunát
56621c016d
ffmpeg: unbreak build of older versions after #46078
As in the other cases, I didn't care about passing the dependency
if unused...
2018-10-02 11:18:20 +02:00
Jan Malakhovski
6abd75067a ffmpeg: add support for libssh and speex (#46078) 2018-09-05 17:17:01 +02:00
John Ericson
0828e2d8c3 treewide: Remove usage of remaining redundant platform compatability stuff
Want to get this out of here for 18.09, so it can be deprecated
thereafter.
2018-08-30 17:20:32 -04:00
Jan Malakhovski
b135329dc5 treewide: random cleanups 2018-08-10 12:56:31 +00:00
volth
6d2857a311 [bot] treewide: remove unused 'inherit' in let blocks 2018-07-20 19:38:19 +00:00
Andrew Childs
2d9cc7a3bf ffmpeg: enable libvpx on Darwin 2018-07-16 18:07:42 +09:00
Andrew Childs
342f72e747 ffmpeg: fix includedir in pkg-config files 2018-07-15 14:53:03 +09:00
Andrew Childs
ad19127009 ffmpeg: fix inverted cross compilation flags 2018-07-15 13:15:24 +09:00
John Ericson
f40aa17933 Merge remote-tracking branch 'upstream/master' into staging 2018-05-10 13:29:04 -04:00
xeji
1463480edb
Merge pull request #40289 from yegortimoshenko/mpv-bump
mpv: 0.27.2 -> 0.28.2
2018-05-10 18:21:38 +02:00
Yegor Timoshenko
956d174c8d
ffmpeg_4: init 2018-05-10 17:44:40 +03:00
John Ericson
7d8e16d939
Merge pull request #40275 from obsidiansystems/fewer-crossAttrs
fontconfig, misc A/V packages: No crossAttrs
2018-05-10 02:17:34 -04:00
John Ericson
7864a17bfb misc video players: Clean up cross 2018-05-10 01:57:49 -04:00
John Ericson
006422d08d Merge commit 'feb648ce59ffbed94c58133eb7aa2761992a35e1' into staging 2018-05-10 01:55:26 -04:00
John Ericson
a02be2bd85 treewide: Get rid of *Platform.arch
Use `parsed.cpu.name` or `platform.gcc.arch` instead.
2018-05-10 01:37:31 -04:00
Matthew Justin Bauer
eeb016e8f0
Merge branch 'staging' into fix-ncurses-darwin-extensions 2018-05-02 15:40:38 -05:00
John Ericson
b9acfb4ecf treewide: isArm -> isAarch32
Following legacy packing conventions, `isArm` was defined just for
32-bit ARM instruction set. This is confusing to non packagers though,
because Aarch64 is an ARM instruction set.

The official ARM overview for ARMv8[1] is surprisingly not confusing,
given the overall state of affairs for ARM naming conventions, and
offers us a solution. It divides the nomenclature into three levels:

```
ISA:             ARMv8   {-A, -R, -M}
                 /    \
Mode:     Aarch32     Aarch64
             |         /   \
Encoding:   A64      A32   T32
```

At the top is the overall v8 instruction set archicture. Second are the
two modes, defined by bitwidth but differing in other semantics too, and
buttom are the encodings, (hopefully?) isomorphic if they encode the
same mode.

The 32 bit encodings are mostly backwards compatible with previous
non-Thumb and Thumb encodings, and if so we can pun the mode names to
instead mean "sets of compatable or isomorphic encodings", and then
voilà we have nice names for 32-bit and 64-bit arm instruction sets
which do not use the word ARM so as to not confused either laymen or
experienced ARM packages.

[1]: https://developer.arm.com/products/architecture/a-profile

(cherry picked from commit ba52ae5048)
2018-04-25 15:50:41 -04:00
John Ericson
ba52ae5048 treewide: isArm -> isAarch32
Following legacy packing conventions, `isArm` was defined just for
32-bit ARM instruction set. This is confusing to non packagers though,
because Aarch64 is an ARM instruction set.

The official ARM overview for ARMv8[1] is surprisingly not confusing,
given the overall state of affairs for ARM naming conventions, and
offers us a solution. It divides the nomenclature into three levels:

```
ISA:             ARMv8   {-A, -R, -M}
                 /    \
Mode:     Aarch32     Aarch64
             |         /   \
Encoding:   A64      A32   T32
```

At the top is the overall v8 instruction set archicture. Second are the
two modes, defined by bitwidth but differing in other semantics too, and
buttom are the encodings, (hopefully?) isomorphic if they encode the
same mode.

The 32 bit encodings are mostly backwards compatible with previous
non-Thumb and Thumb encodings, and if so we can pun the mode names to
instead mean "sets of compatable or isomorphic encodings", and then
voilà we have nice names for 32-bit and 64-bit arm instruction sets
which do not use the word ARM so as to not confused either laymen or
experienced ARM packages.

[1]: https://developer.arm.com/products/architecture/a-profile
2018-04-25 15:28:55 -04:00
Jan Malakhovski
7438083a4d tree-wide: disable doCheck and doInstallCheck where it fails (the trivial part) 2018-04-25 04:18:46 +00:00
Alexander V. Nikolaev
0acec7e984 treewide: transition mesa to libGLU_combined 2018-02-24 17:06:49 +02:00
Will Dietz
22e0a3c1b8 ffmpeg: fix cross compile eval 2018-01-05 18:35:19 -06:00
John Ericson
e755a8a27d treewide: Use targetPrefix instead of prefix for platform name prefixes
Certain tools, e.g. compilers, are customarily prefixed with the name of
their target platform so that multiple builds can be used at once
without clobbering each other on the PATH. I was using identifiers named
`prefix` for this purpose, but that conflicts with the standard use of
`prefix` to mean the directory where something is installed. To avoid
conflict and confusion, I renamed those to `targetPrefix`.
2017-11-27 03:15:50 -05:00
Tuomas Tynkkynen
9f2f74d9bc ffmpeg: Add man output 2017-08-11 21:32:53 +03:00
John Ericson
38dbd4b161 ffmpeg: Don't use stdenv.cross 2017-06-28 18:21:06 -04:00
John Ericson
594d264205 cross stdenv adaptor: Support --host --build --target across the board
Packages get --host and --target by default, but can explicitly request
any subset to be passed as needed. See docs for more info.

rustc: Avoid hash breakage by using the old (ignored)
dontSetConfigureCross when not cross building
2017-06-22 17:52:28 -04:00
Nikolay Amiantov
6679dbbd60 ffmpeg: fix arm build 2017-05-19 02:29:49 +03:00
Cray Elliott
dfd371de9b ffmpeg: use SDL2 instead of SDL for 3.2 and above
addresses issue #24658

special thanks to codyopel who suggested this solution!
2017-04-30 16:52:48 -07:00
Tomas Hlavaty
20f138c3d7 ffmpeg: respect sdlSupport option 2016-12-13 22:37:06 +01:00
Tuomas Tynkkynen
a17216af4c treewide: Shuffle outputs
Make either 'bin' or 'out' the first output.
2016-08-29 14:49:51 +03:00
Daiderd Jordan
00b05d47d3
ffmpeg: add extra darwin framework for 3.1 2016-08-07 12:27:05 +02:00
Franz Pletz
28e051f066
ffmpeg: add patches for libvpx 1.5
ffmpeg bug report: https://trac.ffmpeg.org/ticket/4956
ffmepg fix commit: http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=6540fe04a3f9a11ba7084a49b3ee5fa2fc5b32ab
2016-05-17 01:02:30 +02:00