Commit graph

50 commits

Author SHA1 Message Date
Alessandro Decina
2441c79afa h264parse: fix wrong timestamps in some cases after seeking.
Reset ->last_outbuf_dts on flush-stop. Fixes #619064.
2010-05-19 11:18:28 +02:00
Sebastian Dröge
c55b24b43d h264parse: Correctly clean up internal state for reuse
Fixes bug #614591.
2010-04-02 19:48:56 +02:00
Mark Nauwelaerts
7d2e248155 h264parse: fix writing NALU prefix for byte-stream output format
Specifically, input may already be in byte-stream format, so sync
bytes should not be misinterpreted as NALU size.
2010-03-29 14:49:06 +02:00
Benjamin Otte
775c7584fd gst_element_class_set_details => gst_element_class_set_details_simple 2010-03-18 22:46:41 +01:00
Thiago Santos
55e2adda37 h264parse: Replace 'avc-sample' with 'avc' in caps
Fixes #606662
2010-03-01 17:59:10 -03:00
Mark Nauwelaerts
df4c4cc703 h264parse: use correct h264_parse prefix in function name 2010-01-27 12:41:57 +01:00
Thiago Santos
eba1357244 h264parse: Add stream-format to caps
Adds the new stream-format field to h264parse caps

Fixes #606662
2010-01-13 10:35:57 -03:00
Thiago Santos
ba06eddb40 h264parse: Correctly rewrite all nal prefixes
When converting to byte-stream do not forget to rewrite
all nal prefixes instead of only the first one.
2010-01-12 18:18:39 -03:00
Thiago Santos
e6ab078785 h264parse: remove codec_data if output is bytestream
codec_data should be removed from the src pad caps if the
output is in bytestream format

Fixes #606657
2010-01-12 09:58:48 -03:00
b3f0b029f3 win32: Include config.h before anything else. Fix mpegdemux LIBADD
Because config.h defines __MSVCRT_VERSION__, which should be defined
before inclusion of any system header.

Also fixes mpegdemux Makefile.am LIBADD typo.

Fixes #606665
2010-01-12 12:31:56 +01:00
Mark Nauwelaerts
4067cd13c2 h264parse: optimize src caps updating 2010-01-07 19:00:14 +01:00
Mark Nauwelaerts
51aaa30fab h264parse: fix framerate calculation
... and also remove a superfluous duplicate debug statement.
2010-01-07 19:00:00 +01:00
Mark Nauwelaerts
997ec65cdf h264parse: fix regression in output buffer timestamping
Specifically, properly mark a buffer (NALU or AU) to start a frame or not.
2010-01-07 18:59:58 +01:00
Alessandro Decina
52f5f42da0 h264parse: fix caps handling in _update_src_caps. 2009-12-30 21:50:32 +01:00
Mark Nauwelaerts
ed058d7542 h264parse: fix caps parameters setting
Also consider PPS when selecting SPS to pick parameters from.
Only update caps when settings actually changed, and when these are valid.
2009-12-10 12:58:03 +01:00
Mark Nauwelaerts
b4d9b81b8a h264parse: optional transforming from bytestream to sample format (or vice versa) 2009-11-23 14:44:46 +01:00
Mark Nauwelaerts
7f291456e7 h264parse: refactor a bit into a reset function 2009-11-23 14:44:46 +01:00
Mark Nauwelaerts
f3a153eecb h264parse: provide w/h from stream in src caps if not in sink caps 2009-11-23 14:44:46 +01:00
Mark Nauwelaerts
291f45b383 h264parse: parse SPS some more (e.g. for width/height) 2009-11-23 14:44:46 +01:00
Mark Nauwelaerts
47041f610d h264parse: optionally output AUs rather than NALUs
That is, Access Units (frames/fields) instead of (possibly) parts thereof.
2009-11-23 14:44:45 +01:00
Alessandro Decina
a17393fd34 Fix warnings with gcc 4.0.1. 2009-09-23 12:34:47 +02:00
Christian Schaller
1a54ae8ce7 Fix factory information for h264parse, add missing Video 2009-09-12 18:57:05 +01:00
Sebastian Dröge
baced65049 h264parse: Free the PPS buffers too 2009-08-31 09:15:09 +02:00
Lin YANG
d520e426b0 h264parse: compute timestamp 2009-08-31 09:15:09 +02:00
Lin YANG
9c08ece157 h264parse: recognize more types of NAL
Also recognizes NALs carrying VCL (i.e. visible pictures). We
typically only compute timestamps for such NALs
2009-08-31 09:15:09 +02:00
Lin YANG
550f60111c h264parse: parser init & finalize 2009-08-31 09:15:08 +02:00
Lin YANG
d0273eec2c h264parse: decode slice header 2009-08-31 09:15:08 +02:00
Lin YANG
62ac493c5c h264parse: decode SEI 2009-08-31 09:15:08 +02:00
Lin YANG
dc696c4ffb h264parse: decode SEI: picture timing info 2009-08-31 09:15:08 +02:00
Lin YANG
d061c0a0d1 h264parse: decode SEI: buffering period 2009-08-31 09:15:07 +02:00
Lin YANG
ba5a75d551 h264parse: decode PPS 2009-08-31 09:15:07 +02:00
Lin YANG
2531e5f584 h264parse: decode SPS 2009-08-31 09:15:07 +02:00
Lin YANG
90dfda0f46 h264parse: SPS: decode vui params 2009-08-31 09:15:07 +02:00
Lin YANG
2d50657635 h264parse: SPS: decode hrd params 2009-08-31 09:15:06 +02:00
Lin YANG
e1cfd384d6 h264parse: Start SEI parsing work 2009-08-31 09:15:06 +02:00
Lin YANG
397abd5741 h264parse: Start PPS parsing work 2009-08-31 09:15:05 +02:00
Lin YANG
196b8240e2 h264parse: Start SPS parsing work 2009-08-31 09:15:05 +02:00
Wim Taymans
1cf9f2d497 h264parse: detect and fix for bad NALU sizes
when in AVC mode a nalu size seems invalid, assume the NALU has the size of the
available data instead of looping forever.

Fixes #586354
2009-06-22 11:19:07 +02:00
Edward Hervey
4cf27a7351 gst/: Wim, you're a bad boy. You don't want people to contact you or what?
Original commit message from CVS:
* gst-libs/gst/app/gstappsink.c:
* gst-libs/gst/app/gstappsrc.c:
* gst/h264parse/gsth264parse.c:
Wim, you're a bad boy. You don't want people to contact you or what?
2008-11-10 14:53:45 +00:00
Wim Taymans
10d104fcae gst/h264parse/gsth264parse.*: Parse codec_data and use the nalu_size_length field to get the NALU length in packetize...
Original commit message from CVS:
* gst/h264parse/gsth264parse.c: (gst_nal_bs_init),
(gst_h264_parse_sink_setcaps), (gst_h264_parse_chain_forward),
(gst_h264_parse_queue_buffer), (gst_h264_parse_chain_reverse),
(gst_h264_parse_chain):
* gst/h264parse/gsth264parse.h:
Parse codec_data and use the nalu_size_length field to get the NALU
length in packetized h264.
When queueing a packetized buffer in reverse mode, don't unref the
buffer twice.
Avoid accessing the buffer TIMESTAMP field after we pushed it on
the adaptor.
2008-06-03 11:10:32 +00:00
Josep Torra Valles
2e9945f377 gst/h264parse/gsth264parse.c: Fix potential buffer leak in reverse mode. Re-Fixes #516061.
Original commit message from CVS:
Patch by: Josep Torra Valles <josep@fluendo.com>
* gst/h264parse/gsth264parse.c: (gst_h264_parse_chain_reverse):
Fix potential buffer leak in reverse mode. Re-Fixes #516061.
2008-02-13 14:40:33 +00:00
Josep Torra Valles
fe7d133879 gst/h264parse/gsth264parse.c: Fix potential buffer leak in reverse mode. Fixes #516061.
Original commit message from CVS:
Patch by: Josep Torra Valles <josep@fluendo.com>
* gst/h264parse/gsth264parse.c: (gst_h264_parse_chain_reverse):
Fix potential buffer leak in reverse mode. Fixes #516061.
2008-02-12 18:29:29 +00:00
Tim-Philipp Müller
c459b9da7d gst/h264parse/gsth264parse.c: Try to avoid 'unused variable' compiler warning if debugging is disabled (not bullet pr...
Original commit message from CVS:
* gst/h264parse/gsth264parse.c: (gst_h264_parse_chain_forward):
Try to avoid 'unused variable' compiler warning if debugging is
disabled (not bullet proof, but seems to do for now). (#512654)
2008-01-28 23:18:44 +00:00
Julien Moutte
9b1dd1311d gst/h264parse/gsth264parse.c: Parse NAL units in forward mode to mark delta units flags.
Original commit message from CVS:
2008-01-22  Julien Moutte  <julien@fluendo.com>

* gst/h264parse/gsth264parse.c: (gst_h264_parse_chain_forward):
Parse NAL units in forward mode to mark delta units flags.
2008-01-22 17:43:35 +00:00
Stefan Kost
7e33919d25 gst/h264parse/gsth264parse.c: Fix the build. GST_TIME_ARGS takes a timestamp not a buffer.
Original commit message from CVS:
* gst/h264parse/gsth264parse.c:
Fix the build. GST_TIME_ARGS takes a timestamp not a buffer.
2008-01-21 07:22:47 +00:00
Wim Taymans
e7c9faaeae gst/h264parse/gsth264parse.c: Set timestamps more correctly.
Original commit message from CVS:
* gst/h264parse/gsth264parse.c: (gst_h264_parse_flush_decode),
(gst_h264_parse_queue_buffer), (gst_h264_parse_chain_reverse):
Set timestamps more correctly.
2008-01-18 17:37:03 +00:00
Wim Taymans
b0e6afa82e gst/h264parse/gsth264parse.*: Improve debugging.
Original commit message from CVS:
* gst/h264parse/gsth264parse.c: (gst_h264_parse_clear_queues),
(gst_h264_parse_flush_decode), (gst_h264_parse_queue_buffer),
(gst_h264_parse_find_start_reverse),
(gst_h264_parse_chain_reverse), (gst_h264_parse_chain):
* gst/h264parse/gsth264parse.h:
Improve debugging.
Fix buffer splitting at sync codes and leftover buffer after
scanning.
2008-01-17 18:39:24 +00:00
Wim Taymans
631b6a1766 gst/h264parse/gsth264parse.*: Add reverse playback support for containers that don't know how to properly send data b...
Original commit message from CVS:
* gst/h264parse/gsth264parse.c: (gst_nal_list_new),
(gst_nal_list_prepend_link), (gst_nal_list_delete_head),
(gst_nal_bs_init), (gst_nal_bs_read), (gst_nal_bs_eos),
(gst_nal_bs_read_ue), (gst_h264_parse_class_init),
(gst_h264_parse_init), (gst_h264_parse_set_property),
(gst_h264_parse_get_property), (gst_h264_parse_sink_setcaps),
(gst_h264_parse_clear_queues), (gst_h264_parse_chain_forward),
(gst_h264_parse_flush_decode), (gst_h264_parse_queue_buffer),
(gst_h264_parse_find_start_reverse),
(gst_h264_parse_chain_reverse), (gst_h264_parse_chain),
(gst_h264_parse_sink_event), (gst_h264_parse_change_state):
* gst/h264parse/gsth264parse.h:
Add reverse playback support for containers that don't know how to
properly send data between I-frames.
2008-01-16 18:28:00 +00:00
Stefan Kost
1af510f8d5 Massive leak fixing, plus code cleanups.
Original commit message from CVS:
* ext/audioresample/gstaudioresample.c:
* ext/x264/gstx264enc.c:
* gst/dvdspu/gstdvdspu.c:
* gst/dvdspu/gstdvdspu.h:
* gst/festival/gstfestival.c:
* gst/h264parse/gsth264parse.c:
* gst/mpegtsparse/mpegtspacketizer.c:
* gst/mpegtsparse/mpegtsparse.c:
* gst/multifile/gstmultifilesink.c:
* gst/multifile/gstmultifilesrc.c:
* gst/nuvdemux/gstnuvdemux.c:
* sys/dshowsrcwrapper/gstdshowaudiosrc.c:
* sys/dshowsrcwrapper/gstdshowvideosrc.c:
* sys/vcd/vcdsrc.c:
Massive leak fixing, plus code cleanups.
2007-09-24 10:53:37 +00:00
Michal Benes
8cdc3e5e8c New plugin: h264parse (#340638)
Original commit message from CVS:
Patch by: Michal Benes  <michal dot benes at xeris dot cz>
* configure.ac:
* gst/h264parse/Makefile.am:
* gst/h264parse/gsth264parse.c: (gst_h264_parse_base_init),
(gst_h264_parse_finalize), (gst_h264_parse_class_init),
(gst_h264_parse_init), (gst_h264_parse_chain),
(gst_h264_parse_handle_event), (plugin_init):
* gst/h264parse/gsth264parse.h:
New plugin: h264parse (#340638)
2006-05-22 16:08:34 +00:00