Revision 36373cde
libavcodec/apedec.c  

517  517 
return (x < 0)  (x > 0); 
518  518 
} 
519  519  
520 
static int predictor_update_filter(APEPredictor *p, const int decoded, const int filter, const int delayA, const int delayB, const int adaptA, const int adaptB) 

520 
static av_always_inline int predictor_update_filter(APEPredictor *p, const int decoded, const int filter, const int delayA, const int delayB, const int adaptA, const int adaptB)


521  521 
{ 
522  522 
int32_t predictionA, predictionB; 
523  523  
...  ...  
578  578  
579  579 
static void predictor_decode_stereo(APEContext * ctx, int count) 
580  580 
{ 
581 
int32_t predictionA, predictionB; 

582  581 
APEPredictor *p = &ctx>predictor; 
583  582 
int32_t *decoded0 = ctx>decoded0; 
584  583 
int32_t *decoded1 = ctx>decoded1; 
585  584  
586  585 
while (count) { 
587  586 
/* Predictor Y */ 
588 
predictionA = predictor_update_filter(p, *decoded0, 0, YDELAYA, YDELAYB, YADAPTCOEFFSA, YADAPTCOEFFSB);


589 
predictionB = predictor_update_filter(p, *decoded1, 1, XDELAYA, XDELAYB, XADAPTCOEFFSA, XADAPTCOEFFSB);


590 
*(decoded0++) = predictionA;


591 
*(decoded1++) = predictionB;


587 
*decoded0 = predictor_update_filter(p, *decoded0, 0, YDELAYA, YDELAYB, YADAPTCOEFFSA, YADAPTCOEFFSB);


588 
decoded0++;


589 
*decoded1 = predictor_update_filter(p, *decoded1, 1, XDELAYA, XDELAYB, XADAPTCOEFFSA, XADAPTCOEFFSB);


590 
decoded1++;


592  591  
593  592 
/* Combined */ 
594  593 
p>buf++; 
Also available in: Unified diff