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
486497e0
Commit
486497e0
authored
Nov 14, 2006
by
Måns Rullgård
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
revert bad checkin
Originally committed as revision 7044 to
svn://svn.ffmpeg.org/ffmpeg/trunk
parent
be6ed6ff
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
76 additions
and
67 deletions
+76
-67
configure
configure
+3
-3
ac3.h
libavcodec/ac3.h
+6
-0
ac3enc.c
libavcodec/ac3enc.c
+1
-2
dsputil_iwmmxt.c
libavcodec/armv4l/dsputil_iwmmxt.c
+5
-5
mpegvideo_iwmmxt.c
libavcodec/armv4l/mpegvideo_iwmmxt.c
+1
-1
dct-test.c
libavcodec/dct-test.c
+4
-4
dsputil.c
libavcodec/dsputil.c
+5
-5
dsputil.h
libavcodec/dsputil.h
+8
-4
h263dec.c
libavcodec/h263dec.c
+1
-1
dsputil_mmx.c
libavcodec/i386/dsputil_mmx.c
+23
-23
motion_est_mmx.c
libavcodec/i386/motion_est_mmx.c
+2
-2
mpegvideo_mmx.c
libavcodec/i386/mpegvideo_mmx.c
+5
-5
mpegvideo_mmx_template.c
libavcodec/i386/mpegvideo_mmx_template.c
+2
-2
imgresample.c
libavcodec/imgresample.c
+3
-3
dsputil_ppc.c
libavcodec/ppc/dsputil_ppc.c
+2
-2
snow.c
libavcodec/snow.c
+2
-2
snow.h
libavcodec/snow.h
+2
-2
utils.c
libavcodec/utils.c
+1
-1
No files found.
configure
View file @
486497e0
...
...
@@ -1680,9 +1680,6 @@ if test "$gprof" = "yes" ; then
add_ldflags
"-p"
fi
VHOOKCFLAGS
=
"-fPIC
$CFLAGS
"
test
"
$needmdynamicnopic
"
=
yes
&&
add_cflags
-mdynamic-no-pic
# find if .align arg is power-of-two or not
if
test
$asmalign_pot
=
"unknown"
;
then
asmalign_pot
=
"no"
...
...
@@ -1820,6 +1817,9 @@ else
echo
"INSTALLSTRIP="
>>
config.mak
fi
VHOOKCFLAGS
=
"-fPIC
$CFLAGS
"
test
"
$needmdynamicnopic
"
=
yes
&&
add_cflags
-mdynamic-no-pic
echo
"OPTFLAGS=
$CFLAGS
"
>>
config.mak
echo
"VHOOKCFLAGS=
$VHOOKCFLAGS
"
>>
config.mak
echo
"LDFLAGS=
$LDFLAGS
"
>>
config.mak
...
...
libavcodec/ac3.h
View file @
486497e0
...
...
@@ -57,3 +57,9 @@ extern const uint16_t floortab[8];
extern const uint16_t fgaintab[8];
#endif
void
ac3_common_init
(
void
);
void
ac3_parametric_bit_allocation
(
AC3BitAllocParameters
*
s
,
uint8_t
*
bap
,
int8_t
*
exp
,
int
start
,
int
end
,
int
snroffset
,
int
fgain
,
int
is_lfe
,
int
deltbae
,
int
deltnseg
,
uint8_t
*
deltoffst
,
uint8_t
*
deltlen
,
uint8_t
*
deltba
);
libavcodec/ac3enc.c
View file @
486497e0
...
...
@@ -119,7 +119,6 @@ static inline int calc_lowcomp(int a, int b0, int b1, int bin)
/* AC3 bit allocation. The algorithm is the one described in the AC3
spec. */
static
void
ac3_parametric_bit_allocation
(
AC3BitAllocParameters
*
s
,
uint8_t
*
bap
,
int8_t
*
exp
,
int
start
,
int
end
,
int
snroffset
,
int
fgain
,
int
is_lfe
,
...
...
@@ -795,7 +794,7 @@ static int compute_bit_allocation(AC3EncodeContext *s,
return
0
;
}
static
void
ac3_common_init
(
void
)
void
ac3_common_init
(
void
)
{
int
i
,
j
,
k
,
l
,
v
;
/* compute bndtab and masktab from bandsz */
...
...
libavcodec/armv4l/dsputil_iwmmxt.c
View file @
486497e0
...
...
@@ -128,7 +128,7 @@ static void nop(uint8_t *block, const uint8_t *pixels, int line_size, int h)
return
;
}
int
ff_
mm_flags
;
/* multimedia extension flags */
int
mm_flags
;
/* multimedia extension flags */
int
mm_support
(
void
)
{
...
...
@@ -137,16 +137,16 @@ int mm_support(void)
void
dsputil_init_iwmmxt
(
DSPContext
*
c
,
AVCodecContext
*
avctx
)
{
ff_
mm_flags
=
mm_support
();
mm_flags
=
mm_support
();
if
(
avctx
->
dsp_mask
)
{
if
(
avctx
->
dsp_mask
&
FF_MM_FORCE
)
ff_
mm_flags
|=
(
avctx
->
dsp_mask
&
0xffff
);
mm_flags
|=
(
avctx
->
dsp_mask
&
0xffff
);
else
ff_
mm_flags
&=
~
(
avctx
->
dsp_mask
&
0xffff
);
mm_flags
&=
~
(
avctx
->
dsp_mask
&
0xffff
);
}
if
(
!
(
ff_
mm_flags
&
MM_IWMMXT
))
return
;
if
(
!
(
mm_flags
&
MM_IWMMXT
))
return
;
c
->
add_pixels_clamped
=
add_pixels_clamped_iwmmxt
;
...
...
libavcodec/armv4l/mpegvideo_iwmmxt.c
View file @
486497e0
...
...
@@ -110,7 +110,7 @@ static void dct_unquantize_h263_inter_iwmmxt(MpegEncContext *s,
void
MPV_common_init_iwmmxt
(
MpegEncContext
*
s
)
{
if
(
!
(
ff_
mm_flags
&
MM_IWMMXT
))
return
;
if
(
!
(
mm_flags
&
MM_IWMMXT
))
return
;
s
->
dct_unquantize_h263_intra
=
dct_unquantize_h263_intra_iwmmxt
;
#if 0
...
...
libavcodec/dct-test.c
View file @
486497e0
...
...
@@ -69,7 +69,7 @@ static const unsigned short aanscales[64] = {
4520
,
6270
,
5906
,
5315
,
4520
,
3552
,
2446
,
1247
};
uint8_t
ff_
cropTbl
[
256
+
2
*
MAX_NEG_CROP
];
uint8_t
cropTbl
[
256
+
2
*
MAX_NEG_CROP
];
int64_t
gettime
(
void
)
{
...
...
@@ -473,10 +473,10 @@ int main(int argc, char **argv)
init_fdct
();
idct_mmx_init
();
for
(
i
=
0
;
i
<
256
;
i
++
)
ff_
cropTbl
[
i
+
MAX_NEG_CROP
]
=
i
;
for
(
i
=
0
;
i
<
256
;
i
++
)
cropTbl
[
i
+
MAX_NEG_CROP
]
=
i
;
for
(
i
=
0
;
i
<
MAX_NEG_CROP
;
i
++
)
{
ff_
cropTbl
[
i
]
=
0
;
ff_
cropTbl
[
i
+
MAX_NEG_CROP
+
256
]
=
255
;
cropTbl
[
i
]
=
0
;
cropTbl
[
i
+
MAX_NEG_CROP
+
256
]
=
255
;
}
for
(;;)
{
...
...
libavcodec/dsputil.c
View file @
486497e0
...
...
@@ -68,7 +68,7 @@ const uint8_t ff_zigzag248_direct[64] = {
};
/* not permutated inverse zigzag_direct + 1 for MMX quantizer */
DECLARE_ALIGNED_8
(
uint16_t
,
ff_
inv_zigzag_direct16
[
64
])
=
{
0
,
};
DECLARE_ALIGNED_8
(
uint16_t
,
inv_zigzag_direct16
[
64
])
=
{
0
,
};
const
uint8_t
ff_alternate_horizontal_scan
[
64
]
=
{
0
,
1
,
2
,
3
,
8
,
9
,
16
,
17
,
...
...
@@ -383,11 +383,11 @@ static int w97_16_c(void *v, uint8_t * pix1, uint8_t * pix2, int line_size, int
return
w_c
(
v
,
pix1
,
pix2
,
line_size
,
16
,
h
,
0
);
}
int
ff_
w53_32_c
(
void
*
v
,
uint8_t
*
pix1
,
uint8_t
*
pix2
,
int
line_size
,
int
h
){
int
w53_32_c
(
void
*
v
,
uint8_t
*
pix1
,
uint8_t
*
pix2
,
int
line_size
,
int
h
){
return
w_c
(
v
,
pix1
,
pix2
,
line_size
,
32
,
h
,
1
);
}
int
ff_
w97_32_c
(
void
*
v
,
uint8_t
*
pix1
,
uint8_t
*
pix2
,
int
line_size
,
int
h
){
int
w97_32_c
(
void
*
v
,
uint8_t
*
pix1
,
uint8_t
*
pix2
,
int
line_size
,
int
h
){
return
w_c
(
v
,
pix1
,
pix2
,
line_size
,
32
,
h
,
0
);
}
#endif
...
...
@@ -3861,7 +3861,7 @@ static void ff_jref_idct1_add(uint8_t *dest, int line_size, DCTELEM *block)
static
void
just_return
()
{
return
;
}
/* init static data */
void
ff_
dsputil_static_init
(
void
)
void
dsputil_static_init
(
void
)
{
int
i
;
...
...
@@ -3875,7 +3875,7 @@ void ff_dsputil_static_init(void)
ff_squareTbl
[
i
]
=
(
i
-
256
)
*
(
i
-
256
);
}
for
(
i
=
0
;
i
<
64
;
i
++
)
ff_
inv_zigzag_direct16
[
ff_zigzag_direct
[
i
]]
=
i
+
1
;
for
(
i
=
0
;
i
<
64
;
i
++
)
inv_zigzag_direct16
[
ff_zigzag_direct
[
i
]]
=
i
+
1
;
}
...
...
libavcodec/dsputil.h
View file @
486497e0
...
...
@@ -405,7 +405,7 @@ typedef struct DSPContext {
op_pixels_func
put_vc1_mspel_pixels_tab
[
16
];
}
DSPContext
;
void
ff_
dsputil_static_init
(
void
);
void
dsputil_static_init
(
void
);
void
dsputil_init
(
DSPContext
*
p
,
AVCodecContext
*
avctx
);
/**
...
...
@@ -463,8 +463,6 @@ static inline int get_penalty_factor(int lambda, int lambda2, int type){
one or more MultiMedia extension */
int
mm_support
(
void
);
extern
int
ff_mm_flags
;
#ifdef __GNUC__
#define DECLARE_ALIGNED_16(t,v) t v __attribute__ ((aligned (16)))
#else
...
...
@@ -483,6 +481,8 @@ extern int ff_mm_flags;
#define MM_3DNOWEXT 0x0020
/* AMD 3DNowExt */
#define MM_SSE3 0x0040
/* Prescott SSE3 functions */
extern
int
mm_flags
;
void
add_pixels_clamped_mmx
(
const
DCTELEM
*
block
,
uint8_t
*
pixels
,
int
line_size
);
void
put_pixels_clamped_mmx
(
const
DCTELEM
*
block
,
uint8_t
*
pixels
,
int
line_size
);
void
put_signed_pixels_clamped_mmx
(
const
DCTELEM
*
block
,
uint8_t
*
pixels
,
int
line_size
);
...
...
@@ -495,7 +495,7 @@ static inline void emms(void)
#define emms_c() \
{\
if (
ff_
mm_flags & MM_MMX)\
if (mm_flags & MM_MMX)\
emms();\
}
...
...
@@ -519,6 +519,8 @@ void dsputil_init_pix_mmx(DSPContext* c, AVCodecContext *avctx);
#define MM_IWMMXT 0x0100
/* XScale IWMMXT */
extern
int
mm_flags
;
void
dsputil_init_armv4l
(
DSPContext
*
c
,
AVCodecContext
*
avctx
);
#elif defined(HAVE_MLIB)
...
...
@@ -547,6 +549,8 @@ void dsputil_init_alpha(DSPContext* c, AVCodecContext *avctx);
#define MM_ALTIVEC 0x0001
/* standard AltiVec */
extern
int
mm_flags
;
#if defined(HAVE_ALTIVEC) && !defined(CONFIG_DARWIN)
#define pixel altivec_pixel
#include <altivec.h>
...
...
libavcodec/h263dec.c
View file @
486497e0
...
...
@@ -643,7 +643,7 @@ retry:
#endif
#if defined(HAVE_MMX) && defined(CONFIG_GPL)
if
(
s
->
codec_id
==
CODEC_ID_MPEG4
&&
s
->
xvid_build
&&
avctx
->
idct_algo
==
FF_IDCT_AUTO
&&
(
ff_
mm_flags
&
MM_MMX
)){
if
(
s
->
codec_id
==
CODEC_ID_MPEG4
&&
s
->
xvid_build
&&
avctx
->
idct_algo
==
FF_IDCT_AUTO
&&
(
mm_flags
&
MM_MMX
)){
avctx
->
idct_algo
=
FF_IDCT_XVIDMMX
;
avctx
->
coded_width
=
0
;
// force reinit
// dsputil_init(&s->dsp, avctx);
...
...
libavcodec/i386/dsputil_mmx.c
View file @
486497e0
...
...
@@ -34,7 +34,7 @@
extern
void
ff_idct_xvid_mmx
(
short
*
block
);
extern
void
ff_idct_xvid_mmx2
(
short
*
block
);
int
ff_
mm_flags
;
/* multimedia extension flags */
int
mm_flags
;
/* multimedia extension flags */
/* pixel operations */
static
const
uint64_t
mm_bone
attribute_used
__attribute__
((
aligned
(
8
)))
=
0x0101010101010101ULL
;
...
...
@@ -3050,39 +3050,39 @@ extern void ff_snow_inner_add_yblock_mmx(uint8_t *obmc, const int obmc_stride, u
void
dsputil_init_mmx
(
DSPContext
*
c
,
AVCodecContext
*
avctx
)
{
ff_
mm_flags
=
mm_support
();
mm_flags
=
mm_support
();
if
(
avctx
->
dsp_mask
)
{
if
(
avctx
->
dsp_mask
&
FF_MM_FORCE
)
ff_
mm_flags
|=
(
avctx
->
dsp_mask
&
0xffff
);
mm_flags
|=
(
avctx
->
dsp_mask
&
0xffff
);
else
ff_
mm_flags
&=
~
(
avctx
->
dsp_mask
&
0xffff
);
mm_flags
&=
~
(
avctx
->
dsp_mask
&
0xffff
);
}
#if 0
av_log(avctx, AV_LOG_INFO, "libavcodec: CPU flags:");
if (
ff_
mm_flags & MM_MMX)
if (mm_flags & MM_MMX)
av_log(avctx, AV_LOG_INFO, " mmx");
if (
ff_
mm_flags & MM_MMXEXT)
if (mm_flags & MM_MMXEXT)
av_log(avctx, AV_LOG_INFO, " mmxext");
if (
ff_
mm_flags & MM_3DNOW)
if (mm_flags & MM_3DNOW)
av_log(avctx, AV_LOG_INFO, " 3dnow");
if (
ff_
mm_flags & MM_SSE)
if (mm_flags & MM_SSE)
av_log(avctx, AV_LOG_INFO, " sse");
if (
ff_
mm_flags & MM_SSE2)
if (mm_flags & MM_SSE2)
av_log(avctx, AV_LOG_INFO, " sse2");
av_log(avctx, AV_LOG_INFO, "\n");
#endif
if
(
ff_
mm_flags
&
MM_MMX
)
{
if
(
mm_flags
&
MM_MMX
)
{
const
int
idct_algo
=
avctx
->
idct_algo
;
#ifdef CONFIG_ENCODERS
const
int
dct_algo
=
avctx
->
dct_algo
;
if
(
dct_algo
==
FF_DCT_AUTO
||
dct_algo
==
FF_DCT_MMX
){
if
(
ff_
mm_flags
&
MM_SSE2
){
if
(
mm_flags
&
MM_SSE2
){
c
->
fdct
=
ff_fdct_sse2
;
}
else
if
(
ff_
mm_flags
&
MM_MMXEXT
){
}
else
if
(
mm_flags
&
MM_MMXEXT
){
c
->
fdct
=
ff_fdct_mmx2
;
}
else
{
c
->
fdct
=
ff_fdct_mmx
;
...
...
@@ -3097,7 +3097,7 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx)
c
->
idct_permutation_type
=
FF_SIMPLE_IDCT_PERM
;
#ifdef CONFIG_GPL
}
else
if
(
idct_algo
==
FF_IDCT_LIBMPEG2MMX
){
if
(
ff_
mm_flags
&
MM_MMXEXT
){
if
(
mm_flags
&
MM_MMXEXT
){
c
->
idct_put
=
ff_libmpeg2mmx2_idct_put
;
c
->
idct_add
=
ff_libmpeg2mmx2_idct_add
;
c
->
idct
=
ff_mmxext_idct
;
...
...
@@ -3111,7 +3111,7 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx)
}
else
if
(
idct_algo
==
FF_IDCT_VP3
&&
avctx
->
codec
->
id
!=
CODEC_ID_THEORA
&&
!
(
avctx
->
flags
&
CODEC_FLAG_BITEXACT
)){
if
(
ff_
mm_flags
&
MM_SSE2
){
if
(
mm_flags
&
MM_SSE2
){
c
->
idct_put
=
ff_vp3_idct_put_sse2
;
c
->
idct_add
=
ff_vp3_idct_add_sse2
;
c
->
idct
=
ff_vp3_idct_sse2
;
...
...
@@ -3126,7 +3126,7 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx)
}
else
if
(
idct_algo
==
FF_IDCT_CAVS
){
c
->
idct_permutation_type
=
FF_TRANSPOSE_IDCT_PERM
;
}
else
if
(
idct_algo
==
FF_IDCT_XVIDMMX
){
if
(
ff_
mm_flags
&
MM_MMXEXT
){
if
(
mm_flags
&
MM_MMXEXT
){
c
->
idct_put
=
ff_idct_xvid_mmx2_put
;
c
->
idct_add
=
ff_idct_xvid_mmx2_add
;
c
->
idct
=
ff_idct_xvid_mmx2
;
...
...
@@ -3200,7 +3200,7 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx)
c
->
hadamard8_diff
[
1
]
=
hadamard8_diff_mmx
;
c
->
pix_norm1
=
pix_norm1_mmx
;
c
->
sse
[
0
]
=
(
ff_
mm_flags
&
MM_SSE2
)
?
sse16_sse2
:
sse16_mmx
;
c
->
sse
[
0
]
=
(
mm_flags
&
MM_SSE2
)
?
sse16_sse2
:
sse16_mmx
;
c
->
sse
[
1
]
=
sse8_mmx
;
c
->
vsad
[
4
]
=
vsad_intra16_mmx
;
...
...
@@ -3227,7 +3227,7 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx)
c
->
h264_idct8_dc_add
=
c
->
h264_idct8_add
=
ff_h264_idct8_add_mmx
;
if
(
ff_
mm_flags
&
MM_MMXEXT
)
{
if
(
mm_flags
&
MM_MMXEXT
)
{
c
->
prefetch
=
prefetch_mmx2
;
c
->
put_pixels_tab
[
0
][
1
]
=
put_pixels16_x2_mmx2
;
...
...
@@ -3369,7 +3369,7 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx)
#ifdef CONFIG_ENCODERS
c
->
sub_hfyu_median_prediction
=
sub_hfyu_median_prediction_mmx2
;
#endif //CONFIG_ENCODERS
}
else
if
(
ff_
mm_flags
&
MM_3DNOW
)
{
}
else
if
(
mm_flags
&
MM_3DNOW
)
{
c
->
prefetch
=
prefetch_3dnow
;
c
->
put_pixels_tab
[
0
][
1
]
=
put_pixels16_x2_3dnow
;
...
...
@@ -3463,7 +3463,7 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx)
}
#ifdef CONFIG_SNOW_ENCODER
if
(
ff_
mm_flags
&
MM_SSE2
){
if
(
mm_flags
&
MM_SSE2
){
c
->
horizontal_compose97i
=
ff_snow_horizontal_compose97i_sse2
;
c
->
vertical_compose97i
=
ff_snow_vertical_compose97i_sse2
;
c
->
inner_add_yblock
=
ff_snow_inner_add_yblock_sse2
;
...
...
@@ -3475,22 +3475,22 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx)
}
#endif
if
(
ff_
mm_flags
&
MM_3DNOW
){
if
(
mm_flags
&
MM_3DNOW
){
c
->
vorbis_inverse_coupling
=
vorbis_inverse_coupling_3dnow
;
c
->
vector_fmul
=
vector_fmul_3dnow
;
if
(
!
(
avctx
->
flags
&
CODEC_FLAG_BITEXACT
))
c
->
float_to_int16
=
float_to_int16_3dnow
;
}
if
(
ff_
mm_flags
&
MM_3DNOWEXT
)
if
(
mm_flags
&
MM_3DNOWEXT
)
c
->
vector_fmul_reverse
=
vector_fmul_reverse_3dnow2
;
if
(
ff_
mm_flags
&
MM_SSE
){
if
(
mm_flags
&
MM_SSE
){
c
->
vorbis_inverse_coupling
=
vorbis_inverse_coupling_sse
;
c
->
vector_fmul
=
vector_fmul_sse
;
c
->
float_to_int16
=
float_to_int16_sse
;
c
->
vector_fmul_reverse
=
vector_fmul_reverse_sse
;
c
->
vector_fmul_add_add
=
vector_fmul_add_add_sse
;
}
if
(
ff_
mm_flags
&
MM_3DNOW
)
if
(
mm_flags
&
MM_3DNOW
)
c
->
vector_fmul_add_add
=
vector_fmul_add_add_3dnow
;
// faster than sse
}
...
...
libavcodec/i386/motion_est_mmx.c
View file @
486497e0
...
...
@@ -376,7 +376,7 @@ PIX_SAD(mmx2)
void
dsputil_init_pix_mmx
(
DSPContext
*
c
,
AVCodecContext
*
avctx
)
{
if
(
ff_
mm_flags
&
MM_MMX
)
{
if
(
mm_flags
&
MM_MMX
)
{
c
->
pix_abs
[
0
][
0
]
=
sad16_mmx
;
c
->
pix_abs
[
0
][
1
]
=
sad16_x2_mmx
;
c
->
pix_abs
[
0
][
2
]
=
sad16_y2_mmx
;
...
...
@@ -389,7 +389,7 @@ void dsputil_init_pix_mmx(DSPContext* c, AVCodecContext *avctx)
c
->
sad
[
0
]
=
sad16_mmx
;
c
->
sad
[
1
]
=
sad8_mmx
;
}
if
(
ff_
mm_flags
&
MM_MMXEXT
)
{
if
(
mm_flags
&
MM_MMXEXT
)
{
c
->
pix_abs
[
0
][
0
]
=
sad16_mmx2
;
c
->
pix_abs
[
1
][
0
]
=
sad8_mmx2
;
...
...
libavcodec/i386/mpegvideo_mmx.c
View file @
486497e0
...
...
@@ -27,7 +27,7 @@
#include "../avcodec.h"
#include "x86_cpu.h"
extern
uint16_t
ff_
inv_zigzag_direct16
[
64
];
extern
uint16_t
inv_zigzag_direct16
[
64
];
static
const
unsigned
long
long
int
mm_wabs
__attribute__
((
aligned
(
8
)))
=
0xffffffffffffffffULL
;
static
const
unsigned
long
long
int
mm_wone
__attribute__
((
aligned
(
8
)))
=
0x0001000100010001ULL
;
...
...
@@ -693,7 +693,7 @@ static void denoise_dct_sse2(MpegEncContext *s, DCTELEM *block){
void
MPV_common_init_mmx
(
MpegEncContext
*
s
)
{
if
(
ff_
mm_flags
&
MM_MMX
)
{
if
(
mm_flags
&
MM_MMX
)
{
const
int
dct_algo
=
s
->
avctx
->
dct_algo
;
s
->
dct_unquantize_h263_intra
=
dct_unquantize_h263_intra_mmx
;
...
...
@@ -706,16 +706,16 @@ void MPV_common_init_mmx(MpegEncContext *s)
draw_edges
=
draw_edges_mmx
;
if
(
ff_
mm_flags
&
MM_SSE2
)
{
if
(
mm_flags
&
MM_SSE2
)
{
s
->
denoise_dct
=
denoise_dct_sse2
;
}
else
{
s
->
denoise_dct
=
denoise_dct_mmx
;
}
if
(
dct_algo
==
FF_DCT_AUTO
||
dct_algo
==
FF_DCT_MMX
){
if
(
ff_
mm_flags
&
MM_SSE2
){
if
(
mm_flags
&
MM_SSE2
){
s
->
dct_quantize
=
dct_quantize_SSE2
;
}
else
if
(
ff_
mm_flags
&
MM_MMXEXT
){
}
else
if
(
mm_flags
&
MM_MMXEXT
){
s
->
dct_quantize
=
dct_quantize_MMX2
;
}
else
{
s
->
dct_quantize
=
dct_quantize_MMX
;
...
...
libavcodec/i386/mpegvideo_mmx_template.c
View file @
486497e0
...
...
@@ -139,7 +139,7 @@ static int RENAME(dct_quantize)(MpegEncContext *s,
"movzb %%al, %%"
REG_a
"
\n\t
"
// last_non_zero_p1
:
"+a"
(
last_non_zero_p1
)
:
"r"
(
block
+
64
),
"r"
(
qmat
),
"r"
(
bias
),
"r"
(
ff_
inv_zigzag_direct16
+
64
),
"r"
(
temp_block
+
64
)
"r"
(
inv_zigzag_direct16
+
64
),
"r"
(
temp_block
+
64
)
);
// note the asm is split cuz gcc doesnt like that many operands ...
asm
volatile
(
...
...
@@ -185,7 +185,7 @@ static int RENAME(dct_quantize)(MpegEncContext *s,
"movzb %%al, %%"
REG_a
"
\n\t
"
// last_non_zero_p1
:
"+a"
(
last_non_zero_p1
)
:
"r"
(
block
+
64
),
"r"
(
qmat
+
64
),
"r"
(
bias
+
64
),
"r"
(
ff_
inv_zigzag_direct16
+
64
),
"r"
(
temp_block
+
64
)
"r"
(
inv_zigzag_direct16
+
64
),
"r"
(
temp_block
+
64
)
);
// note the asm is split cuz gcc doesnt like that many operands ...
asm
volatile
(
...
...
libavcodec/imgresample.c
View file @
486497e0
...
...
@@ -469,7 +469,7 @@ static void h_resample(uint8_t *dst, int dst_width, const uint8_t *src,
n
=
dst_width
;
}
#ifdef HAVE_MMX
if
((
ff_
mm_flags
&
MM_MMX
)
&&
NB_TAPS
==
4
)
if
((
mm_flags
&
MM_MMX
)
&&
NB_TAPS
==
4
)
h_resample_fast4_mmx
(
dst
,
n
,
src
,
src_width
,
src_start
,
src_incr
,
filters
);
else
...
...
@@ -527,14 +527,14 @@ static void component_resample(ImgReSampleContext *s,
phase_y
=
get_phase
(
src_y
);
#ifdef HAVE_MMX
/* desactivated MMX because loss of precision */
if
((
ff_
mm_flags
&
MM_MMX
)
&&
NB_TAPS
==
4
&&
0
)
if
((
mm_flags
&
MM_MMX
)
&&
NB_TAPS
==
4
&&
0
)
v_resample4_mmx
(
output
,
owidth
,
s
->
line_buf
+
(
ring_y
-
NB_TAPS
+
1
)
*
owidth
,
owidth
,
&
s
->
v_filters
[
phase_y
][
0
]);
else
#endif
#ifdef HAVE_ALTIVEC
if
((
ff_
mm_flags
&
MM_ALTIVEC
)
&&
NB_TAPS
==
4
&&
FILTER_BITS
<=
6
)
if
((
mm_flags
&
MM_ALTIVEC
)
&&
NB_TAPS
==
4
&&
FILTER_BITS
<=
6
)
v_resample16_altivec
(
output
,
owidth
,
s
->
line_buf
+
(
ring_y
-
NB_TAPS
+
1
)
*
owidth
,
owidth
,
&
s
->
v_filters
[
phase_y
][
0
]);
...
...
libavcodec/ppc/dsputil_ppc.c
View file @
486497e0
...
...
@@ -42,7 +42,7 @@ void float_init_altivec(DSPContext* c, AVCodecContext *avctx);
#endif
int
ff_
mm_flags
=
0
;
int
mm_flags
=
0
;
int
mm_support
(
void
)
{
...
...
@@ -277,7 +277,7 @@ void dsputil_init_ppc(DSPContext* c, AVCodecContext *avctx)
dsputil_h264_init_ppc
(
c
,
avctx
);
if
(
has_altivec
())
{
ff_
mm_flags
|=
MM_ALTIVEC
;
mm_flags
|=
MM_ALTIVEC
;
dsputil_init_altivec
(
c
,
avctx
);
snow_init_altivec
(
c
,
avctx
);
...
...
libavcodec/snow.c
View file @
486497e0
...
...
@@ -3001,9 +3001,9 @@ static int get_block_rd(SnowContext *s, int mb_x, int mb_y, int plane_index, con
* improve the score of the whole frame, so iterative motion est
* doesn't always converge. */
if
(
s
->
avctx
->
me_cmp
==
FF_CMP_W97
)
distortion
=
ff_
w97_32_c
(
&
s
->
m
,
src
+
sx
+
sy
*
ref_stride
,
dst
+
sx
+
sy
*
ref_stride
,
ref_stride
,
32
);
distortion
=
w97_32_c
(
&
s
->
m
,
src
+
sx
+
sy
*
ref_stride
,
dst
+
sx
+
sy
*
ref_stride
,
ref_stride
,
32
);
else
if
(
s
->
avctx
->
me_cmp
==
FF_CMP_W53
)
distortion
=
ff_
w53_32_c
(
&
s
->
m
,
src
+
sx
+
sy
*
ref_stride
,
dst
+
sx
+
sy
*
ref_stride
,
ref_stride
,
32
);
distortion
=
w53_32_c
(
&
s
->
m
,
src
+
sx
+
sy
*
ref_stride
,
dst
+
sx
+
sy
*
ref_stride
,
ref_stride
,
32
);
else
{
distortion
=
0
;
for
(
i
=
0
;
i
<
4
;
i
++
){
...
...
libavcodec/snow.h
View file @
486497e0
...
...
@@ -128,8 +128,8 @@ extern void ff_snow_horizontal_compose97i(DWTELEM *b, int width);
extern
void
ff_snow_inner_add_yblock
(
uint8_t
*
obmc
,
const
int
obmc_stride
,
uint8_t
*
*
block
,
int
b_w
,
int
b_h
,
int
src_x
,
int
src_y
,
int
src_stride
,
slice_buffer
*
sb
,
int
add
,
uint8_t
*
dst8
);
#ifdef CONFIG_SNOW_ENCODER
int
ff_
w53_32_c
(
void
*
v
,
uint8_t
*
pix1
,
uint8_t
*
pix2
,
int
line_size
,
int
h
);
int
ff_
w97_32_c
(
void
*
v
,
uint8_t
*
pix1
,
uint8_t
*
pix2
,
int
line_size
,
int
h
);
int
w53_32_c
(
void
*
v
,
uint8_t
*
pix1
,
uint8_t
*
pix2
,
int
line_size
,
int
h
);
int
w97_32_c
(
void
*
v
,
uint8_t
*
pix1
,
uint8_t
*
pix2
,
int
line_size
,
int
h
);
#else
static
int
w53_32_c
(
void
*
v
,
uint8_t
*
pix1
,
uint8_t
*
pix2
,
int
line_size
,
int
h
)
{
assert
(
0
);}
static
int
w97_32_c
(
void
*
v
,
uint8_t
*
pix1
,
uint8_t
*
pix2
,
int
line_size
,
int
h
)
{
assert
(
0
);}
...
...
libavcodec/utils.c
View file @
486497e0
...
...
@@ -1197,7 +1197,7 @@ void avcodec_init(void)
return
;
inited
=
1
;
ff_
dsputil_static_init
();
dsputil_static_init
();
init_crcs
();
}
...
...
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