+ /* handle p-frames only if a predecessor frame is available */
+ if(s->last_picture->data[0] != NULL) {
+ if(!(avpkt->flags & PKT_FLAG_KEY)) {
+ int i, j;
+ uint8_t *pd = s->current_picture->data[0];
+ uint8_t *pd_last = s->last_picture->data[0];
+
+ for(j=0; j < s->height; j++) {
+ for(i=0; i < s->width * s->bpp; i++) {
+ pd[i] += pd_last[i];
+ }
+ pd += s->image_linesize;
+ pd_last += s->image_linesize;
+ }
+ }
+ }
+
+ *picture= *s->current_picture;