Commit d0d4dd64 authored by michaelni's avatar michaelni

moving init of some variables (hurry_up,...) to MPV_frame_start()


git-svn-id: file:///var/local/repositories/ffmpeg/trunk@1271 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent 994172e8
...@@ -358,9 +358,6 @@ uint64_t time= rdtsc(); ...@@ -358,9 +358,6 @@ uint64_t time= rdtsc();
printf("bytes=%x %x %x %x\n", buf[0], buf[1], buf[2], buf[3]); printf("bytes=%x %x %x %x\n", buf[0], buf[1], buf[2], buf[3]);
#endif #endif
s->hurry_up= avctx->hurry_up;
s->error_resilience= avctx->error_resilience;
s->flags= avctx->flags; s->flags= avctx->flags;
*data_size = 0; *data_size = 0;
...@@ -530,9 +527,9 @@ retry: ...@@ -530,9 +527,9 @@ retry:
/* skip b frames if we dont have reference frames */ /* 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); 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 */ /* 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); if(avctx->hurry_up && s->pict_type==B_TYPE) return get_consumed_bytes(s, buf_size);
/* skip everything if we are in a hurry>=5 */ /* skip everything if we are in a hurry>=5 */
if(s->hurry_up>=5) return get_consumed_bytes(s, buf_size); if(avctx->hurry_up>=5) return get_consumed_bytes(s, buf_size);
if(s->next_p_frame_damaged){ if(s->next_p_frame_damaged){
if(s->pict_type==B_TYPE) if(s->pict_type==B_TYPE)
......
...@@ -1915,7 +1915,7 @@ static int mpeg_decode_frame(AVCodecContext *avctx, ...@@ -1915,7 +1915,7 @@ static int mpeg_decode_frame(AVCodecContext *avctx,
break; break;
default: default:
if (start_code >= SLICE_MIN_START_CODE && if (start_code >= SLICE_MIN_START_CODE &&
start_code <= SLICE_MAX_START_CODE && s2->avctx->hurry_up<5) { start_code <= SLICE_MAX_START_CODE && avctx->hurry_up<5) {
ret = mpeg_decode_slice(avctx, picture, ret = mpeg_decode_slice(avctx, picture,
start_code, s->buffer, input_size); start_code, s->buffer, input_size);
if (ret == DECODE_SLICE_EOP) { if (ret == DECODE_SLICE_EOP) {
......
...@@ -819,6 +819,9 @@ int MPV_frame_start(MpegEncContext *s, AVCodecContext *avctx) ...@@ -819,6 +819,9 @@ int MPV_frame_start(MpegEncContext *s, AVCodecContext *avctx)
s->mb_skiped = 0; s->mb_skiped = 0;
avctx->mbskip_table= s->mbskip_table; avctx->mbskip_table= s->mbskip_table;
s->hurry_up= s->avctx->hurry_up;
s->error_resilience= avctx->error_resilience;
if(avctx->flags&CODEC_FLAG_DR1){ if(avctx->flags&CODEC_FLAG_DR1){
if(avctx->get_buffer_callback(avctx, s->width, s->height, s->pict_type) < 0){ if(avctx->get_buffer_callback(avctx, s->width, s->height, s->pict_type) < 0){
fprintf(stderr, "get_buffer() failed\n"); fprintf(stderr, "get_buffer() failed\n");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment