Mercurial > libavcodec.hg
comparison cavs.h @ 11204:ba1c541f7e8a libavcodec
fix intra prediction modes with inter-MB neighbors,
the old sample clips are in violation of the 2006 spec
author | stefang |
---|---|
date | Thu, 18 Feb 2010 18:23:48 +0000 |
parents | 9a793cb05a85 |
children | 98970e51365a |
comparison
equal
deleted
inserted
replaced
11203:10c06a9bd3d9 | 11204:ba1c541f7e8a |
---|---|
246 *mode = 0; | 246 *mode = 0; |
247 } | 247 } |
248 } | 248 } |
249 | 249 |
250 static inline void set_intra_mode_default(AVSContext *h) { | 250 static inline void set_intra_mode_default(AVSContext *h) { |
251 h->pred_mode_Y[3] = h->pred_mode_Y[6] = INTRA_L_LP; | 251 if(h->stream_revision > 0) { |
252 h->top_pred_Y[h->mbx*2+0] = h->top_pred_Y[h->mbx*2+1] = INTRA_L_LP; | 252 h->pred_mode_Y[3] = h->pred_mode_Y[6] = NOT_AVAIL; |
253 h->top_pred_Y[h->mbx*2+0] = h->top_pred_Y[h->mbx*2+1] = NOT_AVAIL; | |
254 } else { | |
255 h->pred_mode_Y[3] = h->pred_mode_Y[6] = INTRA_L_LP; | |
256 h->top_pred_Y[h->mbx*2+0] = h->top_pred_Y[h->mbx*2+1] = INTRA_L_LP; | |
257 } | |
253 } | 258 } |
254 | 259 |
255 static inline void set_mvs(cavs_vector *mv, enum cavs_block size) { | 260 static inline void set_mvs(cavs_vector *mv, enum cavs_block size) { |
256 switch(size) { | 261 switch(size) { |
257 case BLK_16X16: | 262 case BLK_16X16: |