4k-HEVC mit AMD Polaris/Vega unter Stretch?

Sound, Digitalkameras, TV+Video und Spiele.
Antworten
Benutzeravatar
hikaru
Moderator
Beiträge: 13559
Registriert: 09.04.2008 12:48:59

4k-HEVC mit AMD Polaris/Vega unter Stretch?

Beitrag von hikaru » 03.09.2018 16:20:05

Hallo,

seitdem ich mich das letzte mal mit dem Thema beschäftigt habe [1] ist etwas Zeit vergangen, und ich bin nicht mehr auf dem Laufenden.

Kann man inzwischen unter Stretch auf Polaris- und Vega-Grafikkarten hevc-Videos abspielen?
Und falls ja, was braucht man softwareseitig dazu? Debianfirmware-amd-graphics dürfte nötig sein.
Braucht man außerdem den amdgpu-pro-Treiber oder reicht amdgpu aus dem Kernel?
Welchen Kernel braucht man? Ich würde ja vermuten, 4.17 aus den Backports wäre angesagt, allerdings wird der Backports-Kernel unter [2] nicht erwähnt, so dass der Eindruck entstehen könnte, amdgpu wäre nach 4.9 zurückportiert worden, woran ich nicht recht glauben will.

Falls jemand eine passende Hardware- und Softwarekonstellation hat, würde ich mich über Aussagen zu den Testvideos unter [3] freuen. Besonders interessieren würde mich natürlich, ob [4] noch flüssig decodiert wird und ob es bei [5] eine Tonausgabe gibt.


[1] viewtopic.php?f=13&t=161817
[2] https://linuxconfig.org/how-to-install- ... etch-linux
[3] http://jell.yfish.us/
[4] http://jell.yfish.us/media/jellyfish-40 ... -10bit.mkv
[5] http://jell.yfish.us/media/jellyfish-14 ... -10bit.mkv

mludwig
Beiträge: 793
Registriert: 30.01.2005 19:35:04

Re: 4k-HEVC mit AMD Polaris/Vega unter Stretch?

Beitrag von mludwig » 03.09.2018 20:20:01

Bin zwar nicht mehr auf stretch, aber mit den backports wären die hierfür relevanten Pakete nicht soweit auseinander. Das wären IMHO vor allem die libdrm-radeon1, alles was mit mesa zu tun hat (libgl*) und natürlich darauf aufbauend mesa-va-drivers.

Code: Alles auswählen

cat /etc/debian_version 
buster/sid[code]


[code]
$ vainfo
libva info: VA-API version 1.2.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_2
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.2 (libva 2.2.0)
vainfo: Driver version: Mesa Gallium driver 18.1.7 for AMD Radeon (TM) RX 480 Graphics (POLARIS10, DRM 3.26.0, 4.18.0-trunk-amd64, LLVM 6.0.1)
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointEncSlice
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointEncSlice
      VAProfileHEVCMain               :	VAEntrypointVLD
      VAProfileHEVCMain               :	VAEntrypointEncSlice
      VAProfileHEVCMain10             :	VAEntrypointVLD
      VAProfileJPEGBaseline           :	VAEntrypointVLD
      VAProfileNone                   :	VAEntrypointVideoProc 
und vdpau:

Code: Alles auswählen

$ vdpauinfo 
display: :0   screen: 0
API version: 1
Information string: G3DVL VDPAU Driver Shared Library version 1.0

Video surface:

name   width height types
-------------------------------------------
420    16384 16384  NV12 YV12 
422    16384 16384  UYVY YUYV 
444    16384 16384  Y8U8V8A8 V8U8Y8A8 

Decoder capabilities:

name                        level macbs width height
----------------------------------------------------
MPEG1                          --- not supported ---
MPEG2_SIMPLE                    3 65536  4096  4096
MPEG2_MAIN                      3 65536  4096  4096
H264_BASELINE                  52 65536  4096  4096
H264_MAIN                      52 65536  4096  4096
H264_HIGH                      52 65536  4096  4096
VC1_SIMPLE                      1 65536  4096  4096
VC1_MAIN                        2 65536  4096  4096
VC1_ADVANCED                    4 65536  4096  4096
MPEG4_PART2_SP                  3 65536  4096  4096
MPEG4_PART2_ASP                 5 65536  4096  4096
DIVX4_QMOBILE                  --- not supported ---
DIVX4_MOBILE                   --- not supported ---
DIVX4_HOME_THEATER             --- not supported ---
DIVX4_HD_1080P                 --- not supported ---
DIVX5_QMOBILE                  --- not supported ---
DIVX5_MOBILE                   --- not supported ---
DIVX5_HOME_THEATER             --- not supported ---
DIVX5_HD_1080P                 --- not supported ---
H264_CONSTRAINED_BASELINE       0 65536  4096  4096
H264_EXTENDED                  --- not supported ---
H264_PROGRESSIVE_HIGH          --- not supported ---
H264_CONSTRAINED_HIGH          --- not supported ---
H264_HIGH_444_PREDICTIVE       --- not supported ---
HEVC_MAIN                      186 65536  4096  4096
HEVC_MAIN_10                   186 65536  4096  4096
HEVC_MAIN_STILL                --- not supported ---
HEVC_MAIN_12                   --- not supported ---
HEVC_MAIN_444                  --- not supported ---

Output surface:

name              width height nat types
----------------------------------------------------
B8G8R8A8         16384 16384    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A8I8 I8A8 
R8G8B8A8         16384 16384    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A8I8 I8A8 
R10G10B10A2      16384 16384    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A8I8 I8A8 
B10G10R10A2      16384 16384    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A8I8 I8A8 

Bitmap surface:

name              width height
------------------------------
B8G8R8A8         16384 16384
R8G8B8A8         16384 16384
R10G10B10A2      16384 16384
B10G10R10A2      16384 16384
A8               16384 16384

Video mixer:

feature name                    sup
------------------------------------
DEINTERLACE_TEMPORAL             y
DEINTERLACE_TEMPORAL_SPATIAL     -
INVERSE_TELECINE                 -
NOISE_REDUCTION                  y
SHARPNESS                        y
LUMA_KEY                         y
HIGH QUALITY SCALING - L1        y
HIGH QUALITY SCALING - L2        -
HIGH QUALITY SCALING - L3        -
HIGH QUALITY SCALING - L4        -
HIGH QUALITY SCALING - L5        -
HIGH QUALITY SCALING - L6        -
HIGH QUALITY SCALING - L7        -
HIGH QUALITY SCALING - L8        -
HIGH QUALITY SCALING - L9        -

parameter name                  sup      min      max
-----------------------------------------------------
VIDEO_SURFACE_WIDTH              y        48     4096
VIDEO_SURFACE_HEIGHT             y        48     4096
CHROMA_TYPE                      y  
LAYERS                           y         0        4

attribute name                  sup      min      max
-----------------------------------------------------
BACKGROUND_COLOR                 y  
CSC_MATRIX                       y  
NOISE_REDUCTION_LEVEL            y      0.00     1.00
SHARPNESS_LEVEL                  y     -1.00     1.00
LUMA_KEY_MIN_LUMA                y  
LUMA_KEY_MAX_LUMA                y
Außerdem habe ich festgestellt, das bei so grenzwertigen Videos wie deinem Beispiel mit 400Mbps auch der Player viel ausmacht. Bei mir hat mpv am besten mitgemacht. Totem, mplayer und vlc haben dies nur als Diashow angezeigt.

400Mbit
mpv -vo vdpau jelly ... .mpv
Ist fast flüssig, zeigt im ersten Teil mit den vielen Luftblasen noch leichtes Ruckeln, der 2. Teil mit der großen rötlichen Qualle ist ok. Trotz Unterstützung durch die Grafikkarte ist die CPU bei über 90% Last ...

mpv -vo vaapi jelly ... mpv zeigt schon stärkeres Stottern ...

Das andere Video mit 140Mbit und Mehrkanalton läuft flüssig und mit Ton, in Totem mit 80-90% CPU und in mpv anfangs mit 70%, dann mit 50% Last.

Code: Alles auswählen

ich@rechner$ mpv -vo vdpau jellyfish-400-mbps-4k-uhd-hevc-10bit.mkv 
Playing: jellyfish-400-mbps-4k-uhd-hevc-10bit.mkv
 (+) Video --vid=1 (*) (hevc 3840x2160 29.970fps)
[autoconvert] Converting yuv420p10 -> yuv420p
VO: [vdpau] 3840x2160 yuv420p
[vo/vdpau] Compositing window manager detected. Assuming timing info is inaccurate.
V: 00:00:02 / 00:00:30 (7%)


Exiting... (Quit)
ich@rechner:~/Desktop$ mpv -vo vaapi jellyfish-400-mbps-4k-uhd-hevc-10bit.mkv 
Playing: jellyfish-400-mbps-4k-uhd-hevc-10bit.mkv
 (+) Video --vid=1 (*) (hevc 3840x2160 29.970fps)
[autoconvert] Converting yuv420p10 -> yuv420p
VO: [vaapi] 3840x2160 yuv420p
V: 00:00:06 / 00:00:30 (21%) Dropped: 108


Exiting... (Quit)

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: 4k-HEVC mit AMD Polaris/Vega unter Stretch?

Beitrag von rendegast » 03.09.2018 20:31:08

Ich habe mal drivers/gpu/drm/amd/ auf die Schnelle verglichen von
4.17.15 und 4.9.107.

String "hevc" findet sich an 40 Stellen im 4.9, an 128 Stellen beim 4.17.
Ein rekursives 'diff' scheint wegen des Umfangs nicht auf eine Rückportierung zu deuten, sondern auf eine Evolution.

Für Deine Anwendung scheint 4.17 empfehlenswert,
Funktion/Performanz ist wohl auszuprobieren.


Debianfirmware-amd-graphics
stretch-backports enthält etliche firmware mehr, zudem unterscheiden sich etliche (dabei auch polaris/vega).
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
hikaru
Moderator
Beiträge: 13559
Registriert: 09.04.2008 12:48:59

Re: 4k-HEVC mit AMD Polaris/Vega unter Stretch?

Beitrag von hikaru » 03.09.2018 21:13:58

@mludwig:
Danke für den Test!

Darf ich fragen, was du für eine CPU hast? Dein Ergebnis spricht recht deutlich für CPU-Decodierung, denn auf der Nvidia GTX 950 aus meinem anderen Thread erzeugt selbst das 400MBit-Video auf einem betagten Q9550 keine nennenswerte Auslastung.
Könntest du bitte nochmal Big Buck Bunny [1] in 4k [2] testen, für den Fall, dass deine RX 480 nur kein Main10-Profil kann? Laut vdpauinfo sollte sie zwar Main(8) und Main10 können, aber ich habe da auch schon mit der Nvidia-Karte inkonsistente Infos gesehen.

Da ja auch die RX 480 nicht mehr ganz taufrisch ist, würde eine aktuellere Karte vielleicht andere Ergebnisse bringen. Alles was ich heute zu dem Thema gelesen hatte bezog sich auf "Polaris 12", was einer RX 540/550 entspräche aber z.B. nicht RX 560-580 (AMDs Polaris-Nummern sind nicht streng fortlaufend).


@rendegast:
Danke für's Erledigen meiner Hausaufgaben! ;)


[1] https://www.libde265.org/downloads-vide ... uck-bunny3
[2] https://www.libde265.org/hevc-bitstream ... -cfg02.mkv

mludwig
Beiträge: 793
Registriert: 30.01.2005 19:35:04

Re: 4k-HEVC mit AMD Polaris/Vega unter Stretch?

Beitrag von mludwig » 04.09.2018 09:50:43

Hier mal die Hardware-Übersicht, das Video probiere ich wenn ich wieder zu Hause bin ...

Code: Alles auswählen

# inxi -F
System:    Host: rechner Kernel: 4.18.0-trunk-amd64 x86_64 bits: 64 Console: tty 1
           Distro: Debian GNU/Linux buster/sid
Machine:   Type: Desktop Mobo: ASUSTeK model: P9X79 PRO v: Rev 1.xx serial: xxxx
           BIOS: American Megatrends v: 3305 date: 12/25/2012
CPU:       Topology: 6-Core model: Intel Core i7-3930K bits: 64 type: MT MCP L2 cache: 12.0 MiB
           Speed: 1201 MHz min/max: 1200/3800 MHz Core speeds (MHz): 1: 1201 2: 1201 3: 1201 4: 1201 5: 1201
           6: 1201 7: 1201 8: 1201 9: 1200 10: 1201 11: 1201 12: 1201
Graphics:  Card-1: Advanced Micro Devices [AMD/ATI] Ellesmere [Radeon RX 470/480] driver: amdgpu v: kernel
           Display: server: X.org 1.20.1 driver: none tty: 181x38
           Message: Advanced graphics data unavailable in console for root.
Audio:     Card-1: Intel C600/X79 series High Definition Audio driver: snd_hda_intel
           Card-2: Advanced Micro Devices [AMD/ATI] Ellesmere [Radeon RX 580] driver: snd_hda_intel
           Sound Server: ALSA v: k4.18.0-trunk-amd64
Network:   Card-1: Intel 82579V Gigabit Network driver: e1000e
...
Info:      Processes: 456 Uptime: 14h 53m Memory: 62.86 GiB used: 8.37 GiB (13.3%) Init: systemd runlevel: 5
           Shell: bash inxi: 3.0.20
war bisher für alles schnell genug, aber mir ist bisher auch kein 400Mbit hevc-Video untergekommen ... 80Mbit waren glaub mal das max. in einem 4k Rip.

Benutzeravatar
hikaru
Moderator
Beiträge: 13559
Registriert: 09.04.2008 12:48:59

Re: 4k-HEVC mit AMD Polaris/Vega unter Stretch?

Beitrag von hikaru » 04.09.2018 10:43:35

mludwig hat geschrieben: ↑ zum Beitrag ↑
04.09.2018 09:50:43
Hier mal die Hardware-Übersicht, das Video probiere ich wenn ich wieder zu Hause bin ...
Danke!
mludwig hat geschrieben: ↑ zum Beitrag ↑
04.09.2018 09:50:43

Code: Alles auswählen

CPU:       Topology: 6-Core model: Intel Core i7-3930K bits: 64 type: MT MCP L2 cache: 12.0 MiB
Der Prozessor könnte das BBB-4k-Video mit mpv vielleicht in Software schaffen. Das sollte sich schon in der ersten Minute zeigen, bis der Hase aus seiner Höhle gekrochen kommt. Mein i7-2700k schafft es bei 75% Geschwindigkeit ohne Framedrops abzuspielen, und laut [1] hat dein 3930k genau die mir fehlenden 25%. Allerdings ist meine CPU um ca. 20% übertaktet.

Mit Blick auf die GPU-Decodierung wäre daher interessant, ob bei dir überhaupt eine nennenswerte CPU-Last (>10%) auftritt, denn ich vermute, hier hattest du gar keine GPU-Unterstützung:.
mludwig hat geschrieben: ↑ zum Beitrag ↑
03.09.2018 20:20:01
400Mbit
mpv -vo vdpau jelly ... .mpv
Ist fast flüssig, zeigt im ersten Teil mit den vielen Luftblasen noch leichtes Ruckeln, der 2. Teil mit der großen rötlichen Qualle ist ok. Trotz Unterstützung durch die Grafikkarte ist die CPU bei über 90% Last ...
Im GUI des Nvidia-Treibers kann man die Auslastung der GPU sehen und das sah ich beim Abspielen des 400MBit-Jellyfish-Videos auf der GTX 950 auch deutlich (75%?), während die CPU zwischen 10% und 20% dümpelte, wenn ich mich richtig erinnere.
Vielleicht gibt es bei AMD-Grafikkarten eine ähnliche Auslastungsanzeige.


[1] https://www.cpubenchmark.net/compare/In ... K/881vs902

geier22

Re: 4k-HEVC mit AMD Polaris/Vega unter Stretch?

Beitrag von geier22 » 04.09.2018 17:57:01

Soviel GrakA Debatten, um Filme die ich gar nicht brauche.
Jetzt habt ihr mich aber heiß :evil: :evil: :mrgreen: gemacht.

Hab mir gerade eine KFA2 GeForce® GTX 1060 EXOC 3GB bestellt.

Dann kann ich endlich auch mal mitreden und auf meinem "großen" auch DVB T2 glotzen :P

Mit meiner momentanen Ausrüstung war bei jellyfish-140-mbps-4k-uhd-hevc-10bit.mkv mehr oder weniger Schluss. :|
Lief zwar noch mit 94 % CPU-Last ohne zu ruckeln, aber der Ton war schon nicht mehr synchron,
und hörte dann irgendwann ganz auf.

Code: Alles auswählen

mpv /home/hans/Videos/jellyfish-140-mbps-4k-uhd-hevc-10bit.mkv
Playing: /home/hans/Videos/jellyfish-140-mbps-4k-uhd-hevc-10bit.mkv
 (+) Video --vid=1 (*) (hevc 3840x2160 29.970fps)
 (+) Audio --aid=1 (*) (truehd 6ch 48000Hz)
AO: [pulse] 48000Hz 5.1(side) 6ch s32
VO: [gpu] 3840x2160 yuv420p10
AV: 00:00:01 / 00:00:30 (3%) A-V:  0.485 Dropped: 15

Audio/Video desynchronisation detected! Possible reasons include too slow
hardware, temporary CPU spikes, broken drivers, and broken files. Audio
position will not match to the video (see A-V status field).

AV: 00:00:30 / 00:00:30 (99%) A-V:  0.000 Dropped: 518


Exiting... (End of file)

Code: Alles auswählen

System:    Host: sparkyxfce Kernel: 4.17.0-3-amd64 x86_64 bits: 64 Desktop: Xfce 4.12.4 
           Distro: SparkyLinux 5 (Nibiru) 
Machine:   Type: Desktop Mobo: ASRock model: 970 Performance/3.1 serial: <root required> 
           UEFI [Legacy]: American Megatrends v: P1.10 date: 01/26/2016 
CPU:       Topology: 6-Core model: AMD FX-6300 bits: 64 type: MCP L2 cache: 2048 KiB 
           Speed: 1396 MHz min/max: 1400/3500 MHz Core speeds (MHz): 1: 1397 2: 1394 3: 1461 4: 1771 5: 1396 
           6: 1396 
Graphics:  Device-1: NVIDIA GM107 [GeForce GTX 750 Ti] driver: nvidia v: 390.77 
           Display: x11 server: X.Org 1.20.1 driver: nvidia unloaded: fbdev,modesetting,nouveau,vesa 
           resolution: 2560x1600~60Hz 
           OpenGL: renderer: GeForce GTX 750 Ti/PCIe/SSE2 v: 4.6.0 NVIDIA 390.77 

mludwig
Beiträge: 793
Registriert: 30.01.2005 19:35:04

Re: 4k-HEVC mit AMD Polaris/Vega unter Stretch?

Beitrag von mludwig » 04.09.2018 19:32:26

Also, das BBB-Video in 4k aus deinem Link schafft er ohne Probleme, keine Framedrops soweit ich das sehe. CPU-Load liegt zwischen 15% und 30% je nach Bildinhalt. GPU schwankt zwischen 7 und 14%, wenn ich das richtig interpretiere (radeontop). Das Tool hab ich gerade erst gesucht und gefunden.

Edit: Nachtrag: vlc ist in diesem Fall sogar besser: CPU liegt bei 3-7%, bisher war mpv die bessere Wahl, bzw. konnte es überhaupt flüssig abspielen ...

Benutzeravatar
hikaru
Moderator
Beiträge: 13559
Registriert: 09.04.2008 12:48:59

Re: 4k-HEVC mit AMD Polaris/Vega unter Stretch?

Beitrag von hikaru » 04.09.2018 23:21:01

geier22 hat geschrieben: ↑ zum Beitrag ↑
04.09.2018 17:57:01
Mit meiner momentanen Ausrüstung war bei jellyfish-140-mbps-4k-uhd-hevc-10bit.mkv mehr oder weniger Schluss. :|
Lief zwar noch mit 94 % CPU-Last ohne zu ruckeln, aber der Ton war schon nicht mehr synchron,
und hörte dann irgendwann ganz auf.
Dann hat das deine CPU decodiert, nicht die GPU. Das ist bei einer Nvidia-Karte auch nicht verwunderlich, denn Debians ffmpeg ist ohne die passende cuvid-Unterstützung gebaut, weil diese Erweiterung nicht DFSG-konform ist.

Du müsstest ffmpeg mit den Optionen --enable-cuda, --enable-cuvid und --enable-nonfree selbst bauen und auf der Basis dann mpv neu bauen falls du den benutzen willst (bei anderen Playern kenne ich die Details nicht). Ich hatte das unter [1] ff. mal rudimentär für Jessie dokumentiert. Die ganzen Backports brauchst du unter Stretch nicht mehr, aber du brauchst ein neueres mpv als in Stretch, weil die cuvid-Implementierung der Stretch-mpv-Version nicht mehr zu der von ffmpeg passt. [2]

mludwig hat geschrieben: ↑ zum Beitrag ↑
04.09.2018 19:32:26
Also, das BBB-Video in 4k aus deinem Link schafft er ohne Probleme, keine Framedrops soweit ich das sehe. CPU-Load liegt zwischen 15% und 30% je nach Bildinhalt. GPU schwankt zwischen 7 und 14%, wenn ich das richtig interpretiere (radeontop). Das Tool hab ich gerade erst gesucht und gefunden.
Das vewundert mich etwas. Die CPU-Auslastung spricht eigentlich eher für eine GPU-Decodierung, allerdings nicht so deutlich, wie ich es erwartet hätte. Andererseits ist dafür die GPU-Auslastung möglicherweise zu gering, falls die radeontop-Ausgabe das aussagt was du glaubst. Es könnte allerdings sein, dass meine Entweder-Oder-Haltung einen "Nvidia-Bias" hat und bei AMD-Grafik hier eher eine Mischstrategie gefahren wird.

Könntest du mal bitte die Abspielgeschwindigkeit erhöhen (bei mpv mit ] ) und dabei beobachten, ob zuerst die CPU oder die GPU limitiert? Falls es die CPU ist, dann sollte Hyperthreading nicht helfen, du also vermeintlich bereits bei 50% Gesamtauslastung an die Grenze stoßen.
mludwig hat geschrieben: ↑ zum Beitrag ↑
04.09.2018 19:32:26
Edit: Nachtrag: vlc ist in diesem Fall sogar besser: CPU liegt bei 3-7%, bisher war mpv die bessere Wahl, bzw. konnte es überhaupt flüssig abspielen ...
Sowas hätte ich eher bei GPU-Decodierung erwartet. Was hat radeontop bei der Wiedergabe mit vlc gesagt?


[1] viewtopic.php?f=13&t=161817&start=60#p1102403
[2] viewtopic.php?f=34&t=167230

geier22

Re: 4k-HEVC mit AMD Polaris/Vega unter Stretch?

Beitrag von geier22 » 05.09.2018 00:04:16

hikaru hat geschrieben: ↑ zum Beitrag ↑
04.09.2018 23:21:01
Dann hat das deine CPU decodiert, nicht die GPU. Das ist bei einer Nvidia-Karte auch nicht verwunderlich, denn Debians ffmpeg ist ohne die passende cuvid-Unterstützung gebaut, weil diese Erweiterung nicht DFSG-konform ist.
Ja ist auch klar, denn die GTX 750TI kann kein H265
Ich hoffe, dass sich das zum Wochenende hin dann ändert, mit meiner "neuen"
hikaru hat geschrieben: ↑ zum Beitrag ↑
04.09.2018 23:21:01
Du müsstest ffmpeg mit den Optionen --enable-cuda, --enable-cuvid und --enable-nonfree selbst bauen und auf der Basis dann mpv neu bauen falls du den benutzen willst (bei anderen Playern kenne ich die Details nicht). I
wie ist das bei deb-Multimedia weißt du das zufällig?Vielleicht kannst du damit was anfangen:
http://www.deb-multimedia.org/dists/tes ... age/ffmpeg

Code: Alles auswählen

apt-cache policy ffmpeg
ffmpeg:
  Installiert:           10:4.0.2-dmo3
  Installationskandidat: 10:4.0.2-dmo3
  Versionstabelle:
 *** 10:4.0.2-dmo3 500
        500 http://www.deb-multimedia.org testing/main amd64 Packages
        100 /var/lib/dpkg/status
     7:4.0.2-1+b1 500
        500 http://ftp.debian.org/debian testing/main amd64 Packages
        
apt-cache policy mpv
mpv:
  Installiert:           1:0.29.0-dmo1
  Installationskandidat: 1:0.29.0-dmo1
  Versionstabelle:
 *** 1:0.29.0-dmo1 500
        500 http://www.deb-multimedia.org testing/main amd64 Packages
        100 /var/lib/dpkg/status
     0.29.0-1+b1 500
        500 http://ftp.debian.org/debian testing/main amd64 Packages
        

Benutzeravatar
hikaru
Moderator
Beiträge: 13559
Registriert: 09.04.2008 12:48:59

Re: 4k-HEVC mit AMD Polaris/Vega unter Stretch?

Beitrag von hikaru » 05.09.2018 08:05:35

geier22 hat geschrieben: ↑ zum Beitrag ↑
05.09.2018 00:04:16
Ja ist auch klar, denn die GTX 750TI kann kein H265
Achso, du hast die 1060 noch gar nicht installiert. Da hatte ich dich falsch verstanden. Am Ergbenis würde das aber wohl ohne Paketneubau nichts ändern.
geier22 hat geschrieben: ↑ zum Beitrag ↑
05.09.2018 00:04:16
wie ist das bei deb-Multimedia weißt du das zufällig?Vielleicht kannst du damit was anfangen:
Nein, mit den Infos allein lässt sich nichts anfangen.
Du könntest mal ffmpeg ohne Argumente aufrufen, dann siehst du, mit welchen Flags es gebaut wurde. Da sollten dann die drei oben genannten auftauchen, oder eben nicht.
Alternativ kannst du auch in's debian/rules des Source-Pakets schauen. Bei Debian (ohne dmo) sieht das für Testing so aus [1] und da sieht man halt, dass die Schalter fehlen. dmo hat ja etwas andere Ansichten bezüglich Verteilbarkeit, ich kann mir aber trotzdem kaum vorstellen, dass man da einen Schalter der "nonfree" im Namen hat aktivieren würde, ohne das Paket dahin zu verschieben.


[1] https://sources.debian.org/src/ffmpeg/7 ... ian/rules/

mludwig
Beiträge: 793
Registriert: 30.01.2005 19:35:04

Re: 4k-HEVC mit AMD Polaris/Vega unter Stretch?

Beitrag von mludwig » 05.09.2018 08:24:41

Wenn ich das jetzt wiederhole, dann habe ich nur 5-7% CPU-Auslastung, und die ändert sich auch bei Speedup nicht. 1-2% Grundrauschen für den sonstigen Kram auf dem Rechner kann man abziehen ... Der einzige Unterschied zu gestern ist eigentlich nur, dass ich das Video gestern abend schon abgespielt hatte, bevor der Download fertig war. Im Gegensatz zu den Jellyfish-Videos war der Server nämlich schnarchlahm.

Weitere Recherche: gestriges Update hat noch mesa von 18.1.7 auf 18.2 hochgezogen, da ich das in experimental gefunden hatte und im Zusammenhang mit dem Test dieser Videos interessant fand. Hatte gestern abend aber keine (positiven) Auswirkungen auf die Tests, vielleicht war der Neustart hilfreich?

Jedenfalls läuft jetzt auch das Jellyfish-Video mit 400Mbit im mpv -vo vaapi flüssig und mit 5% CPU Last. radeon-top zeigt übrigens auch nur 5% Last an, ob das Tool stimmt? Die Ausgabe von mpv ist auch etwas anders, schön das die bisherige Ausgabe noch in diesem Thread dokumentiert ist:

Code: Alles auswählen

$ mpv -vo vaapi jellyfish-400-mbps-4k-uhd-hevc-10bit.mkv 
Playing: jellyfish-400-mbps-4k-uhd-hevc-10bit.mkv
 (+) Video --vid=1 (*) (hevc 3840x2160 29.970fps)
Using hardware decoding (vaapi).
VO: [vaapi] 3840x2160 vaapi[p010]
V: 00:00:30 / 00:00:30 (99%) Dropped: 2


Exiting... (End of file)
Edit: noch ein Nachtrag: hatte gestern abend noch eine ~/.mpv/mpv.conf angelegt mit dem Eintrag hwdec=auto, wenn ich den auskommentiere habe ich wieder das Verhalten vom Vortag ... mpv scheint dann die vaapi zu verwenden, aber in Software? Das sind ja dämliche Defaulteinstellungen ... Jedenfalls war der Versionswechsel von mesa dann ohne Bedeutung, sondern die Konfiguration des mpv gab den entscheidenden Sprung nach vorne.

Benutzeravatar
hikaru
Moderator
Beiträge: 13559
Registriert: 09.04.2008 12:48:59

Re: 4k-HEVC mit AMD Polaris/Vega unter Stretch?

Beitrag von hikaru » 05.09.2018 09:01:16

Danke für den erneuten Test! Das klingt ja vielversprechend.
mludwig hat geschrieben: ↑ zum Beitrag ↑
05.09.2018 08:24:41
Jedenfalls läuft jetzt auch das Jellyfish-Video mit 400Mbit im mpv -vo vaapi flüssig und mit 5% CPU Last. radeon-top zeigt übrigens auch nur 5% Last an, ob das Tool stimmt?
Der hevc-Decoder ist vielleicht ein eigener Chip auf der Grafikkarte, der von radeontop nicht erfasst wird.
mludwig hat geschrieben: ↑ zum Beitrag ↑
05.09.2018 08:24:41
Edit: noch ein Nachtrag: hatte gestern abend noch eine ~/.mpv/mpv.conf angelegt mit dem Eintrag hwdec=auto, wenn ich den auskommentiere habe ich wieder das Verhalten vom Vortag ... mpv scheint dann die vaapi zu verwenden, aber in Software? Das sind ja dämliche Defaulteinstellungen
Ja, das wäre wenig sinnvoll - aber gut zu wissen.
Ich vermute, die beiden Framedrops die du trotzdem noch hattest waren ganz am Anfang der Wiedergabe, weil die GPU nicht schnell genug hochgetaktet hat. Den Effekt habe ich jedenfalls mit der GTX 950 beobachtet. Wenn ich die vor der Wiedergabe manuell hochtakte, dann passiert das nicht.

mludwig
Beiträge: 793
Registriert: 30.01.2005 19:35:04

Re: 4k-HEVC mit AMD Polaris/Vega unter Stretch?

Beitrag von mludwig » 05.09.2018 10:24:35

Ja, die 2 Frames gehen gleich am Anfang verloren. Ich wüsste jetzt aber nicht wie ich manuell die Karte hochtakte, aber dieses "Problem" ist eher kosmetischer Natur. Werde die Tests aber mal auf meinem Laptop wiederholen, ob sich das bei der integrierten Intelgrafik mit dem mpv auch so verhält. Das würde beim Video ansehen auf Reisen vielleicht die Akku-Laufzeit verbessern und die Lüfter weniger laufen lassen.

Antworten