Commit graph

986 commits

Author SHA1 Message Date
Edward Hervey
7d4f1aa8e8 h264parser: Remove un-needed checks and inline some functions
val and nr always exist (&nr, &value)
bits is always called smaller than the width

Makes parsing 30% faster
2012-06-06 10:33:18 +02:00
Mark Nauwelaerts
8d6aed5297 codecparsers: mpeg: relax entry constraint
... since it is acceptable and properly handled further on.
2012-06-01 11:13:17 +02:00
Sebastian Dröge
64344a6c63 basevideo: Remove old video base classes 2012-05-28 16:42:59 +02:00
Mark Nauwelaerts
28f3858b94 mpegvideoparse: tweak codec parser API and adjust parser element
... to allow for more efficient parsing and (more) consistent parsing API
among various codec parsers.

Fixes #672701.

Conflicts:

	gst/videoparsers/gstmpegvideoparse.c
2012-05-22 14:09:47 +02:00
Mark Nauwelaerts
29a947642e codecparsers: mpeg4: fixup documentation spelling 2012-05-22 14:00:50 +02:00
Nicolas Dufresne
920053dae6 mpegvideoparser: Optimize scanning for start code
https://bugzilla.gnome.org/show_bug.cgi?id=672701
2012-05-22 14:00:48 +02:00
Mark Nauwelaerts
e560ce0909 codecparsers: mpegvideoparser: fix buffer size check
... to mind unsigned integer wrap

Based on patch by Alban Browaeys <prahal@yahoo.com>

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=673436
2012-05-21 15:29:37 +02:00
Mark Nauwelaerts
5b2c2fa32b codecparsers: mpeg4: do not expect a marker bit where not specified
Fixes #672447.
2012-05-18 16:31:21 +02:00
Youness Alaoui
d3303121c8 basecamerabin: Do not set the pad templates in the base class.
It is best to let the subclass define the pad templates, this would
allow the subclass to decide which caps the pads should have.
2012-05-04 19:50:52 -03:00
Sreerenj Balachandran
99b6f14486 videocontext: Remove the explicit unrefing of pad object getting from iterator. 2012-05-04 10:21:05 +02:00
Thiago Santos
a944578ef9 basecamerasrc: null caps are not valid in 1.0
Use any caps for the preview-caps property, as NULL caps are
not valid caps in 1.0 anymore
2012-05-02 09:43:33 -03:00
Thiago Santos
89a20eb63e basecamerabinsrc: updating property to new name
enable-last-buffer is now enable-last-sample
2012-05-01 15:10:54 -03:00
Thiago Santos
79d3cc533f camerabin: Replacing ffmpegcolorspace with videoconvert 2012-05-01 15:10:51 -03:00
Wind Yuan
cd001d7b8e codecparser: mpeg4 type error 2012-05-01 11:01:37 +02:00
Sreerenj Balachandran
529f90c29d Doc fixes (gstsurfaceconverter, gstsurfacemeta). 2012-04-20 12:26:35 +02:00
Sebastian Dröge
7ff3293a44 video: Update for libgstvideo API changes 2012-04-19 12:31:39 +02:00
Matej Knopp
045e8bb506 mpegvideoparse: Do not ignore start code at the end of buffer 2012-04-16 08:42:12 +02:00
Matej Knopp
667fa25ec2 Set sync_poinr = 1 for keyframe 2012-04-14 10:40:47 +02:00
Sebastian Dröge
1318a97e0a gst: Update versioning 2012-04-04 14:44:34 +02:00
Sebastian Dröge
860ccd414d Merge remote-tracking branch 'origin/0.10'
Conflicts:
	NEWS
	RELEASE
	common
	configure.ac
	docs/libs/gst-plugins-bad-libs-sections.txt
	docs/plugins/gst-plugins-bad-plugins.args
	docs/plugins/gst-plugins-bad-plugins.hierarchy
	docs/plugins/gst-plugins-bad-plugins.interfaces
	docs/plugins/inspect/plugin-adpcmdec.xml
	docs/plugins/inspect/plugin-adpcmenc.xml
	docs/plugins/inspect/plugin-assrender.xml
	docs/plugins/inspect/plugin-audiovisualizers.xml
	docs/plugins/inspect/plugin-autoconvert.xml
	docs/plugins/inspect/plugin-bayer.xml
	docs/plugins/inspect/plugin-bz2.xml
	docs/plugins/inspect/plugin-camerabin2.xml
	docs/plugins/inspect/plugin-celt.xml
	docs/plugins/inspect/plugin-dataurisrc.xml
	docs/plugins/inspect/plugin-debugutilsbad.xml
	docs/plugins/inspect/plugin-dtmf.xml
	docs/plugins/inspect/plugin-dtsdec.xml
	docs/plugins/inspect/plugin-dvbsuboverlay.xml
	docs/plugins/inspect/plugin-dvdspu.xml
	docs/plugins/inspect/plugin-faac.xml
	docs/plugins/inspect/plugin-faad.xml
	docs/plugins/inspect/plugin-gsm.xml
	docs/plugins/inspect/plugin-h264parse.xml
	docs/plugins/inspect/plugin-mms.xml
	docs/plugins/inspect/plugin-modplug.xml
	docs/plugins/inspect/plugin-mpeg2enc.xml
	docs/plugins/inspect/plugin-mpegdemux2.xml
	docs/plugins/inspect/plugin-mpegtsdemux.xml
	docs/plugins/inspect/plugin-mpegvideoparse.xml
	docs/plugins/inspect/plugin-mplex.xml
	docs/plugins/inspect/plugin-pcapparse.xml
	docs/plugins/inspect/plugin-rawparse.xml
	docs/plugins/inspect/plugin-rtpmux.xml
	docs/plugins/inspect/plugin-rtpvp8.xml
	docs/plugins/inspect/plugin-scaletempo.xml
	docs/plugins/inspect/plugin-schro.xml
	docs/plugins/inspect/plugin-sdp.xml
	docs/plugins/inspect/plugin-segmentclip.xml
	docs/plugins/inspect/plugin-shm.xml
	docs/plugins/inspect/plugin-videomaxrate.xml
	docs/plugins/inspect/plugin-videoparsersbad.xml
	docs/plugins/inspect/plugin-vp8.xml
	docs/plugins/inspect/plugin-y4mdec.xml
	ext/celt/gstceltdec.c
	ext/dts/gstdtsdec.c
	ext/modplug/gstmodplug.cc
	ext/opus/gstopusenc.c
	gst-libs/gst/video/gstbasevideocodec.c
	gst-libs/gst/video/gstbasevideocodec.h
	gst-libs/gst/video/gstbasevideodecoder.c
	gst-libs/gst/video/gstbasevideodecoder.h
	gst-libs/gst/video/gstbasevideoencoder.c
	gst-libs/gst/video/gstbasevideoencoder.h
	gst/adpcmdec/Makefile.am
	gst/audiovisualizers/gstbaseaudiovisualizer.c
	gst/h264parse/gsth264parse.c
	gst/mpegdemux/mpegtsparse.c
	gst/mpegtsdemux/mpegtsbase.c
	gst/mpegtsdemux/mpegtspacketizer.c
	gst/mpegtsdemux/mpegtsparse.c
	gst/mpegtsdemux/tsdemux.c
	gst/mpegtsdemux/tsdemux.h
	gst/mxf/mxfdemux.c
	gst/rawparse/gstaudioparse.c
	gst/videoparsers/gsth263parse.c
	gst/videoparsers/gsth264parse.c
	sys/d3dvideosink/d3dvideosink.c
	sys/decklink/gstdecklinksink.cpp
	sys/dvb/gstdvbsrc.c
	sys/shm/gstshmsrc.c
	sys/vdpau/h264/gstvdph264dec.c
	sys/vdpau/mpeg/gstvdpmpegdec.c
	tests/examples/opencv/gst_element_print_properties.c
	win32/common/config.h
2012-03-29 17:41:53 +02:00
Sebastian Dröge
f291f87bb1 basecamerabinsrc: Add $(GST_PLUGINS_BASE_LIBS) to the linker flags 2012-03-27 09:36:24 +02:00
Wim Taymans
bc38bc27b7 don't pass random pointers to pull_range 2012-03-16 21:47:39 +01:00
Wim Taymans
ed82d408b1 update for bufferpool changes 2012-03-15 22:11:32 +01:00
Wim Taymans
583f5d1dc7 update for allocation query changes 2012-03-15 20:38:27 +01:00
Wim Taymans
6cbb840385 update for memory api changes 2012-03-15 13:37:36 +01:00
Wim Taymans
9f700cc3c4 take padding into account 2012-03-14 19:56:59 +01:00
Wim Taymans
77299ba6ae fix for caps api changes 2012-03-11 19:06:59 +01:00
Thibault Saunier
1188120eba Fix an unwanted double negation from last commit 2012-03-10 20:55:25 -03:00
Thibault Saunier
20669d461a Fix 'ignoring return value of function declared with const attribute'
This always happens with GstByteReader/Writer and friends when
not taking into account returned boolean of the _read/_write functions
(which is actually wrong).

Make use of the *_unchecked variant as much as possible, or take the
returned value into account.
2012-03-10 19:22:07 -03:00
Edward Hervey
33e8e137a6 video: Update/add docs 2012-03-06 18:49:49 +01:00
Gwenole Beauchesne
5c9f790075 codecparsers: h264: record number of emulation prevention bytes in slice_header().
Some hardware video decode acceleration API (VA-API, DXVA) require
a bit count to the first macroblock, minus the number of emulation
prevention bytes. So, instead of having the consumer of the library
scan the slice_header() again, just record that number while parsing.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>

https://bugzilla.gnome.org/show_bug.cgi?id=671203
2012-03-03 15:53:46 +00:00
Wim Taymans
ea4a0d1c2d update for metadata API changes 2012-02-29 17:26:28 +01:00
Wim Taymans
1fb46f00ae update for metadata tags 2012-02-28 12:10:18 +01:00
Wim Taymans
1859802d9d update for metadata changes 2012-02-24 10:26:44 +01:00
Edward Hervey
994a5190d6 video: More documentation 2012-02-21 16:53:37 +01:00
Edward Hervey
f9e6af08c7 basevideocodec: Document structures 2012-02-21 16:52:49 +01:00
Wim Taymans
35d7c47764 glib-compat-private.h to dist 2012-02-20 10:58:09 +01:00
Mark Nauwelaerts
ca5010cc4b Merge branch 'master' into 0.11 2012-02-15 17:14:34 +01:00
Jonas Larsson
e373df2a97 codecparsers: h264: fix SEI parsing
... in the presence of emulation_prevention_three_byte.

Fixes #668381.
2012-02-15 15:10:06 +01:00
Wim Taymans
1119f6ee41 Merge branch 'master' into 0.11
Conflicts:
	ext/chromaprint/gstchromaprint.c
	ext/mpeg2enc/Makefile.am
	ext/voaacenc/gstvoaacenc.c
	gst/dvbsuboverlay/gstdvbsuboverlay.c
	gst/mpegtsdemux/mpegtsbase.c
	gst/sdp/gstsdpdemux.c
	gst/videoparsers/gsth264parse.c
	sys/d3dvideosink/d3dvideosink.c
	tests/examples/camerabin/gst-camera-perf.c
	tests/examples/camerabin/gst-camerabin-test.c
	tests/examples/camerabin2/gst-camerabin2-test.c
	tests/examples/mxf/mxfdemux-structure.c
	tests/examples/scaletempo/demo-main.c
2012-02-10 16:46:50 +01:00
Gwenole Beauchesne
4964db6a1c codecparsers: h264: fix parsing of VUI parameters.
max_dec_frame_buffering was mis-parsed because log2_max_mv_length_vertical
was parsed twice.

https://bugzilla.gnome.org/show_bug.cgi?id=668660
2012-01-30 15:21:23 +00:00
Vincent Penquerc'h
8147669971 plenty: fixup glib deprecations 2012-01-27 15:47:07 +00:00
Wim Taymans
21073e98cf port to new memory API 2012-01-25 14:51:25 +01:00
Sebastian Dröge
a2a4300241 Merge branch 'master' into 0.11
Conflicts:
	configure.ac
	ext/kate/gstkateenc.c
	gst/colorspace/colorspace.c
	gst/mpegvideoparse/mpegvideoparse.c
2012-01-25 13:22:43 +01:00
Jonas Larsson
9feea330bb h264parse: fix gst_h264_parse_clock_timestamp always failing 2012-01-23 18:31:51 +00:00
Jonas Larsson
657226d9f0 codecparsers: read the cbr_flag in h264_parse_hrd_parameters 2012-01-23 19:01:04 +01:00
Mark Nauwelaerts
b5c5fb58a3 basevideoencoder: fix parameter sanity check 2012-01-23 14:13:38 +01:00
Gwenole Beauchesne
c92efe38e9 codecparsers: h264: fix ref_pic_list_modification()
The entries were not filled in linearly and the termination was not
recorded either. Now, the actual number of modifications is recorded
similarly to dec_ref_pic_marking(). i.e. an explicit counter instead
of storing the termination value in the array.

https://bugzilla.gnome.org/show_bug.cgi?id=668192
2012-01-20 18:40:29 +00:00
Wim Taymans
27ee60a27b port to new gthread API 2012-01-19 11:34:26 +01:00
Tim-Philipp Müller
699677ed8a Merge remote-tracking branch 'origin/master' into 0.11 2012-01-13 00:11:54 +00:00
Vincent Penquerc'h
b6edb1a03a mpegvideoparser: fix memory leak 2012-01-12 14:34:25 +00:00
Sebastian Dröge
a01a4ea2d3 Merge branch 'master' into 0.11
Conflicts:
	gst/mpegtsdemux/tsdemux.c
	gst/videoparsers/gsth264parse.c
	tests/check/elements/camerabin2.c
2012-01-10 15:50:37 +01:00
Oleksij Rempel (Alexey Fisher)
1d0507af89 basevideodecoder: add option to hande alt frame data
altref/invisible 'frame' do not describe some frame directly, so it can't be
displayed and timestamps should not be updated.

Fix bug: https://bugzilla.gnome.org/show_bug.cgi?id=655245
Signed-off-by: Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>
2012-01-10 08:48:45 +01:00
Mark Nauwelaerts
360cbaa46c codecparsers: mpeg4: fix parsing when recursively skipping user data 2012-01-09 15:03:30 +01:00
Zhao Halley
5676ff5bf4 codecparsers: remove h263 gob parsing, since there is no gob immediate after svh 2012-01-05 08:34:36 -03:00
Zhao Halley
bb52df5e24 codecparsers: add missing zero_bits in h263 parsing 2012-01-05 08:34:35 -03:00
Zhao Halley
1138aab1db codecparsers: includes start_marker in h263 header for parsing 2012-01-05 08:34:35 -03:00
Zhao Halley
052d1ace5e codecparsers: fix offset issue in h263 parse 2012-01-05 08:34:35 -03:00
Zhao Halley
70390ad846 codecparsers: fix mask pattern for h263 start marker 2012-01-05 08:34:35 -03:00
Sebastian Dröge
ef31b20afe signalprocessor: The multichannel.h header is gone now 2012-01-05 10:38:22 +01:00
Wim Taymans
b592f431e3 GST_FLOW_UNEXPECTED -> GST_FLOW_EOS 2012-01-03 15:26:54 +01:00
Edward Hervey
4917e16458 Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	tests/examples/camerabin2/Makefile.am
2011-12-30 11:49:27 +01:00
Edward Hervey
f70a623418 Merge remote-tracking branch 'origin/master' into 0.11-premerge
Conflicts:
	docs/libs/Makefile.am
	ext/kate/gstkatetiger.c
	ext/opus/gstopusdec.c
	ext/xvid/gstxvidenc.c
	gst-libs/gst/basecamerabinsrc/Makefile.am
	gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.c
	gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.h
	gst-libs/gst/video/gstbasevideocodec.c
	gst-libs/gst/video/gstbasevideocodec.h
	gst-libs/gst/video/gstbasevideodecoder.c
	gst-libs/gst/video/gstbasevideoencoder.c
	gst/asfmux/gstasfmux.c
	gst/audiovisualizers/gstwavescope.c
	gst/camerabin2/gstcamerabin2.c
	gst/debugutils/gstcompare.c
	gst/frei0r/gstfrei0rmixer.c
	gst/mpegpsmux/mpegpsmux.c
	gst/mpegtsmux/mpegtsmux.c
	gst/mxf/mxfmux.c
	gst/videomeasure/gstvideomeasure_ssim.c
	gst/videoparsers/gsth264parse.c
	gst/videoparsers/gstmpeg4videoparse.c
2011-12-30 11:41:17 +01:00
Thiago Santos
51f399686e basevideocodec: Reset should reset current caps
New caps will need to be negotiated when reset happens
(PAUSED to READY). Without reseting the internal
stored format, basevideoencoder/decoder wouldn't call the
configuration function when the same caps was negotiated
again as they would believe this was the same caps as before.

The issue is that _stop has been called when going to READY and
the elements would have reset their internal codec libs/state as
well. A new configuration should be done.
2011-12-30 00:02:46 -03:00
Thiago Santos
36fbb8eea4 basecamerabinsrc: remove redundant functions
gst_bin_get_by_interface should be enough for applications.
Haven't seen anyone using those other than wrappercamerabinsrc.
2011-12-22 16:17:56 -03:00
Mark Nauwelaerts
248a1c86e0 codecparsers: h264: clear sei message prior to parsing
Fixes #666584.
2011-12-20 14:06:34 +01:00
Sebastian Dröge
c869b21b17 basevideocodec: Don't use G_TYPE_REGISTER_BOXED() yet
This would require GLib 2.26.
2011-12-13 10:18:24 +01:00
Matej Knopp
4342eea637 basevideo: Make framestate a reference counted boxed object
...and also clear all existing frames when resetting the decoder or encoder.
2011-12-12 14:16:28 +01:00
Matej Knopp
70d13bbb32 basevideo: Make GstVideoFrame a reference counted boxed object
...and also clear all existing frames when resetting the decoder or encoder.
2011-12-12 14:12:36 +01:00
Sebastian Dröge
811a2ef7aa basevideoencoder: Only make the header buffer metadata writable, not the buffer 2011-12-08 11:51:36 +01:00
Sebastian Dröge
fd828c4ac7 basevideoencoder: Fix handling of force-keyunit events 2011-12-08 10:19:40 +01:00
Zhao Halley
4960d27d73 codecparsers: first video_packet_header doesn't start with resync_marker 2011-12-06 17:05:52 -03:00
Zhao Halley
5aaf56af29 codecparsers: return NO_PACKET if needed 2011-12-06 17:05:52 -03:00
Zhao Halley
3aa9081ef5 codecparsers: fix an issue in check resync marker 2011-12-06 17:05:52 -03:00
Zhao Halley
befc724e5a codecparsers: fix an issue in finding the last video packet in vop 2011-12-06 17:05:52 -03:00
Zhao Halley
164faafad6 codecparsers: include resync marker in video packet size 2011-12-06 17:05:52 -03:00
Zhao Halley
f33f26e437 codecparsers: scan next resync marker after current one 2011-12-06 13:29:40 -03:00
Zhao Halley
012c40140f codecparsers: fix < 0 issue of guint in mpeg4 parser
gst_byte_reader_masked_scan_uint32 returns a guint, not a gint, which
explains the issue we sometime get using < 0 instead of == -1;
2011-12-06 13:29:40 -03:00
Zhao Halley
391ecbda71 codecparsers: fix pattern/mask of resync_marker parsing of mpeg4 2011-12-06 13:29:40 -03:00
Alessandro Decina
702c055645 codecparsers: fix compile warnings in gstmpeg4parser.c 2011-12-06 13:15:58 +01:00
Edward Hervey
c4d987b6d3 codecparsers: Variant of _identify_nalu without checks
This is useful for cases where the caller *knows* that the provided
input contains a whole NALU and can therefore avoid:
* the expensive checks for the next start code (which won't be present)
* delaying the input parsing (since we would need the next incoming NALU
  in order for the parsing code to detect the next start code)

https://bugzilla.gnome.org/show_bug.cgi?id=665584
2011-12-05 19:03:05 +01:00
Mark Nauwelaerts
91e054ba58 codecparser: unbreak h264 slice header parsing
.. introduced by refactoring in commit 177451c921
2011-12-05 13:10:18 +01:00
Matej Knopp
27b677d179 basevideodecoder: Fix reference counting of codec_data 2011-12-05 09:41:34 +01:00
Wim Taymans
cacdd29b5c camerabin: use GstSample for the preview 2011-12-01 16:59:14 +01:00
Wim Taymans
759d62bafe fix for moved interfaces 2011-11-29 19:11:22 +01:00
Gwenole Beauchesne
177451c921 codecparsers: h264: record ref_pic_list_modification(). 2011-11-29 09:49:53 -03:00
Gwenole Beauchesne
99101a5824 codecparsers: h264: rename ref_pic_list_reordering() to ref_pic_list_modification().
Upgrade to current AVC specification.
2011-11-29 09:49:53 -03:00
Sebastian Dröge
e98b17a8dc basevideoencoder: Pass the all-headers field of the force-key-unit event to the subclass 2011-11-29 12:18:20 +01:00
Sebastian Dröge
de6782cce4 basevideoencoder: Implement full support for the new force-key-unit event
Including support for the running-time and count fields.
2011-11-29 12:18:20 +01:00
Sebastian Dröge
97515ca050 basevideoencoder: Use new force-keyunit event API from gst-plugins-base 2011-11-29 12:18:20 +01:00
Sebastian Dröge
904eed3547 basevideoencoder: Adjusting padding is not required for -bad libraries 2011-11-29 12:18:19 +01:00
Sebastian Dröge
25002df594 basevideoencoder: Move some fields to the private part of the instance struct 2011-11-29 12:18:19 +01:00
Sebastian Dröge
b0000b9041 basevideoencoder: Make headers metadata writable before pushing downstream
The timestamp, duration, etc of the headers has to be changed.
2011-11-29 12:18:19 +01:00
Sebastian Dröge
4501412af3 basevideoencoder: Push the downstream force-keyframe event after the next keyframe
Even if the corresponding GstVideoFrame doesn't have the is_sync_point
flag set.
2011-11-29 12:18:19 +01:00
Sebastian Dröge
209ea84ef4 basevideoencoder: Don't push an upstream force-keyunit event downstream 2011-11-29 12:18:19 +01:00
Jonas Larsson
54cb226009 basevideoencoder: Add initial support for the all-headers field of the force-keyframe event
See bug #607742.
2011-11-29 12:18:19 +01:00
Tim-Philipp Müller
12c678c7cf codecparsers: minor fixes
Const-ify one more VLC table. Fix spelling of 'hybrid'.
No need to explicitly call ensure_debug_category() everywhere,
that will be done automatically from GST_LOG() and friends
via GST_CAT_DEFAULT.
2011-11-29 09:15:11 +00:00
Thibault Saunier
e1bacb4813 codecparser: mpeg4: Look for resync code in _mpeg4_parse
This way the API is simpler and users can call 1 single function for packet
detection.
2011-11-28 21:25:34 -03:00
Thibault Saunier
e464370163 codecparsers: Declare private arrays as static all around 2011-11-28 21:25:34 -03:00
Thibault Saunier
fd593d6cc8 codecparsers: mpeg4: Implement an Mpeg4 part 2 parsing library 2011-11-28 21:25:34 -03:00