# HG changeset patch # User michael # Date 1066820379 0 # Node ID 541681146f8322a3c0aac65392c2ff90053386fc # Parent 26c6ecba99a16c4baea20c571b4f9a36130e8cb5 move q_*_matrix out of MpegEncContext (40k ->23k) dct_quantize() is even slightly faster now, dont ask my why ... diff -r 26c6ecba99a1 -r 541681146f83 mpegvideo.c --- a/mpegvideo.c Tue Oct 21 19:55:31 2003 +0000 +++ b/mpegvideo.c Wed Oct 22 10:59:39 2003 +0000 @@ -442,6 +442,9 @@ CHECKED_ALLOCZ(s->mb_type , mb_array_size * sizeof(uint8_t)) //needed for encoding CHECKED_ALLOCZ(s->lambda_table, mb_array_size * sizeof(int)) + + CHECKED_ALLOCZ(s->q_intra_matrix, 64*32 * sizeof(int)) + CHECKED_ALLOCZ(s->q_inter_matrix, 64*32 * sizeof(int)) } CHECKED_ALLOCZ(s->picture, MAX_PICTURE_COUNT * sizeof(Picture)) @@ -560,6 +563,8 @@ av_freep(&s->error_status_table); av_freep(&s->mb_index2xy); av_freep(&s->lambda_table); + av_freep(&s->q_intra_matrix); + av_freep(&s->q_inter_matrix); for(i=0; ipicture[i]); diff -r 26c6ecba99a1 -r 541681146f83 mpegvideo.h --- a/mpegvideo.h Tue Oct 21 19:55:31 2003 +0000 +++ b/mpegvideo.h Wed Oct 22 10:59:39 2003 +0000 @@ -457,8 +457,8 @@ int coded_score[6]; /** precomputed matrix (combine qscale and DCT renorm) */ - int __align8 q_intra_matrix[32][64]; - int __align8 q_inter_matrix[32][64]; + int (*q_intra_matrix)[64]; + int (*q_inter_matrix)[64]; /** identical to the above but for MMX & these are not permutated */ uint16_t __align8 q_intra_matrix16[32][64]; uint16_t __align8 q_inter_matrix16[32][64];