Mercurial > libavcodec.hg
changeset 845:32de034be20e libavcodec
hurry_up>=5 -> skip everything except header & set pict_type&key_frame
author | michaelni |
---|---|
date | Sun, 10 Nov 2002 10:54:07 +0000 |
parents | 1bd52b59bcd1 |
children | ade627a74709 |
files | avcodec.h h263dec.c |
diffstat | 2 files changed, 9 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/avcodec.h Sat Nov 09 13:57:54 2002 +0000 +++ b/avcodec.h Sun Nov 10 10:54:07 2002 +0000 @@ -5,8 +5,8 @@ #define LIBAVCODEC_VERSION_INT 0x000406 #define LIBAVCODEC_VERSION "0.4.6" -#define LIBAVCODEC_BUILD 4636 -#define LIBAVCODEC_BUILD_STR "4636" +#define LIBAVCODEC_BUILD 4637 +#define LIBAVCODEC_BUILD_STR "4637" enum CodecID { CODEC_ID_NONE, @@ -356,7 +356,7 @@ /** * encoding: unused - * decoding: set by user. 1-> skip b frames, 2-> skip idct/dequant too + * decoding: set by user. 1-> skip b frames, 2-> skip idct/dequant too, 5-> skip everything except header */ int hurry_up;
--- a/h263dec.c Sat Nov 09 13:57:54 2002 +0000 +++ b/h263dec.c Sun Nov 10 10:54:07 2002 +0000 @@ -525,10 +525,16 @@ fprintf(stderr, "header damaged\n"); return -1; } + + s->avctx->key_frame = (s->pict_type == I_TYPE); + s->avctx->pict_type = s->pict_type; + /* skip b frames if we dont have reference frames */ if(s->num_available_buffers<2 && s->pict_type==B_TYPE) return get_consumed_bytes(s, buf_size); /* skip b frames if we are in a hurry */ if(s->hurry_up && s->pict_type==B_TYPE) return get_consumed_bytes(s, buf_size); + /* skip everything if we are in a hurry>=5 */ + if(s->hurry_up>=5) return get_consumed_bytes(s, buf_size); if(s->next_p_frame_damaged){ if(s->pict_type==B_TYPE)