Commit Graph

227 Commits

Author SHA1 Message Date
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
Michael Weiss
28d637d345
ffmpeg_4: 4.1.4 -> 4.2
Changelog: https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/refs/heads/release/4.2:/Changelog
2019-08-10 14:09:22 +02:00
Vladimír Čunát
3e17fe4522
ffmpeg{_4,-full}: 4.1.3 -> 4.1.4 (security)
Fixes #64656 CVE-2019-13312 CVE-2019-13390.
2019-07-30 15:31:24 +02:00
Vladimír Čunát
58213cd9ca
Merge #60740: ffmpeg*: 4.1.2 -> 4.1.3 2019-05-11 11:24:18 +02:00
c0bw3b
9cb260d091 [treewide] delete unused patches 2019-05-04 19:52:24 +02:00
adisbladis
88e5ccd16d
ffmpeg_4: 4.1.2 -> 4.1.3 2019-05-02 16:44:34 +01:00
Frederik Rietdijk
230c67f43b Merge master into staging-next 2019-04-11 07:50:23 +02:00
ryan4729
49c646cbf7 ffmpeg_4: build with videotoolbox on darwin (#57743) 2019-04-11 01:09:45 -04:00
Jan Tojnar
cb1a20499a
Merge branch 'master' into staging 2019-04-05 11:37:15 +02:00
John Ericson
4ccb74011f Merge commit '18aa59b0f26fc707e7313f8467e67159e61600c2' from master into staging
There was one conflict in the NixOS manual; I checked that it still
built after resolving it.
2019-04-01 00:40:03 -04:00
Silvan Mosberger
a8e19088da
Merge pull request #54392 from ivan/nv-codec
ffmpeg, mpv: enable hardware-accelerated decoding with CUDA
2019-03-29 19:57:13 +01:00
Will Dietz
dfdacfdd8a ffmpeg: 3.4.5 -> 3.4.6
0ac9001ab9:/Changelog
2019-03-29 11:25:28 -05:00
Will Dietz
c537b96890 ffmpeg_4: 4.1.1 -> 4.1.2
a7cb7a2e43:/Changelog
2019-03-24 14:20:17 -05:00
Will Dietz
b3171efe3b ffmpeg: 4.1 -> 4.1.1
https://git.ffmpeg.org/gitweb/ffmpeg.git/shortlog/n4.1.1
2019-02-11 17:44:24 -06: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
Piotr Bogdan
c626c85dce ffmpeg_0: drop 2019-01-27 00:41:18 +00:00
Piotr Bogdan
8eeecd653d ffmpeg_1: drop 2019-01-27 00:41:18 +00:00
Will Dietz
2420e96990 ffmpeg{_4,-full}: 4.0.3 -> 4.1 2018-12-28 13:06:20 -06:00
Will Dietz
6ba05c7dac ffmpeg_3_4: 3.4.4 -> 3.4.5 2018-12-28 13:06:20 -06:00
Will Dietz
d15818f55a ffmpeg: 4.0.2 -> 4.0.3
https://www.ffmpeg.org/download.html#releases
https://git.ffmpeg.org/gitweb/ffmpeg.git/shortlog/n4.0.3
2018-12-28 13:06:20 -06: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
Cray Elliott
737fdd7348 ffmpeg_4, ffmpeg-full: 4.0.1 -> 4.0.2 2018-08-01 21:20:14 -07:00
Matthew Harm Bekkema
4f505d7267 ffmpeg: 3.4.3 -> 3.4.4 (bugfix) (#44267)
Fixes #44256
2018-08-01 15:22:20 +02: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
Vladimír Čunát
ba8cb47905
Merge #43556: ffmpeg: build fixes 2018-07-15 11:17:18 +02:00
Vladimír Čunát
03e13ab370
ffmpeg_4, ffmpeg-full: 4.0 -> 4.0.1 (security)
https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/e049f7c24f:/Changelog
http://ffmpeg.org/security.html claims it fixes CVE-2018-12458..12460
2018-07-15 11:07:03 +02:00
Vladimír Čunát
10cbebe3df
ffmpeg: 3.4.2 -> 3.4.3 (security)
https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/89355585366:/Changelog
/cc #42882: it certainly seems to fix some security issues,
but I'm not sure about mapping to particular CVE numbers;
perhaps it will appear on http://ffmpeg.org/security.html
2018-07-15 11:07:00 +02: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
Vladimír Čunát
06b602b192
ffmpeg_2: 2.8.13 -> 2.8.14
Lots of bugfixes:
https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/3f8a0d5ad1:/Changelog
2018-06-17 12:13:38 +02: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