Mercurial > libavcodec.hg
changeset 652:c7647afc3ce5 libavcodec
set pict_type & key_frame on decoding too
author | michaelni |
---|---|
date | Thu, 12 Sep 2002 00:27:08 +0000 |
parents | 45e8f39fda50 |
children | 714795876872 |
files | avcodec.h mpegvideo.c |
diffstat | 2 files changed, 4 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/avcodec.h Wed Sep 11 12:39:53 2002 +0000 +++ b/avcodec.h Thu Sep 12 00:27:08 2002 +0000 @@ -182,7 +182,7 @@ int key_frame; /* true if the previous compressed frame was a key frame (intra, or seekable) */ int pict_type; /* picture type of the previous - encoded frame */ + en/decoded frame */ /* FIXME: these should have FF_ */ #define I_TYPE 1 // Intra #define P_TYPE 2 // Predicted
--- a/mpegvideo.c Wed Sep 11 12:39:53 2002 +0000 +++ b/mpegvideo.c Thu Sep 12 00:27:08 2002 +0000 @@ -720,7 +720,8 @@ /* generic function for encode/decode called after a frame has been coded/decoded */ void MPV_frame_end(MpegEncContext *s) { -// if((s->picture_number%100)==0 && s->encoding) printf("sads:%d //\n", sads); + s->avctx->key_frame = (s->pict_type == I_TYPE); + s->avctx->pict_type = s->pict_type; /* draw edge for correct motion prediction if outside */ if (s->pict_type != B_TYPE && !s->intra_only && !(s->flags&CODEC_FLAG_EMU_EDGE)) { @@ -870,8 +871,7 @@ MPV_frame_start(s, avctx); encode_picture(s, s->picture_number); - avctx->key_frame = (s->pict_type == I_TYPE); - avctx->pict_type = s->pict_type; + avctx->real_pict_num = s->picture_number; avctx->header_bits = s->header_bits; avctx->mv_bits = s->mv_bits;