slomo gst-plugins-bad: gst-plugins-bad/ gst-plugins-bad/gst/mxf/
[email protected] Tue, 9 Dec 2008 05:44:59 -0800 (PST)
| Newsgroups | gmane.comp.video.gstreamer.cvs |
|---|---|
| Message-ID | <[email protected]> |
CVS Root: /cvs/gstreamer
Module: gst-plugins-bad
Changes by: slomo
Date: Tue Dec 09 2008 13:44:59 UTC
Log message:
* gst/mxf/mxfjpeg2000.c: (mxf_jpeg2000_create_caps):
Implement detection of the colorspace used by the
JPEG2000 codestream. XYZ colorspace isn't supported by
our decoders yet unfortunately.
Modified files:
. : ChangeLog
gst/mxf : mxfjpeg2000.c
Links:
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-bad/ChangeLog.diff?r1=1.3802&r2=1.3803
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-bad/gst/mxf/mxfjpeg2000.c.diff?r1=1.5&r2=1.6
====Begin Diffs====
Index: ChangeLog
===================================================================
RCS file: /cvs/gstreamer/gst-plugins-bad/ChangeLog,v
retrieving revision 1.3802
retrieving revision 1.3803
diff -u -d -r1.3802 -r1.3803
--- ChangeLog 8 Dec 2008 15:46:11 -0000 1.3802
+++ ChangeLog 9 Dec 2008 13:44:43 -0000 1.3803
@@ -1,3 +1,10 @@
+2008-12-09 Sebastian Dröge <[email protected]>
+
+ * gst/mxf/mxfjpeg2000.c: (mxf_jpeg2000_create_caps):
+ Implement detection of the colorspace used by the
+ JPEG2000 codestream. XYZ colorspace isn't supported by
+ our decoders yet unfortunately.
2008-12-08 Sebastian Dröge <[email protected]>
* gst/mxf/mxfparse.c:
Index: mxfjpeg2000.c
RCS file: /cvs/gstreamer/gst-plugins-bad/gst/mxf/mxfjpeg2000.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- mxfjpeg2000.c 1 Dec 2008 15:50:40 -0000 1.5
+++ mxfjpeg2000.c 9 Dec 2008 13:44:45 -0000 1.6
@@ -87,6 +87,7 @@
MXFMetadataGenericPictureEssenceDescriptor *p = NULL;
guint i;
GstCaps *caps = NULL;
+ guint32 fourcc;
g_return_val_if_fail (package != NULL, NULL);
g_return_val_if_fail (track != NULL, NULL);
@@ -106,8 +107,8 @@
p = (MXFMetadataGenericPictureEssenceDescriptor *) track->descriptor[i];
f = track->descriptor[i];
break;
- } else if (((MXFMetadataGenericDescriptor *) track->descriptor[i])->
- is_file_descriptor
+ } else if (((MXFMetadataGenericDescriptor *) track->
+ descriptor[i])->is_file_descriptor
&& ((MXFMetadataGenericDescriptor *) track->descriptor[i])->type !=
MXF_METADATA_MULTIPLE_DESCRIPTOR) {
@@ -119,13 +120,71 @@
return NULL;
}
+ fourcc = GST_MAKE_FOURCC ('s', 'R', 'G', 'B');
+ if (p
+ && ((MXFMetadataGenericDescriptor *) p)->type ==
+ MXF_METADATA_CDCI_PICTURE_ESSENCE_DESCRIPTOR) {
+ fourcc = GST_MAKE_FOURCC ('s', 'Y', 'U', 'V');
+ } else if (p
+ MXFMetadataRGBAPictureEssenceDescriptor *r =
+ (MXFMetadataRGBAPictureEssenceDescriptor *) p;
+ gboolean rgb = TRUE;
+ gboolean xyz = TRUE;
+ gboolean yuv = TRUE;
+ guint i;
+ if (r->pixel_layout) {
+ for (i = 0; i < r->n_pixel_layout; i++) {
+ guint8 c = r->pixel_layout[2 * i];
+ switch (c) {
+ case 'R':
+ case 'r':
+ case 'G':
+ case 'g':
+ case 'B':
+ case 'b':
+ xyz = yuv = FALSE;
+ break;
+ case 'Y':
+ case 'y':
+ rgb = FALSE;
+ case 'U':
+ case 'u':
+ case 'V':
+ case 'v':
+ xyz = rgb = FALSE;
+ case 'X':
+ case 'x':
+ case 'Z':
+ case 'z':
+ rgb = yuv = FALSE;
+ default:
+ }
+ }
+ if (rgb) {
+ fourcc = GST_MAKE_FOURCC ('s', 'R', 'G', 'B');
+ } else if (yuv) {
+ fourcc = GST_MAKE_FOURCC ('s', 'Y', 'U', 'V');
+ } else if (xyz) {
+ GST_ERROR ("JPEG2000 with XYZ colorspace not supported yet");
+ return NULL;
+ }
+ }
*handler = mxf_jpeg2000_handle_essence_element;
/* TODO: What about other field values? */
- /* FIXME: For now assume sRGB but get the correct value from the descriptor */
caps =
gst_caps_new_simple ("image/x-jpc", "fields", G_TYPE_INT, 1, "fourcc",
- GST_TYPE_FOURCC, GST_MAKE_FOURCC ('s', 'R', 'G', 'B'), NULL);
+ GST_TYPE_FOURCC, fourcc, NULL);
if (p) {
mxf_metadata_generic_picture_essence_descriptor_set_caps (p, caps);
} else {
------------------------------------------------------------------------------
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