Mercurial > libavcodec.hg
diff mpegvideo.c @ 1411:c2e63cb94d06 libavcodec
custom quant matrix encoding support
author | michaelni |
---|---|
date | Fri, 22 Aug 2003 22:18:08 +0000 |
parents | f662e9c86cf2 |
children | 8edad1e372d1 |
line wrap: on
line diff
--- a/mpegvideo.c Fri Aug 22 14:59:04 2003 +0000 +++ b/mpegvideo.c Fri Aug 22 22:18:08 2003 +0000 @@ -167,6 +167,18 @@ } } +void ff_write_quant_matrix(PutBitContext *pb, int16_t *matrix){ + int i; + + if(matrix){ + put_bits(pb, 1, 1); + for(i=0;i<64;i++) { + put_bits(pb, 8, matrix[ ff_zigzag_direct[i] ]); + } + }else + put_bits(pb, 1, 0); +} + /* init common dct for both encoder and decoder */ int DCT_common_init(MpegEncContext *s) { @@ -812,6 +824,10 @@ s->intra_matrix[j] = ff_mpeg1_default_intra_matrix[i]; s->inter_matrix[j] = ff_mpeg1_default_non_intra_matrix[i]; } + if(s->avctx->intra_matrix) + s->intra_matrix[j] = s->avctx->intra_matrix[i]; + if(s->avctx->inter_matrix) + s->inter_matrix[j] = s->avctx->inter_matrix[i]; } /* precompute matrix */