changeset 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 10c06a9bd3d9
children f5d50932acc0
files cavs.h
diffstat 1 files changed, 7 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/cavs.h	Thu Feb 18 16:24:31 2010 +0000
+++ b/cavs.h	Thu Feb 18 18:23:48 2010 +0000
@@ -248,8 +248,13 @@
 }
 
 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) {