slomo gst-plugins-bad: gst-plugins-bad/ gst-plugins-bad/gst/mxf/
[email protected] Fri, 12 Dec 2008 02:29:46 -0800 (PST)
| Newsgroups | gmane.comp.video.gstreamer.cvs |
|---|---|
| Message-ID | <[email protected]> |
CVS Root: /cvs/gstreamer
Module: gst-plugins-bad
Changes by: slomo
Date: Fri Dec 12 2008 10:29:46 UTC
Log message:
* gst/mxf/mxfaes-bwf.c:
* gst/mxf/mxfalaw.c: (mxf_alaw_create_caps):
* gst/mxf/mxfdemux.c:
* gst/mxf/mxfdv-dif.c: (mxf_dv_dif_create_caps):
* gst/mxf/mxfjpeg2000.c:
* gst/mxf/mxfmpeg.c:
* gst/mxf/mxfup.c:
Major update of the TODO lists. There's still much to do.
Modified files:
. : ChangeLog
gst/mxf : mxfaes-bwf.c mxfalaw.c mxfdemux.c mxfdv-dif.c
mxfjpeg2000.c mxfmpeg.c mxfup.c
Links:
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-bad/ChangeLog.diff?r1=1.3804&r2=1.3805
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-bad/gst/mxf/mxfaes-bwf.c.diff?r1=1.8&r2=1.9
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-bad/gst/mxf/mxfalaw.c.diff?r1=1.3&r2=1.4
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-bad/gst/mxf/mxfdemux.c.diff?r1=1.34&r2=1.35
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-bad/gst/mxf/mxfdv-dif.c.diff?r1=1.2&r2=1.3
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-bad/gst/mxf/mxfjpeg2000.c.diff?r1=1.6&r2=1.7
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-bad/gst/mxf/mxfmpeg.c.diff?r1=1.10&r2=1.11
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-bad/gst/mxf/mxfup.c.diff?r1=1.3&r2=1.4
====Begin Diffs====
Index: ChangeLog
===================================================================
RCS file: /cvs/gstreamer/gst-plugins-bad/ChangeLog,v
retrieving revision 1.3804
retrieving revision 1.3805
diff -u -d -r1.3804 -r1.3805
--- ChangeLog 11 Dec 2008 14:35:06 -0000 1.3804
+++ ChangeLog 12 Dec 2008 10:29:30 -0000 1.3805
@@ -1,3 +1,14 @@
+2008-12-12 Sebastian Dröge <[email protected]>
+
+ * gst/mxf/mxfaes-bwf.c:
+ * gst/mxf/mxfalaw.c: (mxf_alaw_create_caps):
+ * gst/mxf/mxfdemux.c:
+ * gst/mxf/mxfdv-dif.c: (mxf_dv_dif_create_caps):
+ * gst/mxf/mxfjpeg2000.c:
+ * gst/mxf/mxfmpeg.c:
+ * gst/mxf/mxfup.c:
+ Major update of the TODO lists. There's still much to do.
2008-12-11 Sebastian Dröge <[email protected]>
* gst/mxf/mxfdemux.c: (gst_mxf_demux_handle_metadata_track),
Index: mxfaes-bwf.c
RCS file: /cvs/gstreamer/gst-plugins-bad/gst/mxf/mxfaes-bwf.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- mxfaes-bwf.c 4 Dec 2008 08:37:18 -0000 1.8
+++ mxfaes-bwf.c 12 Dec 2008 10:29:31 -0000 1.9
@@ -25,6 +25,7 @@
* - Handle the case were a track only references specific channels
* of the essence (ChannelID property)
* - Add support for more codecs
+ * - Handle more of the metadata inside the descriptors
*/
#ifdef HAVE_CONFIG_H
Index: mxfalaw.c
RCS file: /cvs/gstreamer/gst-plugins-bad/gst/mxf/mxfalaw.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- mxfalaw.c 1 Dec 2008 15:24:37 -0000 1.3
+++ mxfalaw.c 12 Dec 2008 10:29:31 -0000 1.4
@@ -115,7 +115,8 @@
((gdouble) s->audio_sampling_rate.d) + 0.5),
"channels", G_TYPE_INT, s->channel_count, NULL);
- /* TODO: Handle channel layout somehow? */
+ /* TODO: Handle channel layout somehow?
+ * Or is alaw limited to two channels? */
if (!*tags)
*tags = gst_tag_list_new ();
Index: mxfdemux.c
RCS file: /cvs/gstreamer/gst-plugins-bad/gst/mxf/mxfdemux.c,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -d -r1.34 -r1.35
--- mxfdemux.c 11 Dec 2008 14:35:07 -0000 1.34
+++ mxfdemux.c 12 Dec 2008 10:29:31 -0000 1.35
@@ -18,11 +18,36 @@
/* TODO:
- * - start at correct position of the component, switch components
- * - seeking support
- * - timecode tracks
- * - descriptive metadata
- * - generic container system items
+ * - GObjectify structural metadata to get rid of the current inheritance mess
+ * - Implement support for DMS-1 and descriptive metadata tracks
+ * - Differentiate UL and UUIDs, the former can define an object system
+ * (i.e. mxf_ul_is_a() and friends could be implemented), see SMPTE S336M.
+ * The latter are just 16 byte unique identifiers
+ * - Check everything for correctness vs. SMPTE S336M, some things can probably
+ * be generalized/simplified
+ * - Correctly timestamp essence streams and start/stop at the correct positions.
+ * Also switch between different structural components after one has ended.
+ * - Seeking support: IndexTableSegments and skip-to-position seeks, needs correct
+ * timestamp calculation, etc.
+ * - Handle timecode tracks correctly (where is this documented?)
+ * - Handle Generic container system items
+ * - Use an "essence element/track handling" registry instead of the large if-then-else
+ * block when detecting the codec
+ * - Force synchronization of tracks. Packets that have the timestamp are not required
+ * to be stored at the same position in the essence stream, especially if tracks
+ * with different source packages (body sid) are used.
+ * - Implement correct support for clip-wrapped essence elements.
+ * - Add a "tracks" property to select the tracks that should be used from the
+ * selected package.
+ * - Post structural metadata and descriptive metadata trees as a message on the bus
+ * and send them downstream as event.
+ * - Multichannel audio needs channel layouts, define them (SMPTE S320M?).
+ * - Correctly handle the different rectangles and aspect-ratio for video
+ * - Add support for non-standard MXF used by Avid (bug #561922).
+ *
+ * - Implement SMPTE D11 essence and the digital cinema/MXF specs
+ * - Implement a muxer ;-)
@@ -1316,9 +1341,8 @@
MXFMetadataEssenceContainerData, i);
for (j = 0; j < demux->content_storage.n_essence_container_data; j++) {
- if (mxf_ul_is_equal (&demux->
- content_storage.essence_container_data_uids[j],
- &data->instance_uid)) {
+ if (mxf_ul_is_equal (&demux->content_storage.
+ essence_container_data_uids[j], &data->instance_uid)) {
demux->content_storage.essence_container_data[j] = data;
break;
}
Index: mxfdv-dif.c
RCS file: /cvs/gstreamer/gst-plugins-bad/gst/mxf/mxfdv-dif.c,v
retrieving revision 1.2
diff -u -d -r1.2 -r1.3
--- mxfdv-dif.c 1 Dec 2008 15:24:37 -0000 1.2
+++ mxfdv-dif.c 12 Dec 2008 10:29:31 -0000 1.3
@@ -21,6 +21,12 @@
* Generic Container
+/* TODO:
+ * - playbin hangs on a lot of MXF/DV-DIF files (bug #563827)
+ * - decodebin2 creates loops inside the linking graph (bug #563828)
+ * - Forwarding of timestamps in dvdemux?
+ */
#include "config.h"
#endif
@@ -91,8 +97,8 @@
}
for (i = 0; i < track->n_descriptor; i++) {
- if (((MXFMetadataGenericDescriptor *) track->
- descriptor[i])->is_file_descriptor
+ if (((MXFMetadataGenericDescriptor *) track->descriptor[i])->
+ is_file_descriptor
&& ((MXFMetadataGenericDescriptor *) track->descriptor[i])->type !=
MXF_METADATA_MULTIPLE_DESCRIPTOR) {
f = track->descriptor[i];
@@ -109,7 +115,6 @@
/* TODO: might be video or audio only, use values of the generic sound/picture
* descriptor in the caps in that case
- * Also dvdemux might not forward timestamps
*/
if (f->essence_container.u[13] == 0x02) {
GST_DEBUG ("Found DV-DIF stream");
Index: mxfjpeg2000.c
RCS file: /cvs/gstreamer/gst-plugins-bad/gst/mxf/mxfjpeg2000.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- mxfjpeg2000.c 9 Dec 2008 13:44:45 -0000 1.6
+++ mxfjpeg2000.c 12 Dec 2008 10:29:31 -0000 1.7
@@ -23,6 +23,7 @@
* - parse the jpeg2000 sub-descriptor, see SMPTE 422M 7.2
+ * - Add support for XYZ colorspace
@@ -107,8 +108,8 @@
p = (MXFMetadataGenericPictureEssenceDescriptor *) track->descriptor[i];
break;
- } else if (((MXFMetadataGenericDescriptor *) track->
+ } else if (((MXFMetadataGenericDescriptor *) track->descriptor[i])->
Index: mxfmpeg.c
RCS file: /cvs/gstreamer/gst-plugins-bad/gst/mxf/mxfmpeg.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- mxfmpeg.c 7 Dec 2008 17:57:13 -0000 1.10
+++ mxfmpeg.c 12 Dec 2008 10:29:31 -0000 1.11
@@ -24,7 +24,8 @@
* - Handle PES streams
* - Fix TS/PS demuxers to forward timestamps
- * - Handle sound/data somehow
+ * - h264 support (see SMPTE RP2008)
+ * - AAC support
Index: mxfup.c
RCS file: /cvs/gstreamer/gst-plugins-bad/gst/mxf/mxfup.c,v
--- mxfup.c 8 Dec 2008 13:48:46 -0000 1.3
+++ mxfup.c 12 Dec 2008 10:29:31 -0000 1.4
/* TODO:
* - Handle CDCI essence
+ * - Handle more formats with RGBA descriptor (4:4:4 / 4:4:4:4 YUV, RGB656, ...)
* - Correctly transform for the GStreamer strides
* - Handle all the dimensions and other properties in the picture
* essence descriptors correctly according to S377M Annex E
------------------------------------------------------------------------------
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you. Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
_______________________________________________
gstreamer-cvs-verbose mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gstreamer-cvs-verbose