Commit 35177ba7 authored by Hendrik Leppkes's avatar Hendrik Leppkes Committed by Anton Khirnov

avconv: add support for DXVA2 decoding

Signed-off-by: 's avatarAnton Khirnov <anton@khirnov.net>
parent b2b4afe8
...@@ -23,6 +23,7 @@ version <next>: ...@@ -23,6 +23,7 @@ version <next>:
- Silicon Graphics Motion Video Compressor 1 & 2 decoder - Silicon Graphics Motion Video Compressor 1 & 2 decoder
- Silicon Graphics Movie demuxer - Silicon Graphics Movie demuxer
- On2 AVC (Audio for Video) decoder - On2 AVC (Audio for Video) decoder
- support for decoding through DXVA2 in avconv
version 10: version 10:
......
...@@ -75,6 +75,7 @@ $(foreach prog,$(AVBASENAMES),$(eval OBJS-$(prog) += cmdutils.o)) ...@@ -75,6 +75,7 @@ $(foreach prog,$(AVBASENAMES),$(eval OBJS-$(prog) += cmdutils.o))
OBJS-avconv += avconv_opt.o avconv_filter.o OBJS-avconv += avconv_opt.o avconv_filter.o
OBJS-avconv-$(HAVE_VDPAU_X11) += avconv_vdpau.o OBJS-avconv-$(HAVE_VDPAU_X11) += avconv_vdpau.o
OBJS-avconv-$(CONFIG_DXVA2) += avconv_dxva2.o
TESTTOOLS = audiogen videogen rotozoom tiny_psnr base64 TESTTOOLS = audiogen videogen rotozoom tiny_psnr base64
HOSTPROGS := $(TESTTOOLS:%=tests/%) doc/print_options HOSTPROGS := $(TESTTOOLS:%=tests/%) doc/print_options
......
...@@ -52,6 +52,7 @@ enum HWAccelID { ...@@ -52,6 +52,7 @@ enum HWAccelID {
HWACCEL_NONE = 0, HWACCEL_NONE = 0,
HWACCEL_AUTO, HWACCEL_AUTO,
HWACCEL_VDPAU, HWACCEL_VDPAU,
HWACCEL_DXVA2,
}; };
typedef struct HWAccel { typedef struct HWAccel {
...@@ -421,5 +422,6 @@ FilterGraph *init_simple_filtergraph(InputStream *ist, OutputStream *ost); ...@@ -421,5 +422,6 @@ FilterGraph *init_simple_filtergraph(InputStream *ist, OutputStream *ost);
int avconv_parse_options(int argc, char **argv); int avconv_parse_options(int argc, char **argv);
int vdpau_init(AVCodecContext *s); int vdpau_init(AVCodecContext *s);
int dxva2_init(AVCodecContext *s);
#endif /* AVCONV_H */ #endif /* AVCONV_H */
This diff is collapsed.
...@@ -56,6 +56,9 @@ ...@@ -56,6 +56,9 @@
const HWAccel hwaccels[] = { const HWAccel hwaccels[] = {
#if HAVE_VDPAU_X11 #if HAVE_VDPAU_X11
{ "vdpau", vdpau_init, HWACCEL_VDPAU, AV_PIX_FMT_VDPAU }, { "vdpau", vdpau_init, HWACCEL_VDPAU, AV_PIX_FMT_VDPAU },
#endif
#if CONFIG_DXVA2
{ "dxva2", dxva2_init, HWACCEL_DXVA2, AV_PIX_FMT_DXVA2_VLD },
#endif #endif
{ 0 }, { 0 },
}; };
......
...@@ -4146,6 +4146,9 @@ enabled vdpau && enabled xlib && ...@@ -4146,6 +4146,9 @@ enabled vdpau && enabled xlib &&
prepend avconv_libs $($ldflags_filter "-lvdpau") && prepend avconv_libs $($ldflags_filter "-lvdpau") &&
enable vdpau_x11 enable vdpau_x11
enabled dxva2 &&
prepend avconv_libs $($ldflags_filter "-lole32")
enabled debug && add_cflags -g"$debuglevel" && add_asflags -g"$debuglevel" enabled debug && add_cflags -g"$debuglevel" && add_asflags -g"$debuglevel"
# add some useful compiler flags if supported # add some useful compiler flags if supported
......
...@@ -582,6 +582,9 @@ Automatically select the hardware acceleration method. ...@@ -582,6 +582,9 @@ Automatically select the hardware acceleration method.
@item vdpau @item vdpau
Use VDPAU (Video Decode and Presentation API for Unix) hardware acceleration. Use VDPAU (Video Decode and Presentation API for Unix) hardware acceleration.
@item dxva2
Use DXVA2 (DirectX Video Acceleration) hardware acceleration.
@end table @end table
This option has no effect if the selected hwaccel is not available or not This option has no effect if the selected hwaccel is not available or not
...@@ -604,6 +607,10 @@ method chosen. ...@@ -604,6 +607,10 @@ method chosen.
@item vdpau @item vdpau
For VDPAU, this option specifies the X11 display/screen to use. If this option For VDPAU, this option specifies the X11 display/screen to use. If this option
is not specified, the value of the @var{DISPLAY} environment variable is used is not specified, the value of the @var{DISPLAY} environment variable is used
@item dxva2
For DXVA2, this option should contain the number of the display adapter to use.
If this option is not specified, the default adapter is used.
@end table @end table
@end table @end table
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment