mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-20 04:56:24 +00:00
ext/mpeg2dec/gstmpeg2dec.c: Add support for mpeg2dec-0.4.0 (released two weeks ago). See #130416.
Original commit message from CVS: 2004-01-03 Ronald Bultje <rbultje@ronald.bitfreak.net> * ext/mpeg2dec/gstmpeg2dec.c: Add support for mpeg2dec-0.4.0 (released two weeks ago). See #130416.
This commit is contained in:
parent
8e017d76dd
commit
ddc2c60a03
2 changed files with 36 additions and 3 deletions
25
ChangeLog
25
ChangeLog
|
@ -1,3 +1,28 @@
|
||||||
|
2004-01-03 Ronald Bultje <rbultje@ronald.bitfreak.net>
|
||||||
|
|
||||||
|
* ext/mpeg2dec/gstmpeg2dec.c:
|
||||||
|
Add support for mpeg2dec-0.4.0 (released two weeks ago). See
|
||||||
|
#130416.
|
||||||
|
|
||||||
|
2004-01-03 Ronald Bultje <rbultje@ronald.bitfreak.net>
|
||||||
|
|
||||||
|
* configure.ac:
|
||||||
|
* ext/xvid/gstxvid.c: (gst_xvid_init), (gst_xvid_error),
|
||||||
|
(gst_xvid_structure_to_csp), (gst_xvid_csp_to_caps):
|
||||||
|
* ext/xvid/gstxvid.h:
|
||||||
|
* ext/xvid/gstxviddec.c: (gst_xviddec_class_init),
|
||||||
|
(gst_xviddec_init), (gst_xviddec_setup), (gst_xviddec_chain),
|
||||||
|
(gst_xviddec_src_link), (gst_xviddec_sink_link),
|
||||||
|
(gst_xviddec_change_state):
|
||||||
|
* ext/xvid/gstxviddec.h:
|
||||||
|
* ext/xvid/gstxvidenc.c: (gst_xvidenc_profile_get_type),
|
||||||
|
(gst_xvidenc_base_init), (gst_xvidenc_class_init),
|
||||||
|
(gst_xvidenc_init), (gst_xvidenc_setup), (gst_xvidenc_chain),
|
||||||
|
(gst_xvidenc_link), (gst_xvidenc_set_property),
|
||||||
|
(gst_xvidenc_get_property), (gst_xvidenc_change_state):
|
||||||
|
* ext/xvid/gstxvidenc.h:
|
||||||
|
Update xvid plugin to latest xvid (1.0.0-beta3) API.
|
||||||
|
|
||||||
2004-01-03 Ronald Bultje <rbultje@ronald.bitfreak.net>
|
2004-01-03 Ronald Bultje <rbultje@ronald.bitfreak.net>
|
||||||
|
|
||||||
* gst/rtp/rtp-packet.c:
|
* gst/rtp/rtp-packet.c:
|
||||||
|
|
|
@ -436,7 +436,11 @@ gst_mpeg2dec_chain (GstPad *pad, GstData *_data)
|
||||||
GST_DEBUG ("have pts: %" G_GINT64_FORMAT " (%" G_GINT64_FORMAT ")",
|
GST_DEBUG ("have pts: %" G_GINT64_FORMAT " (%" G_GINT64_FORMAT ")",
|
||||||
mpeg_pts, MPEGTIME_TO_GSTTIME (mpeg_pts));
|
mpeg_pts, MPEGTIME_TO_GSTTIME (mpeg_pts));
|
||||||
|
|
||||||
|
#if MPEG2_RELEASE >= MPEG2_VERSION(0,4,0)
|
||||||
|
mpeg2_tag_picture (mpeg2dec->decoder, mpeg_pts&0xffffffff, mpeg_pts>>32);
|
||||||
|
#else
|
||||||
mpeg2_pts (mpeg2dec->decoder, mpeg_pts);
|
mpeg2_pts (mpeg2dec->decoder, mpeg_pts);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
GST_DEBUG ("no pts");
|
GST_DEBUG ("no pts");
|
||||||
|
@ -553,18 +557,22 @@ gst_mpeg2dec_chain (GstPad *pad, GstData *_data)
|
||||||
if (mpeg2dec->discont_state == MPEG2DEC_DISC_NEW_KEYFRAME && key_frame)
|
if (mpeg2dec->discont_state == MPEG2DEC_DISC_NEW_KEYFRAME && key_frame)
|
||||||
mpeg2dec->discont_state = MPEG2DEC_DISC_NONE;
|
mpeg2dec->discont_state = MPEG2DEC_DISC_NONE;
|
||||||
|
|
||||||
|
#if MPEG2_RELEASE < MPEG2_VERSION(0,4,0)
|
||||||
if (picture->flags & PIC_FLAG_PTS) {
|
if (picture->flags & PIC_FLAG_PTS) {
|
||||||
GstClockTime time = MPEGTIME_TO_GSTTIME (picture->pts);
|
GstClockTime time = MPEGTIME_TO_GSTTIME (picture->pts);
|
||||||
|
#else
|
||||||
|
if (1) {
|
||||||
|
GstClockTime time = MPEGTIME_TO_GSTTIME ((guint64) picture->tag2 << 32 | picture->tag);
|
||||||
|
#endif
|
||||||
|
|
||||||
GST_DEBUG ("picture had pts %" G_GINT64_FORMAT, time);
|
GST_DEBUG ("picture had pts %" G_GINT64_FORMAT, time);
|
||||||
GST_BUFFER_TIMESTAMP (outbuf) = time;
|
GST_BUFFER_TIMESTAMP (outbuf) = mpeg2dec->next_time = time;
|
||||||
|
|
||||||
mpeg2dec->next_time = time;
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
GST_DEBUG ("picture didn't have pts using %" G_GINT64_FORMAT, mpeg2dec->next_time);
|
GST_DEBUG ("picture didn't have pts using %" G_GINT64_FORMAT, mpeg2dec->next_time);
|
||||||
GST_BUFFER_TIMESTAMP (outbuf) = mpeg2dec->next_time;
|
GST_BUFFER_TIMESTAMP (outbuf) = mpeg2dec->next_time;
|
||||||
}
|
}
|
||||||
|
|
||||||
mpeg2dec->next_time += (mpeg2dec->frame_period * picture->nb_fields) >> 1;
|
mpeg2dec->next_time += (mpeg2dec->frame_period * picture->nb_fields) >> 1;
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue