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
88b97357
Commit
88b97357
authored
Dec 13, 2011
by
Diego Biurrun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
build: conditionally compile x86 H.264 chroma optimizations
parent
80f6c0bb
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
23 additions
and
17 deletions
+23
-17
configure
configure
+7
-6
Makefile
libavcodec/x86/Makefile
+3
-2
dsputil_mmx.c
libavcodec/x86/dsputil_mmx.c
+13
-9
No files found.
configure
View file @
88b97357
...
...
@@ -929,6 +929,7 @@ CONFIG_LIST="
golomb
gpl
gray
h264chroma
h264dsp
h264pred
hardcoded_tables
...
...
@@ -1292,7 +1293,7 @@ h263_encoder_select="aandct"
h263_vaapi_hwaccel_select
=
"vaapi h263_decoder"
h263i_decoder_select
=
"h263_decoder"
h263p_encoder_select
=
"h263_encoder"
h264_decoder_select
=
"golomb h264dsp h264pred"
h264_decoder_select
=
"golomb h264
chroma h264
dsp h264pred"
h264_dxva2_hwaccel_deps
=
"dxva2api_h"
h264_dxva2_hwaccel_select
=
"dxva2 h264_decoder"
h264_vaapi_hwaccel_select
=
"vaapi h264_decoder"
...
...
@@ -1345,14 +1346,14 @@ rv10_decoder_select="h263_decoder"
rv10_encoder_select
=
"h263_encoder"
rv20_decoder_select
=
"h263_decoder"
rv20_encoder_select
=
"h263_encoder"
rv30_decoder_select
=
"golomb h264pred"
rv40_decoder_select
=
"golomb h264pred"
rv30_decoder_select
=
"golomb h264
chroma h264
pred"
rv40_decoder_select
=
"golomb h264
chroma h264
pred"
shorten_decoder_select
=
"golomb"
sipr_decoder_select
=
"lsp"
snow_decoder_select
=
"dwt"
snow_encoder_select
=
"aandct dwt"
svq1_encoder_select
=
"aandct"
svq3_decoder_select
=
"golomb h264dsp h264pred"
svq3_decoder_select
=
"golomb h264
chroma h264
dsp h264pred"
svq3_decoder_suggest
=
"zlib"
theora_decoder_select
=
"vp3_decoder"
tiff_decoder_suggest
=
"zlib"
...
...
@@ -1360,7 +1361,7 @@ tiff_encoder_suggest="zlib"
truehd_decoder_select
=
"mlp_decoder"
tscc_decoder_select
=
"zlib"
twinvq_decoder_select
=
"mdct lsp sinewin"
vc1_decoder_select
=
"h263_decoder"
vc1_decoder_select
=
"h263_decoder
h264chroma
"
vc1_dxva2_hwaccel_deps
=
"dxva2api_h DXVA_PictureParameters_wDecodedPictureIndex"
vc1_dxva2_hwaccel_select
=
"dxva2 vc1_decoder"
vc1_vaapi_hwaccel_select
=
"vaapi vc1_decoder"
...
...
@@ -1397,7 +1398,7 @@ vda_deps="VideoDecodeAcceleration_VDADecoder_h pthreads"
vdpau_deps
=
"vdpau_vdpau_h vdpau_vdpau_x11_h"
# parsers
h264_parser_select
=
"golomb h264dsp h264pred"
h264_parser_select
=
"golomb h264
chroma h264
dsp h264pred"
# external libraries
libdirac_decoder_deps
=
"libdirac !libschroedinger"
...
...
libavcodec/x86/Makefile
View file @
88b97357
...
...
@@ -9,6 +9,9 @@ YASM-OBJS-FFT-$(HAVE_SSE) += x86/fft_sse.o
YASM-OBJS-$(CONFIG_FFT)
+=
x86/fft_mmx.o
\
$(YASM-OBJS-FFT-yes)
YASM-OBJS-$(CONFIG_H264CHROMA)
+=
x86/h264_chromamc.o
\
x86/h264_chromamc_10bit.o
MMX-OBJS-$(CONFIG_H264DSP)
+=
x86/h264dsp_mmx.o
YASM-OBJS-$(CONFIG_H264DSP)
+=
x86/h264_deblock.o
\
x86/h264_deblock_10bit.o
\
...
...
@@ -48,8 +51,6 @@ MMX-OBJS-$(CONFIG_VP8_DECODER) += x86/vp8dsp-init.o
MMX-OBJS-$(HAVE_YASM)
+=
x86/dsputil_yasm.o
\
x86/deinterlace.o
\
x86/fmtconvert.o
\
x86/h264_chromamc.o
\
x86/h264_chromamc_10bit.o
\
x86/h264_qpel_10bit.o
\
$(YASM-OBJS-yes)
...
...
libavcodec/x86/dsputil_mmx.c
View file @
88b97357
...
...
@@ -2563,7 +2563,7 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx)
}
#if HAVE_YASM
if
(
!
high_bit_depth
)
{
if
(
!
high_bit_depth
&&
CONFIG_H264CHROMA
)
{
c
->
put_h264_chroma_pixels_tab
[
0
]
=
ff_put_h264_chroma_mc8_mmx_rnd
;
c
->
put_h264_chroma_pixels_tab
[
1
]
=
ff_put_h264_chroma_mc4_mmx
;
}
...
...
@@ -2667,13 +2667,13 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx)
SET_QPEL_FUNCS
(
avg_2tap_qpel
,
1
,
8
,
mmx2
,
);
#if HAVE_YASM
if
(
!
high_bit_depth
)
{
if
(
!
high_bit_depth
&&
CONFIG_H264CHROMA
)
{
c
->
avg_h264_chroma_pixels_tab
[
0
]
=
ff_avg_h264_chroma_mc8_mmx2_rnd
;
c
->
avg_h264_chroma_pixels_tab
[
1
]
=
ff_avg_h264_chroma_mc4_mmx2
;
c
->
avg_h264_chroma_pixels_tab
[
2
]
=
ff_avg_h264_chroma_mc2_mmx2
;
c
->
put_h264_chroma_pixels_tab
[
2
]
=
ff_put_h264_chroma_mc2_mmx2
;
}
if
(
bit_depth
==
10
)
{
if
(
bit_depth
==
10
&&
CONFIG_H264CHROMA
)
{
c
->
put_h264_chroma_pixels_tab
[
2
]
=
ff_put_h264_chroma_mc2_10_mmxext
;
c
->
avg_h264_chroma_pixels_tab
[
2
]
=
ff_avg_h264_chroma_mc2_10_mmxext
;
c
->
put_h264_chroma_pixels_tab
[
1
]
=
ff_put_h264_chroma_mc4_10_mmxext
;
...
...
@@ -2744,7 +2744,7 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx)
SET_QPEL_FUNCS
(
avg_2tap_qpel
,
1
,
8
,
3
dnow
,
);
#if HAVE_YASM
if
(
!
high_bit_depth
)
{
if
(
!
high_bit_depth
&&
CONFIG_H264CHROMA
)
{
c
->
avg_h264_chroma_pixels_tab
[
0
]
=
ff_avg_h264_chroma_mc8_3dnow_rnd
;
c
->
avg_h264_chroma_pixels_tab
[
1
]
=
ff_avg_h264_chroma_mc4_3dnow
;
}
...
...
@@ -2797,8 +2797,10 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx)
H264_QPEL_FUNCS_10
(
2
,
0
,
sse2_cache64
)
H264_QPEL_FUNCS_10
(
3
,
0
,
sse2_cache64
)
c
->
put_h264_chroma_pixels_tab
[
0
]
=
ff_put_h264_chroma_mc8_10_sse2
;
c
->
avg_h264_chroma_pixels_tab
[
0
]
=
ff_avg_h264_chroma_mc8_10_sse2
;
if
(
CONFIG_H264CHROMA
)
{
c
->
put_h264_chroma_pixels_tab
[
0
]
=
ff_put_h264_chroma_mc8_10_sse2
;
c
->
avg_h264_chroma_pixels_tab
[
0
]
=
ff_avg_h264_chroma_mc8_10_sse2
;
}
}
#endif
}
...
...
@@ -2827,7 +2829,7 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx)
#endif
c
->
add_png_paeth_prediction
=
add_png_paeth_prediction_ssse3
;
#if HAVE_YASM
if
(
!
high_bit_depth
)
{
if
(
!
high_bit_depth
&&
CONFIG_H264CHROMA
)
{
c
->
put_h264_chroma_pixels_tab
[
0
]
=
ff_put_h264_chroma_mc8_ssse3_rnd
;
c
->
avg_h264_chroma_pixels_tab
[
0
]
=
ff_avg_h264_chroma_mc8_ssse3_rnd
;
c
->
put_h264_chroma_pixels_tab
[
1
]
=
ff_put_h264_chroma_mc4_ssse3
;
...
...
@@ -2928,8 +2930,10 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx)
H264_QPEL_FUNCS_10
(
2
,
0
,
sse2
)
H264_QPEL_FUNCS_10
(
3
,
0
,
sse2
)
c
->
put_h264_chroma_pixels_tab
[
0
]
=
ff_put_h264_chroma_mc8_10_avx
;
c
->
avg_h264_chroma_pixels_tab
[
0
]
=
ff_avg_h264_chroma_mc8_10_avx
;
if
(
CONFIG_H264CHROMA
)
{
c
->
put_h264_chroma_pixels_tab
[
0
]
=
ff_put_h264_chroma_mc8_10_avx
;
c
->
avg_h264_chroma_pixels_tab
[
0
]
=
ff_avg_h264_chroma_mc8_10_avx
;
}
}
c
->
butterflies_float_interleave
=
ff_butterflies_float_interleave_avx
;
}
...
...
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