| 
				
				
					
				
				
				 | 
			
			 | 
			@@ -458,12 +458,6 @@ static int h264_frame_start(H264Context *h) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    H264Picture *pic; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    int i, ret; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    const int pixel_shift = h->pixel_shift; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    int c[4] = { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        1<<(h->ps.sps->bit_depth_luma-1), | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        1<<(h->ps.sps->bit_depth_chroma-1), | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        1<<(h->ps.sps->bit_depth_chroma-1), | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        -1 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    }; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    if (!ff_thread_can_start_frame(h->avctx)) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        av_log(h->avctx, AV_LOG_ERROR, "Attempt to start a frame outside SETUP state\n"); | 
		
		
	
	
		
			
				| 
				
					
				
				
					
				
				
				 | 
			
			 | 
			@@ -504,8 +498,6 @@ static int h264_frame_start(H264Context *h) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    if ((ret = alloc_picture(h, pic)) < 0) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        return ret; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    if(!h->frame_recovered && !h->avctx->hwaccel) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        ff_color_frame(pic->f, c); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    h->cur_pic_ptr = pic; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    ff_h264_unref_picture(h, &h->cur_pic); | 
		
		
	
	
		
			
				| 
				
					
				
				
					
				
				
				 | 
			
			 | 
			@@ -1582,6 +1574,13 @@ static int h264_field_start(H264Context *h, const H264SliceContext *sl, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			         * vectors.  Given we are concealing a lost frame, this probably | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			         * is not noticeable by comparison, but it should be fixed. */ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        if (h->short_ref_count) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            int c[4] = { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                1<<(h->ps.sps->bit_depth_luma-1), | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                1<<(h->ps.sps->bit_depth_chroma-1), | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                1<<(h->ps.sps->bit_depth_chroma-1), | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                -1 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            }; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            if (prev && | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                h->short_ref[0]->f->width == prev->f->width && | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                h->short_ref[0]->f->height == prev->f->height && | 
		
		
	
	
		
			
				| 
				
				
				
					
				
				 | 
			
			 | 
			@@ -1597,7 +1596,8 @@ static int h264_field_start(H264Context *h, const H264SliceContext *sl, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                              prev->f->width, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                              prev->f->height); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                h->short_ref[0]->poc = prev->poc + 2; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            } else if (!h->frame_recovered && !h->avctx->hwaccel) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                ff_color_frame(h->short_ref[0]->f, c); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            h->short_ref[0]->frame_num = h->poc.prev_frame_num; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
	
		
			
				| 
				
					
				
				
				
				 | 
			
			 | 
			
  |