Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
F
ffmpeg.wasm-core
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Linshizhi
ffmpeg.wasm-core
Commits
1e6cf727
Commit
1e6cf727
authored
Dec 03, 2015
by
Hendrik Leppkes
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
avcodec: implement vp9 dxva2 hwaccel
parent
585083dd
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
359 additions
and
3 deletions
+359
-3
Changelog
Changelog
+1
-0
configure
configure
+5
-0
Makefile
libavcodec/Makefile
+2
-0
allcodecs.c
libavcodec/allcodecs.c
+2
-0
dxva2_vp9.c
libavcodec/dxva2_vp9.c
+337
-0
version.h
libavcodec/version.h
+2
-2
vp9.c
libavcodec/vp9.c
+10
-1
No files found.
Changelog
View file @
1e6cf727
...
...
@@ -42,6 +42,7 @@ version <next>:
- mipsdspr1 option has been renamed to mipsdsp
- aemphasis filter
- mips32r5 option has been removed
- DXVA2-accelerated VP9 decoding
version 2.8:
...
...
configure
View file @
1e6cf727
...
...
@@ -2567,6 +2567,10 @@ vc1_mmal_hwaccel_deps="mmal"
vc1_mmal_decoder_select
=
"vc1_decoder"
vc1_qsv_hwaccel_deps
=
"libmfx"
vc1_qsv_hwaccel_select
=
"qsvdec_vc1"
vp9_d3d11va_hwaccel_deps
=
"dxva2 DXVA_PicParams_VP9"
vp9_d3d11va_hwaccel_select
=
"vp9_decoder"
vp9_dxva2_hwaccel_deps
=
"dxva2 DXVA_PicParams_VP9"
vp9_dxva2_hwaccel_select
=
"vp9_decoder"
wmv3_crystalhd_decoder_select
=
"crystalhd"
wmv3_d3d11va_hwaccel_select
=
"vc1_d3d11va_hwaccel"
wmv3_dxva2_hwaccel_select
=
"vc1_dxva2_hwaccel"
...
...
@@ -5297,6 +5301,7 @@ check_lib "CoreServices/CoreServices.h" UTGetOSTypeFromString "-framework CoreSe
check_struct
"sys/time.h sys/resource.h"
"struct rusage"
ru_maxrss
check_type
"windows.h dxva.h"
"DXVA_PicParams_HEVC"
-DWINAPI_FAMILY
=
WINAPI_FAMILY_DESKTOP_APP
-D_CRT_BUILD_DESKTOP_APP
=
0
check_type
"windows.h dxva.h"
"DXVA_PicParams_VP9"
-DWINAPI_FAMILY
=
WINAPI_FAMILY_DESKTOP_APP
-D_CRT_BUILD_DESKTOP_APP
=
0
check_type
"windows.h d3d11.h"
"ID3D11VideoDecoder"
check_type
"windows.h d3d11.h"
"ID3D11VideoContext"
check_type
"d3d9.h dxva2api.h"
DXVA2_ConfigPictureDecode
-D_WIN32_WINNT
=
0x0602
...
...
libavcodec/Makefile
View file @
1e6cf727
...
...
@@ -745,6 +745,8 @@ OBJS-$(CONFIG_VC1_D3D11VA_HWACCEL) += dxva2_vc1.o
OBJS-$(CONFIG_VC1_DXVA2_HWACCEL)
+=
dxva2_vc1.o
OBJS-$(CONFIG_VC1_VAAPI_HWACCEL)
+=
vaapi_vc1.o
OBJS-$(CONFIG_VC1_VDPAU_HWACCEL)
+=
vdpau_vc1.o
OBJS-$(CONFIG_VP9_D3D11VA_HWACCEL)
+=
dxva2_vp9.o
OBJS-$(CONFIG_VP9_DXVA2_HWACCEL)
+=
dxva2_vp9.o
# libavformat dependencies
OBJS-$(CONFIG_ADTS_MUXER)
+=
mpeg4audio.o
...
...
libavcodec/allcodecs.c
View file @
1e6cf727
...
...
@@ -110,6 +110,8 @@ void avcodec_register_all(void)
REGISTER_HWACCEL
(
VC1_VDPAU
,
vc1_vdpau
);
REGISTER_HWACCEL
(
VC1_MMAL
,
vc1_mmal
);
REGISTER_HWACCEL
(
VC1_QSV
,
vc1_qsv
);
REGISTER_HWACCEL
(
VP9_D3D11VA
,
vp9_d3d11va
);
REGISTER_HWACCEL
(
VP9_DXVA2
,
vp9_dxva2
);
REGISTER_HWACCEL
(
WMV3_D3D11VA
,
wmv3_d3d11va
);
REGISTER_HWACCEL
(
WMV3_DXVA2
,
wmv3_dxva2
);
REGISTER_HWACCEL
(
WMV3_VAAPI
,
wmv3_vaapi
);
...
...
libavcodec/dxva2_vp9.c
0 → 100644
View file @
1e6cf727
This diff is collapsed.
Click to expand it.
libavcodec/version.h
View file @
1e6cf727
...
...
@@ -29,8 +29,8 @@
#include "libavutil/version.h"
#define LIBAVCODEC_VERSION_MAJOR 57
#define LIBAVCODEC_VERSION_MINOR 1
6
#define LIBAVCODEC_VERSION_MICRO 10
1
#define LIBAVCODEC_VERSION_MINOR 1
7
#define LIBAVCODEC_VERSION_MICRO 10
0
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
LIBAVCODEC_VERSION_MINOR, \
...
...
libavcodec/vp9.c
View file @
1e6cf727
...
...
@@ -240,7 +240,7 @@ fail:
static
int
update_size
(
AVCodecContext
*
ctx
,
int
w
,
int
h
)
{
#define HWACCEL_MAX (
0
)
#define HWACCEL_MAX (
CONFIG_VP9_DXVA2_HWACCEL + CONFIG_VP9_D3D11VA_HWACCEL
)
enum
AVPixelFormat
pix_fmts
[
HWACCEL_MAX
+
2
],
*
fmtp
=
pix_fmts
;
VP9Context
*
s
=
ctx
->
priv_data
;
uint8_t
*
p
;
...
...
@@ -254,6 +254,15 @@ static int update_size(AVCodecContext *ctx, int w, int h)
if
((
res
=
ff_set_dimensions
(
ctx
,
w
,
h
))
<
0
)
return
res
;
if
(
s
->
pix_fmt
==
AV_PIX_FMT_YUV420P
)
{
#if CONFIG_VP9_DXVA2_HWACCEL
*
fmtp
++
=
AV_PIX_FMT_DXVA2_VLD
;
#endif
#if CONFIG_VP9_D3D11VA_HWACCEL
*
fmtp
++
=
AV_PIX_FMT_D3D11VA_VLD
;
#endif
}
*
fmtp
++
=
s
->
pix_fmt
;
*
fmtp
=
AV_PIX_FMT_NONE
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment