1 | --- mpeg2fix.cpp.orig 2013-10-21 08:58:31.000000000 -0500 |
---|
2 | +++ mpeg2fix.cpp 2013-10-31 16:34:13.236055366 -0600 |
---|
3 | @@ -1071,6 +1071,7 @@ |
---|
4 | AVFrame *picture; |
---|
5 | AVCodecContext *c = NULL; |
---|
6 | AVCodec *out_codec; |
---|
7 | + int64_t savedPts = pkt->pts; // save the original pts |
---|
8 | |
---|
9 | info = mpeg2_info(img_decoder); |
---|
10 | if (!info->display_fbuf) |
---|
11 | @@ -1193,6 +1194,7 @@ |
---|
12 | int delta = FindMPEG2Header(pkt->data, pkt->size, 0x00); |
---|
13 | // out_size=avcodec_encode_video(c, outbuf, outbuf_size, picture); |
---|
14 | pkt->size -= delta; // a hack to get to the picture frame |
---|
15 | + pkt->pts = savedPts; // restore the original pts |
---|
16 | memmove(pkt->data, pkt->data + delta, pkt->size); |
---|
17 | SetRepeat(pkt->data, pkt->size, info->display_picture->nb_fields, |
---|
18 | !!(info->display_picture->flags & PIC_FLAG_TOP_FIELD_FIRST)); |
---|