diff --git a/mixvbp/vbp_plugin/h264/h264parse_sei.c b/mixvbp/vbp_plugin/h264/h264parse_sei.c
index df18cc3..4769ef0 100755
--- a/mixvbp/vbp_plugin/h264/h264parse_sei.c
+++ b/mixvbp/vbp_plugin/h264/h264parse_sei.c
@@ -406,8 +406,12 @@
         pInfo->img.recovery_point_found |= 2;
 
         //// Enable the RP recovery if no IDR ---Cisco
+#if 0
+        // don't set this flag, in some corner case
+        // dpb is wrongly updated when recover point is received.
         if ((pInfo->img.recovery_point_found & 1)==0)
             pInfo->sei_rp_received = 1;
+#endif
     }
 
     return H264_STATUS_OK;
diff --git a/videodecoder/VideoDecoderAVC.cpp b/videodecoder/VideoDecoderAVC.cpp
index 296a0ca..912ebdf 100644
--- a/videodecoder/VideoDecoderAVC.cpp
+++ b/videodecoder/VideoDecoderAVC.cpp
@@ -31,6 +31,7 @@
 #define WIDI_CONSUMED   6
 #define HDMI_CONSUMED   2
 #define NW_CONSUMED     2
+#define POC_DEFAULT     0x7FFFFFFF
 
 VideoDecoderAVC::VideoDecoderAVC(const char *mimeType)
     : VideoDecoderBase(mimeType, VBP_H264),
@@ -571,6 +572,10 @@
                         }
                     }
                     dpb->flags = refList->flags;
+                    // if it's bottom field in dpb, there must have top field in DPB,
+                    // so clear the bottom flag, or will confuse VED to address top field
+                    if (dpb->flags & VA_PICTURE_H264_BOTTOM_FIELD)
+                        dpb->flags &= (~VA_PICTURE_H264_BOTTOM_FIELD);
                     dpb->frame_idx = refList->frame_idx;
                     dpb->TopFieldOrderCnt = refList->TopFieldOrderCnt;
                     dpb->BottomFieldOrderCnt = refList->BottomFieldOrderCnt;
@@ -588,10 +593,10 @@
     if ((picParam->CurrPic.flags & VA_PICTURE_H264_SHORT_TERM_REFERENCE) ||
         (picParam->CurrPic.flags & VA_PICTURE_H264_LONG_TERM_REFERENCE)) {
         DecodedPictureBuffer *dpb = mDPBs[mToggleDPB];
-        uint32_t poc = getPOC(&(picParam->CurrPic));
+        int32_t poc = getPOC(&(picParam->CurrPic));
         for (int32_t i = 0; i < DPB_SIZE; i++, dpb++) {
             if (poc == dpb->poc) {
-                dpb->poc = (uint32_t)-1;
+                dpb->poc = (int32_t)POC_DEFAULT;
                 if (dpb->surfaceBuffer) {
                     dpb->surfaceBuffer->asReferernce = false;
                 }
@@ -602,7 +607,7 @@
     }
 }
 
-uint32_t VideoDecoderAVC::getPOC(VAPictureH264 *pic) {
+int32_t VideoDecoderAVC::getPOC(VAPictureH264 *pic) {
     if (pic->flags & VA_PICTURE_H264_BOTTOM_FIELD) {
         return pic->BottomFieldOrderCnt;
     }
@@ -655,7 +660,7 @@
 void VideoDecoderAVC::invalidateDPB(int toggle) {
     DecodedPictureBuffer* p = mDPBs[toggle];
     for (int i = 0; i < DPB_SIZE; i++) {
-        p->poc = (uint32_t) -1;
+        p->poc = (int32_t) POC_DEFAULT;
         p->surfaceBuffer = NULL;
         p++;
     }
diff --git a/videodecoder/VideoDecoderAVC.h b/videodecoder/VideoDecoderAVC.h
index c5ce75b..47f250d 100755
--- a/videodecoder/VideoDecoderAVC.h
+++ b/videodecoder/VideoDecoderAVC.h
@@ -47,7 +47,7 @@
     Decode_Status updateDPB(VAPictureParameterBufferH264 *picParam);
     Decode_Status updateReferenceFrames(vbp_picture_data_h264 *picData);
     void removeReferenceFromDPB(VAPictureParameterBufferH264 *picParam);
-    uint32_t getPOC(VAPictureH264 *pic); // Picture Order Count
+    int32_t getPOC(VAPictureH264 *pic); // Picture Order Count
     inline VASurfaceID findSurface(VAPictureH264 *pic);
     inline VideoSurfaceBuffer* findSurfaceBuffer(VAPictureH264 *pic);
     inline VideoSurfaceBuffer* findRefSurfaceBuffer(VAPictureH264 *pic);
@@ -67,7 +67,7 @@
 private:
     struct DecodedPictureBuffer {
         VideoSurfaceBuffer *surfaceBuffer;
-        uint32_t poc; // Picture Order Count
+        int32_t poc; // Picture Order Count
     };
 
     enum {
