vc1: don't read the interpfrm and bfraction elements for interlaced frames
This matches the spec as well as the reference decoder, and fixes a bug with interlaced frame decoding. Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
This commit is contained in:
		
				
					committed by
					
						
						Kostya Shishkov
					
				
			
			
				
	
			
			
			
						parent
						
							50a3f9a4bd
						
					
				
				
					commit
					7662a532fb
				
			@@ -911,6 +911,7 @@ int vc1_parse_frame_header_adv(VC1Context *v, GetBitContext* gb)
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
        goto parse_common_info;
 | 
					        goto parse_common_info;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					    if (v->fcm == PROGRESSIVE) {
 | 
				
			||||||
        if (v->finterpflag)
 | 
					        if (v->finterpflag)
 | 
				
			||||||
            v->interpfrm = get_bits1(gb);
 | 
					            v->interpfrm = get_bits1(gb);
 | 
				
			||||||
        if (v->s.pict_type == AV_PICTURE_TYPE_B) {
 | 
					        if (v->s.pict_type == AV_PICTURE_TYPE_B) {
 | 
				
			||||||
@@ -920,6 +921,7 @@ int vc1_parse_frame_header_adv(VC1Context *v, GetBitContext* gb)
 | 
				
			|||||||
                v->s.pict_type = AV_PICTURE_TYPE_BI; /* XXX: should not happen here */
 | 
					                v->s.pict_type = AV_PICTURE_TYPE_BI; /* XXX: should not happen here */
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    parse_common_info:
 | 
					    parse_common_info:
 | 
				
			||||||
    if (v->field_mode)
 | 
					    if (v->field_mode)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user