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:
@@ -2255,7 +2255,8 @@ end:
|
|||||||
return decode_vop_header(s, gb);
|
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;
|
static int done = 0;
|
||||||
|
|
||||||
if (!done) {
|
if (!done) {
|
||||||
|
@@ -81,8 +81,8 @@ typedef struct ThreadContext {
|
|||||||
pthread_cond_t last_job_cond;
|
pthread_cond_t last_job_cond;
|
||||||
pthread_cond_t current_job_cond;
|
pthread_cond_t current_job_cond;
|
||||||
pthread_mutex_t current_job_lock;
|
pthread_mutex_t current_job_lock;
|
||||||
|
unsigned current_execute;
|
||||||
int current_job;
|
int current_job;
|
||||||
unsigned int current_execute;
|
|
||||||
int done;
|
int done;
|
||||||
} ThreadContext;
|
} ThreadContext;
|
||||||
|
|
||||||
@@ -206,8 +206,8 @@ static void* attribute_align_arg worker(void *v)
|
|||||||
{
|
{
|
||||||
AVCodecContext *avctx = v;
|
AVCodecContext *avctx = v;
|
||||||
ThreadContext *c = avctx->thread_opaque;
|
ThreadContext *c = avctx->thread_opaque;
|
||||||
|
unsigned last_execute = 0;
|
||||||
int our_job = c->job_count;
|
int our_job = c->job_count;
|
||||||
int last_execute = 0;
|
|
||||||
int thread_count = avctx->thread_count;
|
int thread_count = avctx->thread_count;
|
||||||
int self_id;
|
int self_id;
|
||||||
|
|
||||||
|
@@ -382,42 +382,6 @@ cglobal ac3_compute_mantissa_size, 1, 2, 4, mant_cnt, sum
|
|||||||
%endif
|
%endif
|
||||||
%endmacro
|
%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
|
%macro AC3_EXTRACT_EXPONENTS 0
|
||||||
cglobal ac3_extract_exponents, 3, 3, 4, exp, coef, len
|
cglobal ac3_extract_exponents, 3, 3, 4, exp, coef, len
|
||||||
add expq, lenq
|
add expq, lenq
|
||||||
|
@@ -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;
|
c->ac3_rshift_int32 = ff_ac3_rshift_int32_mmx;
|
||||||
}
|
}
|
||||||
if (EXTERNAL_AMD3DNOW(mm_flags)) {
|
if (EXTERNAL_AMD3DNOW(mm_flags)) {
|
||||||
c->extract_exponents = ff_ac3_extract_exponents_3dnow;
|
|
||||||
if (!bit_exact) {
|
if (!bit_exact) {
|
||||||
c->float_to_fixed24 = ff_float_to_fixed24_3dnow;
|
c->float_to_fixed24 = ff_float_to_fixed24_3dnow;
|
||||||
}
|
}
|
||||||
|
@@ -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_SHIFT = -1024
|
||||||
fate-ac3-encode: CMP_TARGET = 399.62
|
fate-ac3-encode: CMP_TARGET = 399.62
|
||||||
fate-ac3-encode: SIZE_TOLERANCE = 488
|
fate-ac3-encode: SIZE_TOLERANCE = 488
|
||||||
fate-ac3-encode: FUZZ = 4
|
|
||||||
|
|
||||||
FATE_EAC3-$(call ENCDEC, EAC3, EAC3) += fate-eac3-encode
|
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: CMD = enc_dec_pcm eac3 wav s16le $(REF) -c:a eac3 -b:a 128k
|
||||||
fate-eac3-encode: CMP_SHIFT = -1024
|
fate-eac3-encode: CMP_SHIFT = -1024
|
||||||
fate-eac3-encode: CMP_TARGET = 514.02
|
fate-eac3-encode: CMP_TARGET = 514.02
|
||||||
fate-eac3-encode: SIZE_TOLERANCE = 488
|
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: CMP = stddev
|
||||||
fate-ac3-encode fate-eac3-encode: REF = $(SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav
|
fate-ac3-encode fate-eac3-encode: REF = $(SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav
|
||||||
|
Reference in New Issue
Block a user