Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
* [FFmpeg-devel] [PATCH 1/2] doc/ffmpeg: update the documentation about qsv device creation
@ 2023-12-29  4:23 Xiang, Haihao
  2023-12-29  4:23 ` [FFmpeg-devel] [PATCH 2/2] doc/ffmpeg: update the documentation about vaapi " Xiang, Haihao
  2024-01-02  5:26 ` [FFmpeg-devel] [PATCH 1/2] doc/ffmpeg: update the documentation about qsv " Xiang, Haihao
  0 siblings, 2 replies; 5+ messages in thread
From: Xiang, Haihao @ 2023-12-29  4:23 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Haihao Xiang

From: Haihao Xiang <haihao.xiang@intel.com>

Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
---
 doc/ffmpeg.texi | 21 +++++++++++++++++++--
 1 file changed, 19 insertions(+), 2 deletions(-)

diff --git a/doc/ffmpeg.texi b/doc/ffmpeg.texi
index ab17d1d687..c6c0606e8a 100644
--- a/doc/ffmpeg.texi
+++ b/doc/ffmpeg.texi
@@ -1406,16 +1406,33 @@ If not specified, @samp{auto_any} is used.
 platform-appropriate subdevice (@samp{dxva2} or @samp{d3d11va} or @samp{vaapi}) and then deriving a
 QSV device from that.)
 
-Alternatively, @samp{child_device_type} helps to choose platform-appropriate subdevice type.
-On Windows @samp{d3d11va} is used as default subdevice type.
+The following options are recognized:
+@table @option
+@item child_device
+Specify a DRM render node on Linux or DirectX adapter on Windows
+@item child_device_type
+Choose platform-appropriate subdevice type. On Windows @samp{d3d11va} is used
+as default subdevice type.
+@end table
 
 Examples:
 @table @emph
+@item -init_hw_device qsv:hw,child_device=/dev/dri/renderD129
+Create a QSV device with @samp{MFX_IMPL_HARDWARE} on DRM render node /dev/dri/renderD129
+
+@item -init_hw_device qsv:hw,child_device=1
+Create a QSV device with @samp{MFX_IMPL_HARDWARE} on DirectX adapter 1. The subdevice
+type is @samp{d3d11va} if @code{--enable-libvpl} is specified at configuration time, the
+subdevice type is @samp{dxva2} if @code{--enable-libmfx} is specified at configuration time.
+
 @item -init_hw_device qsv:hw,child_device_type=d3d11va
 Choose the GPU subdevice with type @samp{d3d11va} and create QSV device with @samp{MFX_IMPL_HARDWARE}.
 
 @item -init_hw_device qsv:hw,child_device_type=dxva2
 Choose the GPU subdevice with type @samp{dxva2} and create QSV device with @samp{MFX_IMPL_HARDWARE}.
+
+@item -init_hw_device qsv:hw,child_device=1,child_device_type=d3d11va
+Create a QSV device with @samp{MFX_IMPL_HARDWARE} on DirectX adapter 1 with subdevice type @samp{d3d11va}
 @end table
 
 @item opencl
-- 
2.34.1

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [FFmpeg-devel] [PATCH 2/2] doc/ffmpeg: update the documentation about vaapi device creation
  2023-12-29  4:23 [FFmpeg-devel] [PATCH 1/2] doc/ffmpeg: update the documentation about qsv device creation Xiang, Haihao
@ 2023-12-29  4:23 ` Xiang, Haihao
  2024-01-02  5:26 ` [FFmpeg-devel] [PATCH 1/2] doc/ffmpeg: update the documentation about qsv " Xiang, Haihao
  1 sibling, 0 replies; 5+ messages in thread
From: Xiang, Haihao @ 2023-12-29  4:23 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Haihao Xiang

From: Haihao Xiang <haihao.xiang@intel.com>

Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
---
 doc/ffmpeg.texi | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/doc/ffmpeg.texi b/doc/ffmpeg.texi
index c6c0606e8a..2c04b22cf3 100644
--- a/doc/ffmpeg.texi
+++ b/doc/ffmpeg.texi
@@ -1385,6 +1385,29 @@ If not specified, it will attempt to open the default X11 display (@emph{$DISPLA
 and then the first DRM render node (@emph{/dev/dri/renderD128}), or the default
 DirectX adapter on Windows.
 
+The following options are recognized:
+@table @option
+@item kernel_driver
+When @var{device} is not specified, use this option to specify the name of the kernel
+driver associated with the desired device. This option is only available when
+@emph{libdrm} works on Linux.
+@end table
+
+Examples:
+@table @emph
+@item -init_hw_device vaapi
+Create a vaapi device on the default device
+
+@item -init_hw_device vaapi:/dev/dri/renderD129
+Create a vaapi device on DRM render node /dev/dri/renderD129
+
+@item -init_hw_device vaapi:1
+Create a vaapi device on DirectX adapter 1
+
+@item -init_hw_device vaapi:,kernel_driver=i915
+Create a vaapi device on a device associated with kernel driver @samp{i915}
+@end table
+
 @item vdpau
 @var{device} is an X11 display name.
 If not specified, it will attempt to open the default X11 display (@emph{$DISPLAY}).
-- 
2.34.1

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [FFmpeg-devel] [PATCH 1/2] doc/ffmpeg: update the documentation about qsv device creation
  2023-12-29  4:23 [FFmpeg-devel] [PATCH 1/2] doc/ffmpeg: update the documentation about qsv device creation Xiang, Haihao
  2023-12-29  4:23 ` [FFmpeg-devel] [PATCH 2/2] doc/ffmpeg: update the documentation about vaapi " Xiang, Haihao
@ 2024-01-02  5:26 ` Xiang, Haihao
  2024-01-02 16:00   ` Dennis Mungai
  1 sibling, 1 reply; 5+ messages in thread
From: Xiang, Haihao @ 2024-01-02  5:26 UTC (permalink / raw)
  To: ffmpeg-devel

On Vr, 2023-12-29 at 12:23 +0800, Xiang, Haihao wrote:
> From: Haihao Xiang <haihao.xiang@intel.com>
> 
> Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
> ---
>  doc/ffmpeg.texi | 21 +++++++++++++++++++--
>  1 file changed, 19 insertions(+), 2 deletions(-)
> 
> diff --git a/doc/ffmpeg.texi b/doc/ffmpeg.texi
> index ab17d1d687..c6c0606e8a 100644
> --- a/doc/ffmpeg.texi
> +++ b/doc/ffmpeg.texi
> @@ -1406,16 +1406,33 @@ If not specified, @samp{auto_any} is used.
>  platform-appropriate subdevice (@samp{dxva2} or @samp{d3d11va} or
> @samp{vaapi}) and then deriving a
>  QSV device from that.)
>  
> -Alternatively, @samp{child_device_type} helps to choose platform-appropriate
> subdevice type.
> -On Windows @samp{d3d11va} is used as default subdevice type.
> +The following options are recognized:
> +@table @option
> +@item child_device
> +Specify a DRM render node on Linux or DirectX adapter on Windows
> +@item child_device_type
> +Choose platform-appropriate subdevice type. On Windows @samp{d3d11va} is used
> +as default subdevice type.
> +@end table
>  
>  Examples:
>  @table @emph
> +@item -init_hw_device qsv:hw,child_device=/dev/dri/renderD129
> +Create a QSV device with @samp{MFX_IMPL_HARDWARE} on DRM render node
> /dev/dri/renderD129
> +
> +@item -init_hw_device qsv:hw,child_device=1
> +Create a QSV device with @samp{MFX_IMPL_HARDWARE} on DirectX adapter 1. The
> subdevice
> +type is @samp{d3d11va} if @code{--enable-libvpl} is specified at
> configuration time, the
> +subdevice type is @samp{dxva2} if @code{--enable-libmfx} is specified at
> configuration time.
> +
>  @item -init_hw_device qsv:hw,child_device_type=d3d11va
>  Choose the GPU subdevice with type @samp{d3d11va} and create QSV device with
> @samp{MFX_IMPL_HARDWARE}.
>  
>  @item -init_hw_device qsv:hw,child_device_type=dxva2
>  Choose the GPU subdevice with type @samp{dxva2} and create QSV device with
> @samp{MFX_IMPL_HARDWARE}.
> +
> +@item -init_hw_device qsv:hw,child_device=1,child_device_type=d3d11va
> +Create a QSV device with @samp{MFX_IMPL_HARDWARE} on DirectX adapter 1 with
> subdevice type @samp{d3d11va}
>  @end table
>  
>  @item opencl

Will apply the patchset

- Haihao

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [FFmpeg-devel] [PATCH 1/2] doc/ffmpeg: update the documentation about qsv device creation
  2024-01-02  5:26 ` [FFmpeg-devel] [PATCH 1/2] doc/ffmpeg: update the documentation about qsv " Xiang, Haihao
@ 2024-01-02 16:00   ` Dennis Mungai
  2024-01-05  3:01     ` Xiang, Haihao
  0 siblings, 1 reply; 5+ messages in thread
From: Dennis Mungai @ 2024-01-02 16:00 UTC (permalink / raw)
  To: FFmpeg development discussions and patches

On Tue, 2 Jan 2024, 08:27 Xiang, Haihao, <
haihao.xiang-at-intel.com@ffmpeg.org> wrote:

> On Vr, 2023-12-29 at 12:23 +0800, Xiang, Haihao wrote:
> > From: Haihao Xiang <haihao.xiang@intel.com>
> >
> > Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
> > ---
> >  doc/ffmpeg.texi | 21 +++++++++++++++++++--
> >  1 file changed, 19 insertions(+), 2 deletions(-)
> >
> > diff --git a/doc/ffmpeg.texi b/doc/ffmpeg.texi
> > index ab17d1d687..c6c0606e8a 100644
> > --- a/doc/ffmpeg.texi
> > +++ b/doc/ffmpeg.texi
> > @@ -1406,16 +1406,33 @@ If not specified, @samp{auto_any} is used.
> >  platform-appropriate subdevice (@samp{dxva2} or @samp{d3d11va} or
> > @samp{vaapi}) and then deriving a
> >  QSV device from that.)
> >
> > -Alternatively, @samp{child_device_type} helps to choose
> platform-appropriate
> > subdevice type.
> > -On Windows @samp{d3d11va} is used as default subdevice type.
> > +The following options are recognized:
> > +@table @option
> > +@item child_device
> > +Specify a DRM render node on Linux or DirectX adapter on Windows
> > +@item child_device_type
> > +Choose platform-appropriate subdevice type. On Windows @samp{d3d11va}
> is used
> > +as default subdevice type.
> > +@end table
> >
> >  Examples:
> >  @table @emph
> > +@item -init_hw_device qsv:hw,child_device=/dev/dri/renderD129
> > +Create a QSV device with @samp{MFX_IMPL_HARDWARE} on DRM render node
> > /dev/dri/renderD129
> > +
> > +@item -init_hw_device qsv:hw,child_device=1
> > +Create a QSV device with @samp{MFX_IMPL_HARDWARE} on DirectX adapter 1.
> The
> > subdevice
> > +type is @samp{d3d11va} if @code{--enable-libvpl} is specified at
> > configuration time, the
> > +subdevice type is @samp{dxva2} if @code{--enable-libmfx} is specified at
> > configuration time.
> > +
> >  @item -init_hw_device qsv:hw,child_device_type=d3d11va
> >  Choose the GPU subdevice with type @samp{d3d11va} and create QSV device
> with
> > @samp{MFX_IMPL_HARDWARE}.
> >
> >  @item -init_hw_device qsv:hw,child_device_type=dxva2
> >  Choose the GPU subdevice with type @samp{dxva2} and create QSV device
> with
> > @samp{MFX_IMPL_HARDWARE}.
> > +
> > +@item -init_hw_device qsv:hw,child_device=1,child_device_type=d3d11va
> > +Create a QSV device with @samp{MFX_IMPL_HARDWARE} on DirectX adapter 1
> with
> > subdevice type @samp{d3d11va}
> >  @end table
> >
> >  @item opencl
>
> Will apply the patchset
>


A small request: The docs mention the creation of either VAAPI or d3d11
devices and then deriving a Quicksync device from that. Can your patchset
include a trivial example of that, preferably with hwmap? That would
eliminate the ambiguity in that clause.

>
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [FFmpeg-devel] [PATCH 1/2] doc/ffmpeg: update the documentation about qsv device creation
  2024-01-02 16:00   ` Dennis Mungai
@ 2024-01-05  3:01     ` Xiang, Haihao
  0 siblings, 0 replies; 5+ messages in thread
From: Xiang, Haihao @ 2024-01-05  3:01 UTC (permalink / raw)
  To: ffmpeg-devel

On Di, 2024-01-02 at 19:00 +0300, Dennis Mungai wrote:
> On Tue, 2 Jan 2024, 08:27 Xiang, Haihao, <
> haihao.xiang-at-intel.com@ffmpeg.org> wrote:
> 
> > On Vr, 2023-12-29 at 12:23 +0800, Xiang, Haihao wrote:
> > > From: Haihao Xiang <haihao.xiang@intel.com>
> > > 
> > > Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
> > > ---
> > >  doc/ffmpeg.texi | 21 +++++++++++++++++++--
> > >  1 file changed, 19 insertions(+), 2 deletions(-)
> > > 
> > > diff --git a/doc/ffmpeg.texi b/doc/ffmpeg.texi
> > > index ab17d1d687..c6c0606e8a 100644
> > > --- a/doc/ffmpeg.texi
> > > +++ b/doc/ffmpeg.texi
> > > @@ -1406,16 +1406,33 @@ If not specified, @samp{auto_any} is used.
> > >  platform-appropriate subdevice (@samp{dxva2} or @samp{d3d11va} or
> > > @samp{vaapi}) and then deriving a
> > >  QSV device from that.)
> > > 
> > > -Alternatively, @samp{child_device_type} helps to choose
> > platform-appropriate
> > > subdevice type.
> > > -On Windows @samp{d3d11va} is used as default subdevice type.
> > > +The following options are recognized:
> > > +@table @option
> > > +@item child_device
> > > +Specify a DRM render node on Linux or DirectX adapter on Windows
> > > +@item child_device_type
> > > +Choose platform-appropriate subdevice type. On Windows @samp{d3d11va}
> > is used
> > > +as default subdevice type.
> > > +@end table
> > > 
> > >  Examples:
> > >  @table @emph
> > > +@item -init_hw_device qsv:hw,child_device=/dev/dri/renderD129
> > > +Create a QSV device with @samp{MFX_IMPL_HARDWARE} on DRM render node
> > > /dev/dri/renderD129
> > > +
> > > +@item -init_hw_device qsv:hw,child_device=1
> > > +Create a QSV device with @samp{MFX_IMPL_HARDWARE} on DirectX adapter 1.
> > The
> > > subdevice
> > > +type is @samp{d3d11va} if @code{--enable-libvpl} is specified at
> > > configuration time, the
> > > +subdevice type is @samp{dxva2} if @code{--enable-libmfx} is specified at
> > > configuration time.
> > > +
> > >  @item -init_hw_device qsv:hw,child_device_type=d3d11va
> > >  Choose the GPU subdevice with type @samp{d3d11va} and create QSV device
> > with
> > > @samp{MFX_IMPL_HARDWARE}.
> > > 
> > >  @item -init_hw_device qsv:hw,child_device_type=dxva2
> > >  Choose the GPU subdevice with type @samp{dxva2} and create QSV device
> > with
> > > @samp{MFX_IMPL_HARDWARE}.
> > > +
> > > +@item -init_hw_device qsv:hw,child_device=1,child_device_type=d3d11va
> > > +Create a QSV device with @samp{MFX_IMPL_HARDWARE} on DirectX adapter 1
> > with
> > > subdevice type @samp{d3d11va}
> > >  @end table
> > > 
> > >  @item opencl
> > 
> > Will apply the patchset
> > 
> 
> 
> A small request: The docs mention the creation of either VAAPI or d3d11
> devices and then deriving a Quicksync device from that. Can your patchset
> include a trivial example of that, 

Added an example in v2
(https://ffmpeg.org/pipermail/ffmpeg-devel/2024-January/319321.html )

> preferably with hwmap? That would
> eliminate the ambiguity in that clause.

This patch is about qsv device initilazation when using option -init_hw_device,
not hwmap. hwmap can use the devices initialized by option -init_hw_device or
derive a new device.

hwmap uses a device initialized by option -init_hw_device, for example:

$ ffmpeg -init_hw_device vaapi=va:/dev/dri/renderD128 -init_hw_device
opencl=ocl@va -hwaccel vaapi -hwaccel_device va -filter_hw_device ocl -
hwaccel_output_format vaapi -i input.mp4 -vf 'hwmap,unsharp_opencl' -f null -

hwmap derives a new device, then use this new device, for example:

$ ffmpeg -init_hw_device vaapi=va:/dev/dri/renderD128 -hwaccel vaapi -
hwaccel_device va -filter_hw_device va -hwaccel_output_format vaapi -i input.mp4
-vf 'hwmap=derive_device=opencl,unsharp_opencl' -f null -

Thanks
Haihao

> 
> > 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2024-01-05  3:02 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-29  4:23 [FFmpeg-devel] [PATCH 1/2] doc/ffmpeg: update the documentation about qsv device creation Xiang, Haihao
2023-12-29  4:23 ` [FFmpeg-devel] [PATCH 2/2] doc/ffmpeg: update the documentation about vaapi " Xiang, Haihao
2024-01-02  5:26 ` [FFmpeg-devel] [PATCH 1/2] doc/ffmpeg: update the documentation about qsv " Xiang, Haihao
2024-01-02 16:00   ` Dennis Mungai
2024-01-05  3:01     ` Xiang, Haihao

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git