Commit graph

51 commits

Author SHA1 Message Date
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 e55fb077e6 h264parse: Start slice header parsing work 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
Stefan Kost a14e8e07df Don't install static libs for plugins. Fixes #550851 for -bad.
Original commit message from CVS:
* ext/alsaspdif/Makefile.am:
* ext/amrwb/Makefile.am:
* ext/apexsink/Makefile.am:
* ext/arts/Makefile.am:
* ext/artsd/Makefile.am:
* ext/audiofile/Makefile.am:
* ext/audioresample/Makefile.am:
* ext/bz2/Makefile.am:
* ext/cdaudio/Makefile.am:
* ext/celt/Makefile.am:
* ext/dc1394/Makefile.am:
* ext/dirac/Makefile.am:
* ext/directfb/Makefile.am:
* ext/divx/Makefile.am:
* ext/dts/Makefile.am:
* ext/faac/Makefile.am:
* ext/faad/Makefile.am:
* ext/gsm/Makefile.am:
* ext/hermes/Makefile.am:
* ext/ivorbis/Makefile.am:
* ext/jack/Makefile.am:
* ext/jp2k/Makefile.am:
* ext/ladspa/Makefile.am:
* ext/lcs/Makefile.am:
* ext/libfame/Makefile.am:
* ext/libmms/Makefile.am:
* ext/metadata/Makefile.am:
* ext/mpeg2enc/Makefile.am:
* ext/mplex/Makefile.am:
* ext/musepack/Makefile.am:
* ext/musicbrainz/Makefile.am:
* ext/mythtv/Makefile.am:
* ext/nas/Makefile.am:
* ext/neon/Makefile.am:
* ext/ofa/Makefile.am:
* ext/polyp/Makefile.am:
* ext/resindvd/Makefile.am:
* ext/sdl/Makefile.am:
* ext/shout/Makefile.am:
* ext/snapshot/Makefile.am:
* ext/sndfile/Makefile.am:
* ext/soundtouch/Makefile.am:
* ext/spc/Makefile.am:
* ext/swfdec/Makefile.am:
* ext/tarkin/Makefile.am:
* ext/theora/Makefile.am:
* ext/timidity/Makefile.am:
* ext/twolame/Makefile.am:
* ext/x264/Makefile.am:
* ext/xine/Makefile.am:
* ext/xvid/Makefile.am:
* gst-libs/gst/app/Makefile.am:
* gst-libs/gst/dshow/Makefile.am:
* gst/aiffparse/Makefile.am:
* gst/app/Makefile.am:
* gst/audiobuffer/Makefile.am:
* gst/bayer/Makefile.am:
* gst/cdxaparse/Makefile.am:
* gst/chart/Makefile.am:
* gst/colorspace/Makefile.am:
* gst/dccp/Makefile.am:
* gst/deinterlace/Makefile.am:
* gst/deinterlace2/Makefile.am:
* gst/dvdspu/Makefile.am:
* gst/festival/Makefile.am:
* gst/filter/Makefile.am:
* gst/flacparse/Makefile.am:
* gst/flv/Makefile.am:
* gst/games/Makefile.am:
* gst/h264parse/Makefile.am:
* gst/librfb/Makefile.am:
* gst/mixmatrix/Makefile.am:
* gst/modplug/Makefile.am:
* gst/mpeg1sys/Makefile.am:
* gst/mpeg4videoparse/Makefile.am:
* gst/mpegdemux/Makefile.am:
* gst/mpegtsmux/Makefile.am:
* gst/mpegvideoparse/Makefile.am:
* gst/mve/Makefile.am:
* gst/nsf/Makefile.am:
* gst/nuvdemux/Makefile.am:
* gst/overlay/Makefile.am:
* gst/passthrough/Makefile.am:
* gst/pcapparse/Makefile.am:
* gst/playondemand/Makefile.am:
* gst/rawparse/Makefile.am:
* gst/real/Makefile.am:
* gst/rtjpeg/Makefile.am:
* gst/rtpmanager/Makefile.am:
* gst/scaletempo/Makefile.am:
* gst/sdp/Makefile.am:
* gst/selector/Makefile.am:
* gst/smooth/Makefile.am:
* gst/smoothwave/Makefile.am:
* gst/speed/Makefile.am:
* gst/speexresample/Makefile.am:
* gst/stereo/Makefile.am:
* gst/subenc/Makefile.am:
* gst/tta/Makefile.am:
* gst/vbidec/Makefile.am:
* gst/videodrop/Makefile.am:
* gst/videosignal/Makefile.am:
* gst/virtualdub/Makefile.am:
* gst/vmnc/Makefile.am:
* gst/y4m/Makefile.am:
* sys/acmenc/Makefile.am:
* sys/cdrom/Makefile.am:
* sys/dshowdecwrapper/Makefile.am:
* sys/dshowsrcwrapper/Makefile.am:
* sys/dvb/Makefile.am:
* sys/dxr3/Makefile.am:
* sys/fbdev/Makefile.am:
* sys/oss4/Makefile.am:
* sys/qcam/Makefile.am:
* sys/qtwrapper/Makefile.am:
* sys/vcd/Makefile.am:
* sys/wininet/Makefile.am:
* win32/common/config.h:
Don't install static libs for plugins. Fixes #550851 for -bad.
2008-11-04 12:42:30 +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