From 3cc3581dc029b9a84df61ac8797fae0bf4a05a3f Mon Sep 17 00:00:00 2001 From: Stefan Gehrer Date: Thu, 18 Feb 2010 18:23:48 +0000 Subject: fix intra prediction modes with inter-MB neighbors, the old sample clips are in violation of the 2006 spec Originally committed as revision 21883 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/cavs.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'libavcodec/cavs.h') diff --git a/libavcodec/cavs.h b/libavcodec/cavs.h index fce55c3b71..127185574e 100644 --- a/libavcodec/cavs.h +++ b/libavcodec/cavs.h @@ -248,8 +248,13 @@ static inline void modify_pred(const int_fast8_t *mod_table, int *mode) { } static inline void set_intra_mode_default(AVSContext *h) { - h->pred_mode_Y[3] = h->pred_mode_Y[6] = INTRA_L_LP; - h->top_pred_Y[h->mbx*2+0] = h->top_pred_Y[h->mbx*2+1] = INTRA_L_LP; + if(h->stream_revision > 0) { + h->pred_mode_Y[3] = h->pred_mode_Y[6] = NOT_AVAIL; + h->top_pred_Y[h->mbx*2+0] = h->top_pred_Y[h->mbx*2+1] = NOT_AVAIL; + } else { + h->pred_mode_Y[3] = h->pred_mode_Y[6] = INTRA_L_LP; + h->top_pred_Y[h->mbx*2+0] = h->top_pred_Y[h->mbx*2+1] = INTRA_L_LP; + } } static inline void set_mvs(cavs_vector *mv, enum cavs_block size) { -- cgit v1.2.3