Alessandro Decina
570ba0c84a
h264parse: avoid pushing SPS/PPS at start only if both are found in stream
...
Avoid injecting SPS/PPS nals only if both are already present in the stream.
Fixes some AVC clips that happen to have only PPS nals in stream.
2011-12-19 12:36:39 +01:00
Alessandro Decina
58cc609b08
mpeg4videoparse: handle force key unit events
2011-12-18 18:37:08 +01:00
Alessandro Decina
94ae4ca833
h264parse: do wait for a keyframe when handling force key unit events
...
Although some decoders can start decoding with just PPS and SPS and waiting for
a keyframe is bad when the keyframe interval is large, gst-ffmpeg does need a
keyframe to start decoding.
2011-12-18 17:40:57 +01:00
Tim-Philipp Müller
7f8adea477
videoparsers: fix LIBS order in Makefile.am
2011-12-08 22:49:50 +00:00
Thibault Saunier
6b3a314d36
videoparsers: Do not not skip startcode when needed
...
Fix: https://bugzilla.gnome.org/show_bug.cgi?id=665631
2011-12-06 17:05:52 -03:00
Alessandro Decina
a1305b949c
h264parse: handle force key unit events
...
Send SPS/PPS on force key unit events. Useful for example when serving HLS
without transcoding.
2011-12-06 13:16:29 +01:00
Edward Hervey
1c50dab50c
h264parse: Use faster parsing variant when input is packetized
...
Reduces latency and cpu usage
https://bugzilla.gnome.org/show_bug.cgi?id=665584
2011-12-05 19:04:17 +01:00
Mark Nauwelaerts
9604342af3
h264parse: reflow slice nal processing
2011-12-05 13:11:39 +01:00
Mark Nauwelaerts
ef24518b60
h264parse: optimize slice nal processing
...
Only minimal slice info is needed here to determine real frame start,
so no need to parse extensively.
Fixes #665418 .
2011-12-05 13:11:04 +01:00
Alessandro Decina
4474db4e71
h264parse: let upstream PAR override in-stream PAR
2011-12-01 09:07:18 +01:00
Alessandro Decina
21b063a78c
h264parse: rework PAR parsing
...
And in the process refactor _update_src_caps a bit
2011-12-01 09:06:56 +01:00
Luciana Fujii Pontello
6d85d4882a
h264parse: respect pixel-aspect-ratio
...
Parse pixel-aspect-ratio in vui information.
2011-12-01 08:23:22 +01: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
5555b5fa9d
mpeg4videoparse: Properly handle profile and level in caps
...
Fix #660234
2011-11-28 21:25:34 -03:00
Thibault Saunier
48ad76e538
mpeg4videoparse: Port to the new mpeg4parser library
2011-11-28 21:25:34 -03:00
Thibault Saunier
db4d4979ab
mpeg4videoparse: Move to the videoparsers plugin
...
Rename a few variables to use the same convention as others elements in this
plugin
Conflicts:
gst/videoparsers/gstmpeg4videoparse.c
2011-11-28 21:25:34 -03:00
Vincent Penquerc'h
7521b597f4
various: fix pad template ref leaks
...
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:08:27 +00:00
Matej Knopp
f949930621
videoparsers: fix format warnings
...
https://bugzilla.gnome.org/show_bug.cgi?id=662618
2011-11-28 00:04:16 +00:00
Edward Hervey
b78b980d72
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
ext/faac/gstfaac.c
ext/opus/gstopusdec.c
ext/opus/gstopusenc.c
gst/audiovisualizers/gstspacescope.c
gst/colorspace/colorspace.c
2011-11-25 12:48:58 +01:00
René Stadler
e6df0b672f
videoparsers: port to 0.11
...
Unit tests missing for now.
2011-11-24 12:08:55 +01:00
Sebastian Dröge
dc2c61faf5
mpegvideoparse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream
2011-11-24 10:14:06 +01:00
Sebastian Dröge
61fad46dca
h263parse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream
2011-11-24 10:09:59 +01:00
Sebastian Dröge
b10c1f277f
diracparse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream
2011-11-24 10:08:27 +01:00
Mark Nauwelaerts
1f3b4ad574
h264parse: remove redundant code
...
... now that what should not be needed is really not needed anymore to cover
up bogus stuff that has been FIXMEd.
2011-11-18 17:20:10 +01:00
Mark Nauwelaerts
7fae33a661
h264parse: fix up AU collection processing
...
On the one hand, no need to collect nal if processing last one.
On the other hand, ensure AU collection processing to have sufficient
next NAL data in normal cases.
Fixes #663180 .
2011-11-18 17:20:08 +01:00
Mark Nauwelaerts
66543b3dd9
h264parse: mind to-be-skipped data in subsequent re-used offsets
2011-11-18 17:20:06 +01:00
Mark Nauwelaerts
e12044c359
h264parse: avoid additional NAL parsing if no AU collection is needed
2011-11-18 17:20:03 +01:00
Mark Nauwelaerts
9db239e1ec
h264parse: some more get_caps tweaking
...
... by having it use sink template rather than src template, and not
passing an downstream parsed(=true) to upstream.
2011-11-18 17:20:00 +01:00
Sebastian Dröge
f3f9e4b978
h264parse: Implement ::sink_get_caps to allow stream-format conversion again
...
Just proxying the downstream caps will prevent h264parse from
accepting a different stream-format than what is supported
downstream, although it could convert to a different stream-format.
2011-11-16 10:39:40 -08:00
Jonas Larsson
5099ff23af
h264parse: outgoing byte stream prefix always has size 4
...
Fixes #664123 .
2011-11-16 10:57:30 +01:00
Matej Knopp
a08b3bfa23
mpegvideoparse: add support for progressive frames
...
https://bugzilla.gnome.org/show_bug.cgi?id=663782
2011-11-10 19:58:13 -03:00
Sreerenj Balachandran
f8239ff692
h264parse: correct debug message and remove some dead code
...
See #661113 .
2011-10-17 11:17:50 +02:00
Sreerenj Balachandran
0a478db7dd
h264parse: correct parsing of "numberOfPictureParameterSets"
...
See #661113 .
2011-10-17 11:17:47 +02:00
Thibault Saunier
f94236078c
h264parse: Make proper use of the h264parser lib in parse_chain
...
Minor debugging logs fixes
2011-10-06 12:49:19 -03:00
Mark Nauwelaerts
9c221f492d
h264parse: properly interpret baseparse draining state
...
... which means the input data has reached the end, but need not exclude
many separate frames may still need parsing.
Fixes merging NALs into AU.
2011-10-06 12:26:23 +02:00
Sreerenj Balachandran
3129ea29b1
h264parse: correct the size argument of gst_h264_parser_identify_nalu_avc()
2011-10-06 11:59:41 +02:00
Sreerenj Balachandran
bbc30f3644
h264parse: minimum size of parsable avcC data should be 8
2011-10-06 11:59:38 +02:00
Sebastian Dröge
8e2c5833f1
videoparsers: Only fail to initialize the plugin if all parsers can't be registered
2011-10-04 12:31:05 +02:00
Thibault Saunier
2c928aba19
codecparsers: Declare the new APIs as unstable for the time being
2011-09-26 08:11:45 -03:00
Mark Nauwelaerts
b142663ca5
h263parse: bring debug statements up to desired specs
2011-09-19 14:55:12 +02:00
Mark Nauwelaerts
66f644cfcc
h264parse: bring debug statements up to desired specs
2011-09-19 14:55:09 +02:00
Thibault Saunier
df551c0af4
mpegvideoparse: Handle properly frame detection
...
Handle the case where we have buffers containing no startcode
in the middle of a frame properly.
2011-09-14 12:13:19 -03:00
Mark Nauwelaerts
a31d541f07
mpegvideoparse: send a video-codec tag
...
https://bugzilla.gnome.org/show_bug.cgi?id=569305
2011-09-14 16:14:54 +02:00
Alessandro Decina
6e9873038b
mpegvideoparse: fix compiler warnings
2011-09-12 10:23:36 +02:00
Thibault Saunier
404c18ab18
h264parse: Make use of the h264_nal_parser_free function
2011-09-09 15:02:35 -03:00
Vincent Penquerc'h
1a6dbe1e27
mpegvideoparse: make this build with older glib
...
g_list_free_full is a new convenience function.
Replace it with g_list_foreach and g_list_free.
https://bugzilla.gnome.org/show_bug.cgi?id=658450
2011-09-07 14:34:33 +02:00
Sebastian Dröge
724d7a3def
videoparsers: Make the h263 and (new) mpeg video parser autopluggable
2011-09-07 13:47:51 +02:00
George Kiagiadakis
ddf32e2c49
h264parse: Fix IDR position marking when the IDR is split into several NALs
2011-09-07 13:36:12 +03:00
Sebastian Dröge
e86e66e86c
h263parse: Add all always present fields to the src template caps
2011-09-07 11:29:37 +02:00
Sebastian Dröge
89aa5dae9d
diracparse: Add all fields to the src template caps
2011-09-07 11:29:37 +02:00
Sebastian Dröge
2adf76eb52
videoparsers: Allow parsed streams to be passed through the parsers
2011-09-07 11:29:37 +02:00
Sebastian Dröge
d4147a2798
h264parse: Put stream-format and alignment into the src template caps
...
Also remove the parsed field from the sink template caps.
2011-09-07 11:29:37 +02:00
Sebastian Dröge
456335eab4
h264parse: Change rank to PRIMARY+1 to have h264parse autoplugged
2011-09-07 11:29:36 +02:00
Sebastian Dröge
29a358e8cd
diracparse: Constify some arrays
2011-09-07 11:29:36 +02:00
Sebastian Dröge
cfb986b6bf
h264parse: Add Converter to classification
...
This parser can convert between different alignments and stream-formats.
2011-09-06 13:21:28 +02:00
Thibault Saunier
b968f82b18
h264parse: Port to the new h.264 parsing library
2011-09-02 15:46:02 +02:00
Thibault Saunier
a983b29a49
mpegvideoparse: Port to the new mpeg parsing library
2011-09-02 15:46:02 +02:00
Alessandro Decina
b01ee6bbf1
mpegvideoparse: fix sequence header parsing
...
After bitrate there's 11 bits (1 marker bit + VBV buffer size) before the load
intra quantiser flag.
2011-08-04 09:52:25 +02:00
Alessandro Decina
f12598fa64
h264parse: remove a check made useless by the last commit
2011-07-18 11:51:23 +02:00
Alessandro Decina
5f6a805dfd
h264parse: assume byte-stream if stream-format and codec_data are missing from input caps
2011-07-18 11:50:41 +02:00
Alessandro Decina
7bcc0c71b8
h264parse: ignore codec_data if stream-format=byte-stream
...
Some encoders set codec_data even when outputting byte-stream. Before this patch
h264parse would incorrectly detect such streams as AVC.
2011-07-18 11:50:41 +02:00
Olivier Crête
9eba99542f
videoparsers: Fix set-but-unused warnings
2011-07-12 17:59:56 -04:00
David Schleef
f21e36b54b
diracparse: make diracparse work correctly
2011-07-04 16:49:00 -07:00
Mark Nauwelaerts
10bec5c08f
h264parse: avc input must either pass-through or be split into bytestream chunks
...
... since parsing code is not meant to receive avc data.
Fixes #653087 .
2011-06-21 12:46:37 +02:00
Mark Nauwelaerts
160207abb9
h264parse: avoid bogus frame parsing state
2011-06-21 12:46:35 +02:00
Edward Hervey
c27b16bfe3
videoparsers: Speed up the start code search algorithm
...
Based on 96a7f9c8b1
Makes it 3-4 times faster
2011-06-12 12:55:40 +02:00
Edward Hervey
7032cd12e7
videoparsers: Fix sink pad template
...
no wonder it was never picked up ...
2011-06-12 12:40:15 +02:00
Debarshi Ray
335293bf50
Remove unused but set variables
...
This is needed to satisfy the new -Wunused-but-set-variable added in
GCC 4.6: http://gcc.gnu.org/gcc-4.6/changes.html
2011-06-04 20:26:02 +01:00
Alessandro Decina
b7e93e6eae
h264parse: check for out of range pps_id one layer up
2011-05-29 13:08:16 +02:00
Alessandro Decina
f4ec523b0a
mpeg4videoparse: fix compiler warnings
2011-05-29 13:08:16 +02:00
Mark Nauwelaerts
e5d5ff4394
h264parse: plug some more buffer leaks
2011-05-25 21:51:55 +02:00
Mark Nauwelaerts
1c4b6fee9b
h264parse: compensate for skipped bytes in parsing state offsets
2011-05-25 21:51:55 +02:00
Mark Nauwelaerts
62d9ef42d4
h264parse: fix clearing adapter forming avc output frame
...
... which needs to be reset upon a new frame and otherwise (only)
for avc input in passthrough mode (rather than on every chain call).
2011-05-25 21:51:55 +02:00
Mark Nauwelaerts
a407d54d9d
h264parse: handle all valid pps_id
...
... which are in range 0-255.
2011-05-25 21:51:55 +02:00
Alessandro Decina
6a8d66728f
h264parse: allow full negotiation for packetized input
...
... by defaulting to allow splitting packetized input and having
negotiation with downstream deciding whether or not this applies.
Also enable pass-through parsing mode if input and output format
(stream-format and alignment) match.
API: GstH264Parse:split-packetized (removed)
Fixes #650228 .
2011-05-25 21:51:55 +02:00
Mark Nauwelaerts
89f87d70a8
h263parse: also extract width and height into caps
2011-05-25 21:51:55 +02:00
Mark Nauwelaerts
6f5a3ecfa7
videoparsers: add new mpegvideoparse
2011-05-23 16:57:25 +02:00
Mark Nauwelaerts
f92f5b70fb
h264parse: avoid stale parsing state
2011-05-23 16:57:25 +02:00
Mark Nauwelaerts
930ee466f5
h263parse: simplify minimum frame size handling
2011-05-23 16:57:25 +02:00
Mark Nauwelaerts
217e389689
h264parse: simplify minimum frame size handling
2011-05-23 16:57:25 +02:00
Mark Nauwelaerts
409a51bcea
h264parse: gracefully handle truncated input NAL units
...
Rather than assert'ing in such case, emit warning if the length of a NAL unit
is less than expected 2 and discard it.
Based on patch by Benjamin M. Schwartz <bens@alum.mit.edu>
Fixes #650416 .
2011-05-23 16:57:25 +02:00
Mark Nauwelaerts
c203fd52e8
h264parse: fix some buffer leaks
...
Fixes #650323 .
2011-05-17 12:34:37 +02:00
Mark Nauwelaerts
02e392ca83
h264parse: fixup boilerplate and debug code style
2011-05-17 12:34:30 +02:00
Thibault Saunier
17fd7ebcb4
android: make it ready for androgenizer
...
Remove the android/ top dir
Fixe the Makefile.am to be androgenized
To build gstreamer for android we are now using androgenizer which generates the needed Android.mk files.
Androgenizer can be found here: http://git.collabora.co.uk/?p=user/derek/androgenizer.git
2011-04-11 07:27:11 +02:00
Tim-Philipp Müller
5365dbfdce
videoparsers: port to baseparse, which is now in libgstbase in core
2011-04-09 00:24:03 +01:00
René Stadler
cfb22fe985
h264parse: free PPS NAL buffers on cleanup
...
Obviously a typo. Fixes bug #645502 .
2011-03-24 22:39:04 +02:00
René Stadler
3e4e198c5e
h264parse: don't leak all NAL buffers
...
gst_buffer_replace() doesn't steal the ref. Partial fix for bug #645502 .
2011-03-24 21:53:13 +02:00
Mark Nauwelaerts
82a152533d
h264parse: chain up to parent finalize
2011-03-22 13:50:27 +01:00
Andreas Frisch
5867b69aa3
h264parse: Set parsed=true in the srcpad caps
...
Fixes bug #645412 .
2011-03-21 16:52:02 +01:00
Sebastian Dröge
935675a060
diracparse: Add correct template caps and element details
2011-03-11 14:37:06 +01:00
Edward Hervey
8d050d2116
videoparsers: Fix unitialized variables
...
Makes macosx compiler happy
2011-03-04 12:15:32 +01:00
Tim-Philipp Müller
e9b29e9dc7
h263parse: allocate H263Params struct on the stack
...
It's flat and not kept around for longer.
2011-03-03 08:51:28 +00:00
Tim-Philipp Müller
88cd418bc9
h263parse: minor clean-ups
...
const-ify some arguments and re-indent header a little.
2011-03-03 08:51:21 +00:00
Tim-Philipp Müller
493082abd7
videoparsers: change plugin filename from libgsth263parse* to libgstvideoparsersbad*
...
Due to a registry bug you may need to manually remove your
registry file to make the new plugin appear with >0 features.
2011-02-18 15:27:10 +00:00
Tim-Philipp Müller
b96cf817a0
videoparsers: fix build
...
Add includes and link against new libgstbaseparse in the
build tree.
2011-02-18 12:39:55 +00:00
David Schleef
e9ea237d03
videoparsers: Add dirac parser
2011-02-17 14:43:35 -08:00
David Schleef
fa3ff9e5ed
baseparse: Create baseparse library
2011-02-17 13:57:56 -08:00
Mark Nauwelaerts
2bb835f69a
baseparse: tune QUERY_SEEKING response
...
Even if we currently do not have a duration yet, assume seekable if
it looks like we'll likely be able to determine it later on
(which coincides with needed information to perform seeking).
2011-02-17 14:13:08 +01:00
Arun Raghavan
3f683e0288
baseparse: Update min/max bitrate before first posting them
...
This avoids posting an initial min-bitrate of G_UINTMAX and max-bitrate
of 0.
https://bugzilla.gnome.org/show_bug.cgi?id=641857
2011-02-09 18:30:51 +01:00
Tim-Philipp Müller
c57a9e4ba9
videoparsers: dist h264parse.h, fixing make distcheck
...
Spotted by Nathanael D. Noblet
2011-01-31 17:45:19 +00:00
Mark Nauwelaerts
d0b942980e
videoparsers: add h264parse
...
Functionally equivalent to (legacy)h264parse and re-uses the latter's low
level NAL parsing, but otherwise based on GstBaseParse, and replacing
some property configuration with caps negotiation.
2011-01-28 12:50:25 +01:00
Mark Nauwelaerts
0c5d139ba7
h263parse: move to videoparsers and separate plugin registration
2011-01-28 12:16:59 +01:00