Merge commit '56eded8bc7bccdf14245bae3a45b0fecf9d9d122' into release/1.1

* commit '56eded8bc7bccdf14245bae3a45b0fecf9d9d122':
  mpeg4videodec: split initializing static tables into a separate function
  x86: ac3dsp: Remove 3dnow version of ff_ac3_extract_exponents
  pthread: Avoid spurious wakeups

Conflicts:
	libavcodec/mpeg4videodec.c
	tests/fate/ac3.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer
2013-12-21 02:28:44 +01:00
5 changed files with 4 additions and 42 deletions

View File

@@ -2255,7 +2255,8 @@ end:
return decode_vop_header(s, gb);
}
av_cold void ff_mpeg4videodec_static_init(void) {
av_cold void ff_mpeg4videodec_static_init(void)
{
static int done = 0;
if (!done) {

View File

@@ -81,8 +81,8 @@ typedef struct ThreadContext {
pthread_cond_t last_job_cond;
pthread_cond_t current_job_cond;
pthread_mutex_t current_job_lock;
unsigned current_execute;
int current_job;
unsigned int current_execute;
int done;
} ThreadContext;
@@ -206,8 +206,8 @@ static void* attribute_align_arg worker(void *v)
{
AVCodecContext *avctx = v;
ThreadContext *c = avctx->thread_opaque;
unsigned last_execute = 0;
int our_job = c->job_count;
int last_execute = 0;
int thread_count = avctx->thread_count;
int self_id;

View File

@@ -382,42 +382,6 @@ cglobal ac3_compute_mantissa_size, 1, 2, 4, mant_cnt, sum
%endif
%endmacro
%if HAVE_AMD3DNOW_EXTERNAL
INIT_MMX 3dnow
cglobal ac3_extract_exponents, 3, 3, 0, exp, coef, len
add expq, lenq
lea coefq, [coefq+4*lenq]
neg lenq
movq m3, [pd_1]
movq m4, [pd_151]
.loop:
movq m0, [coefq+4*lenq ]
movq m1, [coefq+4*lenq+8]
PABSD m0, m2
PABSD m1, m2
pslld m0, 1
por m0, m3
pi2fd m2, m0
psrld m2, 23
movq m0, m4
psubd m0, m2
pslld m1, 1
por m1, m3
pi2fd m2, m1
psrld m2, 23
movq m1, m4
psubd m1, m2
packssdw m0, m0
packuswb m0, m0
packssdw m1, m1
packuswb m1, m1
punpcklwd m0, m1
movd [expq+lenq], m0
add lenq, 4
jl .loop
REP_RET
%endif
%macro AC3_EXTRACT_EXPONENTS 0
cglobal ac3_extract_exponents, 3, 3, 4, exp, coef, len
add expq, lenq

View File

@@ -194,7 +194,6 @@ av_cold void ff_ac3dsp_init_x86(AC3DSPContext *c, int bit_exact)
c->ac3_rshift_int32 = ff_ac3_rshift_int32_mmx;
}
if (EXTERNAL_AMD3DNOW(mm_flags)) {
c->extract_exponents = ff_ac3_extract_exponents_3dnow;
if (!bit_exact) {
c->float_to_fixed24 = ff_float_to_fixed24_3dnow;
}

View File

@@ -52,14 +52,12 @@ fate-ac3-encode: CMD = enc_dec_pcm ac3 wav s16le $(REF) -c:a ac3 -b:a 128k
fate-ac3-encode: CMP_SHIFT = -1024
fate-ac3-encode: CMP_TARGET = 399.62
fate-ac3-encode: SIZE_TOLERANCE = 488
fate-ac3-encode: FUZZ = 4
FATE_EAC3-$(call ENCDEC, EAC3, EAC3) += fate-eac3-encode
fate-eac3-encode: CMD = enc_dec_pcm eac3 wav s16le $(REF) -c:a eac3 -b:a 128k
fate-eac3-encode: CMP_SHIFT = -1024
fate-eac3-encode: CMP_TARGET = 514.02
fate-eac3-encode: SIZE_TOLERANCE = 488
fate-eac3-encode: FUZZ = 3
fate-ac3-encode fate-eac3-encode: CMP = stddev
fate-ac3-encode fate-eac3-encode: REF = $(SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav