Merge commit '9cacdabd1c8cd257a942d8289349c37d992989b7'
* commit '9cacdabd1c8cd257a942d8289349c37d992989b7': jpegls: cosmetics: Drop some unnecessary parentheses mpegvideo: Remove commented-out PARANOID debug cruft Conflicts: libavcodec/jpegls.c libavcodec/mpegvideo.c libavcodec/x86/mpegvideo.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
0d83b5722e
@ -31,7 +31,7 @@ void ff_jpegls_init_state(JLSState *state){
|
|||||||
int i;
|
int i;
|
||||||
|
|
||||||
state->twonear = state->near * 2 + 1;
|
state->twonear = state->near * 2 + 1;
|
||||||
state->range = ((state->maxval + state->twonear - 1) / state->twonear) + 1;
|
state->range = (state->maxval + state->twonear - 1) / state->twonear + 1;
|
||||||
|
|
||||||
// QBPP = ceil(log2(RANGE))
|
// QBPP = ceil(log2(RANGE))
|
||||||
for(state->qbpp = 0; (1 << state->qbpp) < state->range; state->qbpp++);
|
for(state->qbpp = 0; (1 << state->qbpp) < state->range; state->qbpp++);
|
||||||
@ -40,7 +40,7 @@ void ff_jpegls_init_state(JLSState *state){
|
|||||||
state->limit = 2*(state->bpp + FFMAX(state->bpp, 8)) - state->qbpp;
|
state->limit = 2*(state->bpp + FFMAX(state->bpp, 8)) - state->qbpp;
|
||||||
|
|
||||||
for(i = 0; i < 367; i++) {
|
for(i = 0; i < 367; i++) {
|
||||||
state->A[i] = FFMAX((state->range + 32) >> 6, 2);
|
state->A[i] = FFMAX(state->range + 32 >> 6, 2);
|
||||||
state->N[i] = 1;
|
state->N[i] = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -63,7 +63,7 @@ void ff_jpegls_reset_coding_parameters(JLSState *s, int reset_all){
|
|||||||
if(s->maxval==0 || reset_all) s->maxval= (1 << s->bpp) - 1;
|
if(s->maxval==0 || reset_all) s->maxval= (1 << s->bpp) - 1;
|
||||||
|
|
||||||
if(s->maxval >=128){
|
if(s->maxval >=128){
|
||||||
factor= (FFMIN(s->maxval, 4095) + 128)>>8;
|
factor = FFMIN(s->maxval, 4095) + 128 >> 8;
|
||||||
|
|
||||||
if(s->T1==0 || reset_all)
|
if(s->T1==0 || reset_all)
|
||||||
s->T1= iso_clip(factor*(basic_t1-2) + 2 + 3*s->near, s->near+1, s->maxval);
|
s->T1= iso_clip(factor*(basic_t1-2) + 2 + 3*s->near, s->near+1, s->maxval);
|
||||||
|
|||||||
@ -98,7 +98,7 @@ static inline int ls_get_code_regular(GetBitContext *gb, JLSState *state, int Q)
|
|||||||
|
|
||||||
/* decode mapped error */
|
/* decode mapped error */
|
||||||
if(ret & 1)
|
if(ret & 1)
|
||||||
ret = -((ret + 1) >> 1);
|
ret = -(ret + 1 >> 1);
|
||||||
else
|
else
|
||||||
ret >>= 1;
|
ret >>= 1;
|
||||||
|
|
||||||
@ -136,7 +136,7 @@ static inline int ls_get_code_runterm(GetBitContext *gb, JLSState *state, int RI
|
|||||||
ret += RItype + map;
|
ret += RItype + map;
|
||||||
|
|
||||||
if(ret & 1){
|
if(ret & 1){
|
||||||
ret = map - ((ret + 1) >> 1);
|
ret = map - (ret + 1 >> 1);
|
||||||
state->B[Q]++;
|
state->B[Q]++;
|
||||||
} else {
|
} else {
|
||||||
ret = ret >> 1;
|
ret = ret >> 1;
|
||||||
@ -186,7 +186,7 @@ static inline void ls_decode_line(JLSState *state, MJpegDecodeContext *s, void *
|
|||||||
x += stride;
|
x += stride;
|
||||||
}
|
}
|
||||||
/* if EOL reached, we stop decoding */
|
/* if EOL reached, we stop decoding */
|
||||||
if(r != (1 << ff_log2_run[state->run_index[comp]]))
|
if (r != 1 << ff_log2_run[state->run_index[comp]])
|
||||||
return;
|
return;
|
||||||
if(state->run_index[comp] < 31)
|
if(state->run_index[comp] < 31)
|
||||||
state->run_index[comp]++;
|
state->run_index[comp]++;
|
||||||
|
|||||||
@ -49,7 +49,7 @@ static inline void ls_encode_regular(JLSState *state, PutBitContext *pb, int Q,
|
|||||||
|
|
||||||
if(err < 0)
|
if(err < 0)
|
||||||
err += state->range;
|
err += state->range;
|
||||||
if(err >= ((state->range + 1) >> 1)) {
|
if (err >= (state->range + 1 >> 1)) {
|
||||||
err -= state->range;
|
err -= state->range;
|
||||||
val = 2 * FFABS(err) - 1 - map;
|
val = 2 * FFABS(err) - 1 - map;
|
||||||
} else
|
} else
|
||||||
@ -145,7 +145,7 @@ static inline void ls_encode_line(JLSState *state, PutBitContext *pb, void *last
|
|||||||
if(x >= w)
|
if(x >= w)
|
||||||
return;
|
return;
|
||||||
Rb = R(last, x);
|
Rb = R(last, x);
|
||||||
RItype = (FFABS(Ra - Rb) <= state->near);
|
RItype = FFABS(Ra - Rb) <= state->near;
|
||||||
pred = RItype ? Ra : Rb;
|
pred = RItype ? Ra : Rb;
|
||||||
err = R(cur, x) - pred;
|
err = R(cur, x) - pred;
|
||||||
|
|
||||||
@ -166,7 +166,7 @@ static inline void ls_encode_line(JLSState *state, PutBitContext *pb, void *last
|
|||||||
}
|
}
|
||||||
if(err < 0)
|
if(err < 0)
|
||||||
err += state->range;
|
err += state->range;
|
||||||
if(err >= ((state->range + 1) >> 1))
|
if (err >= state->range + 1 >> 1)
|
||||||
err -= state->range;
|
err -= state->range;
|
||||||
|
|
||||||
ls_encode_runterm(state, pb, RItype, err, ff_log2_run[state->run_index[comp]]);
|
ls_encode_runterm(state, pb, RItype, err, ff_log2_run[state->run_index[comp]]);
|
||||||
|
|||||||
@ -60,7 +60,6 @@ static void dct_unquantize_h263_intra_c(MpegEncContext *s,
|
|||||||
static void dct_unquantize_h263_inter_c(MpegEncContext *s,
|
static void dct_unquantize_h263_inter_c(MpegEncContext *s,
|
||||||
int16_t *block, int n, int qscale);
|
int16_t *block, int n, int qscale);
|
||||||
|
|
||||||
|
|
||||||
//#define DEBUG
|
//#define DEBUG
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -164,28 +164,6 @@ __asm__ volatile(
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
We can suppose that result of two multiplications can't be greater than 0xFFFF
|
|
||||||
i.e. is 16-bit, so we use here only PMULLW instruction and can avoid
|
|
||||||
a complex multiplication.
|
|
||||||
=====================================================
|
|
||||||
Full formula for multiplication of 2 integer numbers
|
|
||||||
which are represent as high:low words:
|
|
||||||
input: value1 = high1:low1
|
|
||||||
value2 = high2:low2
|
|
||||||
output: value3 = value1*value2
|
|
||||||
value3=high3:low3 (on overflow: modulus 2^32 wrap-around)
|
|
||||||
this mean that for 0x123456 * 0x123456 correct result is 0x766cb0ce4
|
|
||||||
but this algorithm will compute only 0x66cb0ce4
|
|
||||||
this limited by 16-bit size of operands
|
|
||||||
---------------------------------
|
|
||||||
tlow1 = high1*low2
|
|
||||||
tlow2 = high2*low1
|
|
||||||
tlow1 = tlow1 + tlow2
|
|
||||||
high3:low3 = low1*low2
|
|
||||||
high3 += tlow1
|
|
||||||
*/
|
|
||||||
static void dct_unquantize_mpeg1_intra_mmx(MpegEncContext *s,
|
static void dct_unquantize_mpeg1_intra_mmx(MpegEncContext *s,
|
||||||
int16_t *block, int n, int qscale)
|
int16_t *block, int n, int qscale)
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user