diff options
author | henry <henry@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2004-08-02 13:09:17 +0000 |
---|---|---|
committer | henry <henry@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2004-08-02 13:09:17 +0000 |
commit | 267c4e26d3d57584227561e64986be846e0c95f9 (patch) | |
tree | 62d88092e9b0603179bba973865d29699fd3cf93 /libmpeg2 | |
parent | ff1f7226f1f939efb0e0c8d4394e71cc4db4b771 (diff) | |
download | mpv-267c4e26d3d57584227561e64986be846e0c95f9.tar.bz2 mpv-267c4e26d3d57584227561e64986be846e0c95f9.tar.xz |
forgotten libmpeg2 postprocessing
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12936 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpeg2')
-rw-r--r-- | libmpeg2/header.c | 1 | ||||
-rw-r--r-- | libmpeg2/mpeg2_internal.h | 5 | ||||
-rw-r--r-- | libmpeg2/slice.c | 3 |
3 files changed, 9 insertions, 0 deletions
diff --git a/libmpeg2/header.c b/libmpeg2/header.c index 8312e9a7d6..fb2288433f 100644 --- a/libmpeg2/header.c +++ b/libmpeg2/header.c @@ -803,6 +803,7 @@ static void prescale (mpeg2dec_t * mpeg2dec, int index) mpeg2dec->scaled[index] = mpeg2dec->q_scale_type; for (i = 0; i < 32; i++) { k = mpeg2dec->q_scale_type ? non_linear_scale[i] : (i << 1); + decoder->quantizer_scale = k; for (j = 0; j < 64; j++) decoder->quantizer_prescale[index][i][j] = k * mpeg2dec->quantizer_matrix[index][j]; diff --git a/libmpeg2/mpeg2_internal.h b/libmpeg2/mpeg2_internal.h index 850456b1f8..1ba3300c9e 100644 --- a/libmpeg2/mpeg2_internal.h +++ b/libmpeg2/mpeg2_internal.h @@ -144,6 +144,11 @@ struct mpeg2_decoder_s { int second_field; int mpeg1; + + /* for MPlayer: */ + int quantizer_scale; + char* quant_store; + int quant_stride; }; typedef struct { diff --git a/libmpeg2/slice.c b/libmpeg2/slice.c index 15740e1151..35d99b6a5c 100644 --- a/libmpeg2/slice.c +++ b/libmpeg2/slice.c @@ -1564,6 +1564,9 @@ do { \ #define NEXT_MACROBLOCK \ do { \ + if(decoder->quant_store) \ + decoder->quant_store[decoder->quant_stride*(decoder->v_offset>>4) \ + +(decoder->offset>>4)] = decoder->quantizer_scale; \ decoder->offset += 16; \ if (decoder->offset == decoder->width) { \ do { /* just so we can use the break statement */ \ |