[Ffmpeg-cvslog] r5748 - trunk/libavcodec/cavs.c
stefang
subversion
Fri Jul 14 20:48:50 CEST 2006
Author: stefang
Date: Fri Jul 14 20:48:50 2006
New Revision: 5748
Modified:
trunk/libavcodec/cavs.c
Log:
set mvP2 also in PSKIP macroblock
Modified: trunk/libavcodec/cavs.c
==============================================================================
--- trunk/libavcodec/cavs.c (original)
+++ trunk/libavcodec/cavs.c Fri Jul 14 20:48:50 2006
@@ -576,23 +576,19 @@
vector_t *mvA = &h->mv[nP-1];
vector_t *mvB = &h->mv[nP-4];
vector_t *mvC = &h->mv[nC];
- vector_t *mvP2 = NULL;
+ const vector_t *mvP2 = NULL;
mvP->ref = ref;
mvP->dist = h->dist[mvP->ref];
if(mvC->ref == NOT_AVAIL)
mvC = &h->mv[nP-5]; // set to top-left (mvD)
- if(mode == MV_PRED_PSKIP) {
- if((mvA->ref == NOT_AVAIL) || (mvB->ref == NOT_AVAIL) ||
+ if((mode == MV_PRED_PSKIP) &&
+ ((mvA->ref == NOT_AVAIL) || (mvB->ref == NOT_AVAIL) ||
((mvA->x | mvA->y | mvA->ref) == 0) ||
- ((mvB->x | mvB->y | mvB->ref) == 0) ) {
- mvP->x = mvP->y = 0;
- set_mvs(mvP,size);
- return;
- }
- }
+ ((mvB->x | mvB->y | mvB->ref) == 0) )) {
+ mvP2 = &un_mv;
/* if there is only one suitable candidate, take it */
- if((mvA->ref >= 0) && (mvB->ref < 0) && (mvC->ref < 0)) {
+ } else if((mvA->ref >= 0) && (mvB->ref < 0) && (mvC->ref < 0)) {
mvP2= mvA;
} else if((mvA->ref < 0) && (mvB->ref >= 0) && (mvC->ref < 0)) {
mvP2= mvB;
More information about the ffmpeg-cvslog
mailing list