changeset 1553:541681146f83 libavcodec

move q_*_matrix out of MpegEncContext (40k ->23k) dct_quantize() is even slightly faster now, dont ask my why ...
author michael
date Wed, 22 Oct 2003 10:59:39 +0000
parents 26c6ecba99a1
children d736e24bf303
files mpegvideo.c mpegvideo.h
diffstat 2 files changed, 7 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- 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; i<MAX_PICTURE_COUNT; i++){
         free_picture(s, &s->picture[i]);
--- 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];