mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
hurry_up>=5 -> skip everything except header & set pict_type&key_frame
Originally committed as revision 1182 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
8cd5be983b
commit
347ae22ecf
@ -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 @@ typedef struct AVCodecContext {
|
||||
|
||||
/**
|
||||
* 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;
|
||||
|
||||
|
@ -525,10 +525,16 @@ retry:
|
||||
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)
|
||||
|
Loading…
Reference in New Issue
Block a user