[Bug 104920] Broken hardware video encoding with vaapi/ffmpeg
https://bugs.freedesktop.org/show_bug.cgi?id=104920 --- Comment #9 from gr...@sub.red --- Thanks, that's what I was (In reply to Christian König from comment #8) > > No, that is perfectly correct. VA-API advises to the application what the > hardware can do or can't do. > > When the application choose to ignore that it is a problem in the > application and not the driver. Thanks, that's what I was asking. So it's a ffmpeg issue, they should automatically select the correct profile for the vaapi_device. It would still be good to have it documented on RadeonFeature, IMHO. -- You are receiving this mail because: You are the assignee for the bug.___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[Bug 104920] Broken hardware video encoding with vaapi/ffmpeg
https://bugs.freedesktop.org/show_bug.cgi?id=104920 Christian Königchanged: What|Removed |Added Status|RESOLVED|CLOSED --- Comment #8 from Christian König --- (In reply to grmat from comment #7) > NOTABUG? > > IMHO, it's a documentation issue, *at least*. Please add the info to > https://wiki.freedesktop.org/xorg/RadeonFeature/ or somewhere else. > > Also, why is it possible to use radeonsi/vaapi for encoding that isn't > actually supported? Isn't it possible to return a fail value? It shouldn't > be the software *using* vaapi being responsible to check if the hardware > supports stuff, or am I wrong? No, that is perfectly correct. VA-API advises to the application what the hardware can do or can't do. When the application choose to ignore that it is a problem in the application and not the driver. -- You are receiving this mail because: You are the assignee for the bug.___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[Bug 104920] Broken hardware video encoding with vaapi/ffmpeg
https://bugs.freedesktop.org/show_bug.cgi?id=104920 --- Comment #7 from gr...@sub.red --- NOTABUG? IMHO, it's a documentation issue, *at least*. Please add the info to https://wiki.freedesktop.org/xorg/RadeonFeature/ or somewhere else. Also, why is it possible to use radeonsi/vaapi for encoding that isn't actually supported? Isn't it possible to return a fail value? It shouldn't be the software *using* vaapi being responsible to check if the hardware supports stuff, or am I wrong? -- You are receiving this mail because: You are the assignee for the bug.___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[Bug 104920] Broken hardware video encoding with vaapi/ffmpeg
https://bugs.freedesktop.org/show_bug.cgi?id=104920 --- Comment #6 from Andy Furniss--- (In reply to Luke McKee from comment #3) > ffmpeg -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 > -hwaccel_output_format vaapi -ss 120 -t 120 -i a-movie.mkv -map 0:0 -map 0:1 > -c:v h264_vaapi -b:v 4000k -qp 20 -bf 0 -profile:v 578 (or > constrained_baseline in ffmpeg-git) -movflags +faststart -quality:v 0 > -level:v 3.1 -coder:v cavlc -c:a aac -ab 128k -ar 48000 -ac 2 vaapitest.mp4 Not related to any issue as such - and I don't have the same h/w to test, but some thoughts related to the command line. -b:v 4000k -qp 20 I would think one or the other, not both ie. you want constant bitrate or you want constant qp (= highly variable bitrate). I didn't test what ffmpeg takes this to mean. -coder:v cavlc I don't think this is hooked up - you will probably get cabac or calvlc depending on h/w. -quality:v 0 I don't thing this will do anything either on VCE (I don't know anything about the newer engines) -- You are receiving this mail because: You are the assignee for the bug.___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[Bug 104920] Broken hardware video encoding with vaapi/ffmpeg
https://bugs.freedesktop.org/show_bug.cgi?id=104920 --- Comment #5 from Sven Arvidsson--- I'm still using ffmpeg 3.4.1 with -profile:v 578 and Totem plays the videos encoded fine here. -- You are receiving this mail because: You are the assignee for the bug.___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[Bug 104920] Broken hardware video encoding with vaapi/ffmpeg
https://bugs.freedesktop.org/show_bug.cgi?id=104920 --- Comment #4 from Luke McKee--- See #105277 for more info. People had trouble getting encoding to start working on this ticket - not a bug - but when it works the data may be corrupt and not decodable by qtdemux in gstreamer and other hardware players. Also vaapi may have trouble decoding what it creates itself - at least in vlc it does not mpv ;) -- You are receiving this mail because: You are the assignee for the bug.___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[Bug 104920] Broken hardware video encoding with vaapi/ffmpeg
https://bugs.freedesktop.org/show_bug.cgi?id=104920 --- Comment #3 from Luke McKee--- it's -profile v: constrained_baseline --level 3.1 or 3.0 on newer ffmpeg versions. Even with that I'm having corrupted encoding so I'll open a new ticket. As a favour can you test your hardware encoded videos with totem (it uses gstreamer) and see if they load. vlc says the first 2 frames don't work but plays, and mpv can play it fine. Hardware players also bork at the encoded content. This is the ffmeg command line I'm using... GST_DEBUG=3 reports this: qtdemux qtdemux.c:9719:qtdemux_parse_trak: Track shorter than 20% (2881879/24000 vs. 5834998/1000) of the stream found, assuming preview image or something; skipping track ffmpeg -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 -hwaccel_output_format vaapi -ss 120 -t 120 -i a-movie.mkv -map 0:0 -map 0:1 -c:v h264_vaapi -b:v 4000k -qp 20 -bf 0 -profile:v 578 (or constrained_baseline in ffmpeg-git) -movflags +faststart -quality:v 0 -level:v 3.1 -coder:v cavlc -c:a aac -ab 128k -ar 48000 -ac 2 vaapitest.mp4 Here's the full specs on the created ffmpeg file using ffprobe: https://pastebin.com/TRVM9XiH -- You are receiving this mail because: You are the assignee for the bug.___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[Bug 104920] Broken hardware video encoding with vaapi/ffmpeg
https://bugs.freedesktop.org/show_bug.cgi?id=104920 Sven Arvidssonchanged: What|Removed |Added Resolution|--- |NOTABUG Status|NEW |RESOLVED --- Comment #2 from Sven Arvidsson --- Thank you, -profile:v 578 works fine. Looks like I had everything needed for the new way with kmsgrab too, which is even better! Thank you so much for the tip and explanation, much appreciated! Resolving as NOTABUG as this was a configuration problem/ignorance on my part. -- You are receiving this mail because: You are the assignee for the bug.___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[Bug 104920] Broken hardware video encoding with vaapi/ffmpeg
https://bugs.freedesktop.org/show_bug.cgi?id=104920 --- Comment #1 from Andy Furniss--- You need -profile:v 578. x11grab on my old CPU at least is not the best way to go. ffmpeg is slow doing the BGR0 -> nv12 conversion, and by default it will be 601 rather than 709. There are ways around that, and to be a bit faster with some convoluted commands. I don't know what versions of everything you need, but you can "now" get the GPU to do the conversion and zero copy input, which is way faster and does BGR0 -> rec 709 CSC. The downside is you need to be root or suid the ffmpeg binary. 1920x1080 is also slightly problematic but using mp4 or mkv will hide it (I guess depending on player). mkv seems to be broken with current ffmpeg git, bah. The issue being that eg. .ts would be seen as 1088 rather than 1080. To get GPU accel using the newer/faster way would be something like - ffmpeg -framerate 60 -device /dev/dri/card0 -f kmsgrab -i - -vsync 0 -init_hw_device vaapi=v:/dev/dri/renderD128 -filter_hw_device v -vf 'hwmap,scale_vaapi=format=nv12' -c:v h264_vaapi -profile:v 578 -bf 0 out.mp4 -- You are receiving this mail because: You are the assignee for the bug.___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[Bug 104920] Broken hardware video encoding with vaapi/ffmpeg
https://bugs.freedesktop.org/show_bug.cgi?id=104920 Alex Deucherchanged: What|Removed |Added Product|DRI |Mesa Component|DRM/AMDgpu |Drivers/Gallium/radeonsi QA Contact||dri-devel@lists.freedesktop ||.org Version|XOrg git|17.3 -- You are receiving this mail because: You are the assignee for the bug.___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[Bug 104920] Broken hardware video encoding with vaapi/ffmpeg
https://bugs.freedesktop.org/show_bug.cgi?id=104920 Bug ID: 104920 Summary: Broken hardware video encoding with vaapi/ffmpeg Product: DRI Version: XOrg git Hardware: Other OS: All Status: NEW Severity: normal Priority: medium Component: DRM/AMDgpu Assignee: dri-devel@lists.freedesktop.org Reporter: s...@whiz.se Hi, I'm trying to encode video using ffmpeg 3.4.1 with the following command: ffmpeg -vaapi_device /dev/dri/renderD128 -f x11grab -video_size 1920x1080 -i :0 -vf 'format=nv12,hwupload' -c:v h264_vaapi -bf 0 out.mp4 This seems to work, ffmpeg doesn't complain, and I can tell the GPU is active as the fans turn on. But the video recorded is corrupt and ffplay reports the following errors a bunch of times: [h264 @ 0x7f4ae4003060] decode_slice_header error [h264 @ 0x7f4ae4003060] no frame! [h264 @ 0x7f4ae4003060] non-existing PPS 0 referenced and [mov,mp4,m4a,3gp,3g2,mj2 @ 0x56377e46] decoding for stream 0 failed [mov,mp4,m4a,3gp,3g2,mj2 @ 0x56377e46] Could not find codec parameters for stream 0 (Video: h264 (avc1 / 0x31637661), none, 1920x1080, 1159 kb/s): unspecified pixel format System environment: -- system architecture: 64-bit -- Linux distribution: Debian unstable -- GPU: TONGA -- Model: Asus Strix R9 285 2GB -- Display connector: DVI -- xf86-video-amdgpu: 1.4.0 -- xserver: 1.19.0 -- mesa: 17.3.3 -- drm: 2.4.89 -- kernel: 4.14 -- dri3 -- You are receiving this mail because: You are the assignee for the bug.___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel