Commit graph

17 commits

Author SHA1 Message Date
Sebastian Dröge
830e89b7e9 mxfdemux: Take temporal reordering from the index table into account
This is needed to know the PTS, without that we only know the DTS and
using that also for the PTS is wrong unless we have an intra-only codec.

If we can't get the temporal reordering from the index table, don't set
any PTS for non-intra-only codecs and let decoders figure out something.

https://bugzilla.gnome.org/show_bug.cgi?id=784027
2017-06-27 10:47:44 +03:00
Sebastian Dröge
770d94f4b5 mxfvc3: The wrapping is the 15th byte of the essence container UL, not the 16th
In other mappings it is the 16th though.
2015-10-21 19:54:15 +03:00
Sebastian Dröge
76ca3c77d7 mxfdemux: Add function to get the essence track wrapping 2012-12-06 10:09:21 +01:00
Tim-Philipp Müller
9e1b75fda3 Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:09:59 +00:00
Michael Smith
0c8a7fa46f mxf: Port mxfdemux to 1.0
Also ports mxfmux to 1.0 to the extent that it compiles, but is 100% untested,
so remains disabled.

Conflicts:
	gst/mxf/mxfdemux.c
	gst/mxf/mxfmux.c
2012-10-26 13:48:06 -07:00
Wim Taymans
cbb7fa5701 miniobject: port to new 0.11 API
Remove miniobject and buffer subclassesusing GObject subclasses and
metadata.
2011-02-28 12:06:57 +01:00
Sebastian Dröge
f22494b6fe mxf: Use mxf_u{l,uid}_is_equal() and friends instead of memcmp() 2009-03-26 13:20:18 +01:00
Sebastian Dröge
ce01236e32 mxf: Source files and #include cleanup 2009-03-26 12:46:22 +01:00
Sebastian Dröge
e5caf2edda mxfmux: Cleanup 2009-03-26 08:12:02 +01:00
Sebastian Dröge
effb5786da mxfmux: Fix some memory leaks, improve debugging and handle errors better 2009-03-22 15:51:37 +01:00
Sebastian Dröge
244c0a4707 mxfmux: Add support for muxing VC-3 (aka DNxHD) video 2009-03-21 10:19:47 +01:00
Sebastian Dröge
8dc9f2ea4d mxfdemux: Add support for non-standard Avid MXF files containing DNxHD essence
Avid uses a custom essence container UL and custom essence element keys
that are fortunately compatible with the generic container essence
elements. Partially fixes bug #561922.
2009-02-07 10:38:26 +01:00
Sebastian Dröge
91b35975b5 Generate an index table for essence streams
Generate an index table for essence streams during playback
and make sure that only the correct essence elements are
used for played tracks.

Make it possible to have one essence stream used in multiple
playback tracks.

Fix some minor bugs.
2009-01-31 11:02:24 +01:00
Sebastian Dröge
fc4be0acca Update copyrights for 2009 2009-01-22 13:13:00 +01:00
Sebastian Dröge
cd80f534f5 Implement parsing of DMS1 (SMPTE S380M) 2009-01-22 13:12:59 +01:00
Sebastian Dröge
71fc2ce3b4 Implement support for OP2a/b/c and OP3a/b/c, i.e. tracks with more than a single component. This currently only works...
Original commit message from CVS:
* gst/mxf/mxfaes-bwf.c: (mxf_bwf_handle_essence_element),
(mxf_aes3_handle_essence_element):
* gst/mxf/mxfalaw.c: (mxf_alaw_handle_essence_element):
* gst/mxf/mxfd10.c: (mxf_d10_picture_handle_essence_element),
(mxf_d10_sound_handle_essence_element):
* gst/mxf/mxfdemux.c: (gst_mxf_demux_pad_init),
(gst_mxf_demux_choose_package),
(gst_mxf_demux_handle_header_metadata_update_streams),
(gst_mxf_demux_pad_next_component),
(gst_mxf_demux_handle_generic_container_essence_element),
(gst_mxf_demux_parse_footer_metadata),
(gst_mxf_demux_handle_klv_packet), (gst_mxf_demux_src_query):
* gst/mxf/mxfdv-dif.c: (mxf_dv_dif_handle_essence_element):
* gst/mxf/mxfjpeg2000.c: (mxf_jpeg2000_handle_essence_element):
* gst/mxf/mxfmetadata.c: (mxf_metadata_sequence_init),
(mxf_metadata_structural_component_init),
(mxf_metadata_generic_picture_essence_descriptor_init):
* gst/mxf/mxfmpeg.c: (mxf_mpeg_video_handle_essence_element),
(mxf_mpeg_audio_handle_essence_element):
* gst/mxf/mxfparse.h:
* gst/mxf/mxfup.c: (mxf_up_handle_essence_element):
* gst/mxf/mxfvc3.c: (mxf_vc3_handle_essence_element):
* tests/check/elements/mxfdemux.c: (_sink_chain):
Implement support for OP2a/b/c and OP3a/b/c, i.e. tracks with
more than a single component. This currently only works for
the case where the components are stored in playback order
in the file.
Set some more default/distinguished values for the structural
metadata.
Make some types more strict by choosing the correct subclasses.
Set DISCONT flag on buffers after a component switch.
Take the last partition from the random index pack for the footer
partition of the header partition doesn't reference the footer
partition. This gives us the final structural metadata for
some more files in the beginning.
2008-12-31 08:53:02 +00:00
Sebastian Dröge
ecc0e9221f gst/mxf/: Add support for VC-3 (aka DNxHD essence, see SMPTE 2019-4).
Original commit message from CVS:
* gst/mxf/Makefile.am:
* gst/mxf/mxf.c: (plugin_init):
* gst/mxf/mxfvc3.c: (mxf_is_vc3_essence_track),
(mxf_vc3_handle_essence_element), (mxf_vc3_create_caps),
(mxf_vc3_init):
* gst/mxf/mxfvc3.h:
Add support for VC-3 (aka DNxHD essence, see SMPTE 2019-4).
This is untested because of lack of sample files but should
work fine.
2008-12-18 17:49:08 +00:00