@ -688,9 +688,10 @@ static int vp8_decode_frame_header(VP8Context *s, const uint8_t *buf, int buf_si
buf_size - = header_size ;
buf_size - = header_size ;
if ( s - > keyframe ) {
if ( s - > keyframe ) {
if ( vp8_rac_get ( c ) )
s - > colorspace = vp8_rac_get ( c ) ;
if ( s - > colorspace )
av_log ( s - > avctx , AV_LOG_WARNING , " Unspecified colorspace \n " ) ;
av_log ( s - > avctx , AV_LOG_WARNING , " Unspecified colorspace \n " ) ;
vp8_rac_get ( c ) ; // whether we can skip clamping in dsp functions
s - > fullrange = vp8_rac_get ( c ) ;
}
}
if ( ( s - > segmentation . enabled = vp8_rac_get ( c ) ) )
if ( ( s - > segmentation . enabled = vp8_rac_get ( c ) ) )
@ -2547,6 +2548,13 @@ int vp78_decode_frame(AVCodecContext *avctx, void *data, int *got_frame,
curframe = s - > framep [ VP56_FRAME_CURRENT ] = vp8_find_free_buffer ( s ) ;
curframe = s - > framep [ VP56_FRAME_CURRENT ] = vp8_find_free_buffer ( s ) ;
if ( ! s - > colorspace )
avctx - > colorspace = AVCOL_SPC_BT470BG ;
if ( s - > fullrange )
avctx - > color_range = AVCOL_RANGE_JPEG ;
else
avctx - > color_range = AVCOL_RANGE_MPEG ;
/* Given that arithmetic probabilities are updated every frame, it's quite
/* Given that arithmetic probabilities are updated every frame, it's quite
* likely that the values we have on a random interframe are complete
* likely that the values we have on a random interframe are complete
* junk if we didn ' t start decode on a keyframe . So just don ' t display
* junk if we didn ' t start decode on a keyframe . So just don ' t display