Commit graph

217 commits

Author SHA1 Message Date
Edward Hervey
3d089f4862 ext/ffmpeg/gstffmpegcodecmap.*: Add mapping for EAC3 and QCELP audio codecs.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ff_aud_caps_new),
(gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_smpfmt_to_caps),
(gst_ffmpeg_codectype_to_caps), (gst_ffmpeg_caps_to_smpfmt),
(gst_ffmpeg_caps_to_codecid), (av_smp_format_depth):
* ext/ffmpeg/gstffmpegcodecmap.h:
Add mapping for EAC3 and QCELP audio codecs.
Add conversion functions for all available audo SampleFormat.
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_open),
(gst_ffmpegdec_setcaps), (gst_ffmpegdec_negotiate),
(clip_audio_buffer), (gst_ffmpegdec_audio_frame):
Remove assumptions that we can only handle stereo 16bit signed integer
audio, and store the depth locally.
2008-12-17 12:05:12 +00:00
Edward Hervey
4540e7d752 ext/ffmpeg/gstffmpegdec.c: Fix check for memory to free.
Original commit message from CVS:
reviewed by: Edward Hervey  <edward.hervey@collabora.co.uk>
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_finalize):
Fix check for memory to free.
Fixes #560644
2008-12-03 17:43:45 +00:00
Wim Taymans
28cc187f59 ext/ffmpeg/gstffmpegcodecmap.c: Initialize some more variables.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_avpicture_fill):
Initialize some more variables.
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_setcaps),
(alloc_output_buffer):
Disable direct rendering for h264, some functions just seem to read from
invalid memory.
2008-11-07 11:43:42 +00:00
Wim Taymans
4ad12e4818 ext/ffmpeg/: Add G_PARAM_STATIC_STRINGS to avoid numerous strcpy calls.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcfg.c: (gst_ffmpeg_cfg_init):
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_class_init),
(gst_ffmpegdec_init), (gst_ffmpegdec_setcaps),
(gst_ffmpegdec_get_buffer), (get_output_buffer),
(gst_ffmpegdec_set_property), (gst_ffmpegdec_get_property):
Add G_PARAM_STATIC_STRINGS to avoid numerous strcpy calls.
2008-11-06 11:47:40 +00:00
Wim Taymans
fe4e398482 ext/ffmpeg/gstffmpegdec.c: Enable direct rendering.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_setcaps),
(gst_ffmpegdec_get_buffer), (get_output_buffer):
Enable direct rendering.
Add some more debug info about image strides.
2008-11-05 17:05:46 +00:00
Alexis Ballier
42cf6d213f Update ffmpeg/swscale snapshot to the latest revision and adjust to API changes. Fixes bug #556405.
Original commit message from CVS:
Based on a patch by: Alexis Ballier <aballier at gentoo dot org>
* configure.ac:
* ext/ffmpeg/gstffmpeg.c:
* ext/ffmpeg/gstffmpeg.h:
* ext/ffmpeg/gstffmpegaudioresample.c:
* ext/ffmpeg/gstffmpegcfg.c: (gst_ffmpeg_flags_get_type),
(gst_ffmpeg_cfg_init):
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_to_pixfmt), (gst_ffmpeg_caps_with_codecid):
* ext/ffmpeg/gstffmpegcodecmap.h:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_setcaps),
(gst_ffmpegdec_register):
* ext/ffmpeg/gstffmpegdeinterlace.c:
* ext/ffmpeg/gstffmpegdemux.c:
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_getcaps),
(gst_ffmpegenc_setcaps), (gst_ffmpegenc_register):
* ext/ffmpeg/gstffmpegmux.c:
* ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_seek):
* ext/libpostproc/gstpostproc.c:
* ffmpegrev:
Update ffmpeg/swscale snapshot to the latest revision and adjust
to API changes. Fixes bug #556405.
Require libavutil for swscale too when building with an external
ffmpeg and fix includes for external ffmpeg.
2008-10-30 12:05:45 +00:00
Robin Stocker
e6425e766d ext/ffmpeg/gstffmpegdec.c: If both, the decoder and the demuxer, provide a non-1:1 PAR prefer the one of the demuxer ...
Original commit message from CVS:
Patch by: Robin Stocker <robin at nibor dot org>
* ext/ffmpeg/gstffmpegdec.c:
(gst_ffmpegdec_add_pixel_aspect_ratio):
If both, the decoder and the demuxer, provide a non-1:1 PAR
prefer the one of the demuxer instead of the one of the decoder.
Fixes bug #556336.
2008-10-15 11:28:05 +00:00
Mark Nauwelaerts
cc082f9b32 ext/ffmpeg/: Add some more width/height/channels/rate limitations to caps to cater for more automagic negotiation. A...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ff_vid_caps_new),
(gst_ff_aud_caps_new), (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_codectype_to_caps):
* ext/ffmpeg/gstffmpegcodecmap.h:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_negotiate),
(gst_ffmpegdec_register):
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_getcaps),
(gst_ffmpegenc_register):
Add some more width/height/channels/rate limitations to caps
to cater for more automagic negotiation.  Addresses #532422.
2008-10-08 14:20:37 +00:00
Wim Taymans
d16e6f1ecc ext/ffmpeg/gstffmpegdec.c: If we have a parser and we did not consume any of the bytes of a new buffer, make sure we ...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_frame),
(gst_ffmpegdec_chain):
If we have a parser and we did not consume any of the bytes of a new
buffer, make sure we submit the buffer again with its original timestamp
instead of a -1 timestamp. Fixes various h264 cases with reordered
frames.
If we have a discont and a timestamp but the first buffer after the
discont did not produce any data, make sure we set the timestamp on the
next buffer instead. Fixes initial timestamp on realaudio in many cases.
2008-09-04 14:08:50 +00:00
Edward Hervey
d16582feb6 ext/ffmpeg/gstffmpegdec.c: Finalizing a decoder that was never used shouldn't trigger an assertion.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_finalize),
(gst_ffmpegdec_get_buffer), (gst_ffmpegdec_frame):
Finalizing a decoder that was never used shouldn't trigger an assertion.
Add debug messages for the two other g_assert_if_reached().
2008-08-29 09:59:29 +00:00
Jan Schmidt
17e954b034 ext/ffmpeg/gstffmpegdec.c: If ffmpeg reports 0 bytes of input data consumed, don't break out unless it also didn't pr...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c:
If ffmpeg reports 0 bytes of input data consumed, don't break out
unless it also didn't produce any output. Fixes the audio in #377400
and doesn't break anything else I've tested.
Enable the mp3 parser, and set mp3 and mpeg2-video decoding autoplug
at marginal level, as they seem to both work fine now.
2008-07-01 09:39:19 +00:00
Edward Hervey
1df167a9d6 ext/ffmpeg/: FFMpeg now provides proper long_name for AVCodec, remove our internal mapping and directly use upstream ...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_get_codecid_longname):
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_base_init),
(gst_ffmpegdec_register):
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_base_init),
(gst_ffmpegenc_register):
* ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_register):
FFMpeg now provides proper long_name for AVCodec, remove our
internal mapping and directly use upstream naming.
Improve debugging messages.
Remove g_warning() which isn't really needed.
2008-06-13 17:06:55 +00:00
Sebastian Dröge
0378202dc8 ext/ffmpeg/gstffmpegdec.c: Explicitely disable the AAC decoders as they don't work very well and we have better alter...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register):
Explicitely disable the AAC decoders as they don't work very well
and we have better alternatives. Fixes bug #534392.
2008-05-26 07:43:00 +00:00
Sebastian Dröge
2b248e29ff Use av_picture_copy() instead of libswscale to copy pictures. This removes the swscale dependency and is faster. Fixe...
Original commit message from CVS:
Patch by:
Hans de Goede <j dot w dot r degoede at hhs dot nl>
* configure.ac:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_avpicture_fill):
* ext/ffmpeg/gstffmpegcodecmap.h:
* ext/ffmpeg/gstffmpegdec.c: (get_output_buffer):
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop):
* ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_collected):
Use av_picture_copy() instead of libswscale to copy pictures. This
removes the swscale dependency and is faster. Fixes bug #534390.
2008-05-26 07:39:19 +00:00
Edward Hervey
221bcf6f97 ext/ffmpeg/gstffmpegdec.c: Previous commit in fact broke playback for standard wmv3.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_setcaps),
(gst_ffmpegdec_register):
Previous commit in fact broke playback for standard wmv3.
Instead make both ffdec_vc1 and ffdec_wmv3 accept any wmv3 variant and
figure out the proper codecid when opening the ffmpeg decoder.
2008-05-07 10:15:53 +00:00
Edward Hervey
11f80ecdc6 ext/ffmpeg/gstffmpegdec.c: Bump the priority of VC1 decoder so that it goes before the WMV3 decoder. This allows prop...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_setcaps),
(gst_ffmpegdec_video_frame), (gst_ffmpegdec_register):
Bump the priority of VC1 decoder so that it goes before the WMV3
decoder. This allows proper auto-pluggin with decodebin/playbin.
Fixes #531857
2008-05-07 09:47:57 +00:00
Andy Wingo
a5a03facd1 ext/ffmpeg/gstffmpegdec.c (gst_ffmpegdec_sink_event): Only drain if we've already set up a codec.
Original commit message from CVS:
2008-03-18  Andy Wingo  <wingo@pobox.com>

* ext/ffmpeg/gstffmpegdec.c (gst_ffmpegdec_sink_event): Only drain
if we've already set up a codec.
2008-03-18 10:35:40 +00:00
Wim Taymans
52b26ee96e ext/ffmpeg/gstffmpegdec.c: When we receive a newsegment event, we must drain any pending frames because they belong t...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_sink_event):
When we receive a newsegment event, we must drain any pending frames
because they belong to the previous segment. This fixes some cases of
very large timestamps when doing segment seeks.
2008-03-11 16:07:11 +00:00
Wim Taymans
be4b2533a9 ext/ffmpeg/gstffmpegdec.c: Work around an ffmpeg bug where it always returns 0 timestamps.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_open),
(get_output_buffer), (gst_ffmpegdec_video_frame),
(gst_ffmpegdec_chain):
Work around an ffmpeg bug where it always returns 0 timestamps.
2008-03-06 14:47:57 +00:00
Wim Taymans
62bc3b929b ext/ffmpeg/gstffmpegdec.c: Detect DTS or PTS as timestamps. This is done by tracking frame reordering on the output a...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_class_init),
(gst_ffmpegdec_setcaps), (check_keyframe),
(gst_ffmpegdec_video_frame), (gst_ffmpegdec_sink_event),
(gst_ffmpegdec_set_property):
Detect DTS or PTS as timestamps. This is done by tracking frame
reordering on the output and making sure that timestamps don't go
backwards. Fixes #482660.
2008-03-05 17:02:33 +00:00
Damien Lespiau
bebde6f878 ext/ffmpeg/gstffmpegdec.c: Add property for controlling of motion vectors. Fixes #515811.
Original commit message from CVS:
Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_class_init),
(gst_ffmpegdec_init), (gst_ffmpegdec_setcaps),
(gst_ffmpegdec_set_property), (gst_ffmpegdec_get_property):
Add property for controlling of motion vectors. Fixes #515811.
API: GstFFMpegDec::debug-mv
2008-02-11 18:45:53 +00:00
Wim Taymans
7d3fa2df4b ext/ffmpeg/gstffmpegdec.c: Don't blindly copy input timestamp to output timestamp but prefer the one attached to the ...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_video_frame):
Don't blindly copy input timestamp to output timestamp but prefer the
one attached to the picture when we can.
Add new variables for the output timestamp and duration to make the code
a little more clear.
2008-01-29 17:53:47 +00:00
Sebastian Dröge
950ad1abbe ext/ffmpeg/gstffmpegdec.c: Initialize hurry_up to 0 to fix "might be used uninitialized" compiler warning.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_video_frame):
Initialize hurry_up to 0 to fix "might be used uninitialized"
compiler warning.
2008-01-26 15:20:10 +00:00
Wim Taymans
15c2ba23c6 ext/ffmpeg/: When doing QoS, don't drop the frame before decoding because we might drop an important reference frame,...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_base_init),
(gst_ffmpegdec_setcaps), (gst_ffmpegdec_video_frame):
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_base_init):
When doing QoS, don't drop the frame before decoding because we might
drop an important reference frame, just make the decoder hurry_up on
this frame.
2008-01-25 11:44:29 +00:00
Wim Taymans
2e73ff53f0 ext/ffmpeg/gstffmpegdec.c: Add padding to input data before feeding it to ffmpeg. Also add option to disable this (al...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_class_init),
(gst_ffmpegdec_init), (get_output_buffer), (gst_ffmpegdec_chain),
(gst_ffmpegdec_change_state), (gst_ffmpegdec_set_property),
(gst_ffmpegdec_get_property):
Add padding to input data before feeding it to ffmpeg. Also add option
to disable this (although it does not seem to cause slowdown).
2008-01-23 18:23:37 +00:00
Wim Taymans
e57ac5b514 ext/ffmpeg/gstffmpegdec.c: Change the pad_alloc calculations for weird clipped sizes, refactor the code a bit.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_setcaps),
(alloc_output_buffer), (gst_ffmpegdec_get_buffer),
(gst_ffmpegdec_release_buffer), (gst_ffmpegdec_negotiate),
(get_output_buffer):
Change the pad_alloc calculations for weird clipped sizes, refactor the
code a bit.
Add support for some different refcounting algorithm.
Direct rendering still disabled by default.
2008-01-23 16:08:27 +00:00
Edward Hervey
31131add1f ext/ffmpeg/gstffmpegdec.c: Disable direct-rendering by default until buffer allocation works correctly.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_class_init):
Disable direct-rendering by default until buffer allocation works
correctly.
Rename the alias of the direct rendering property from 'direct' to
'direct-rendering'.
2008-01-22 18:24:40 +00:00
Wim Taymans
40a3686fe0 ext/ffmpeg/gstffmpegdec.c: Disable direct rendering for h264 since it does not always work.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_setcaps),
(gst_ffmpegdec_get_buffer):
Disable direct rendering for h264 since it does not always work.
2008-01-22 17:16:12 +00:00
Wim Taymans
9e70ac2064 ext/ffmpeg/gstffmpegdec.c: Implement get/set for the new property too.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_set_property),
(gst_ffmpegdec_get_property):
Implement get/set for the new property too.
2008-01-22 16:44:51 +00:00
Wim Taymans
39ea5ac5f0 ext/ffmpeg/gstffmpegdec.c: Reenable pad_alloc, seem to work now.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_class_init),
(gst_ffmpegdec_init), (gst_ffmpegdec_close), (gst_ffmpegdec_open),
(gst_ffmpegdec_setcaps), (gst_ffmpegdec_get_buffer),
(gst_ffmpegdec_release_buffer), (get_output_buffer),
(gst_ffmpegdec_video_frame), (gst_ffmpegdec_audio_frame),
(gst_ffmpegdec_frame), (gst_ffmpegdec_change_state),
(gst_ffmpegdec_set_property), (gst_ffmpegdec_get_property):
Reenable pad_alloc, seem to work now.
Added property to easily disable it later on.
Remove some old code that tried hard to break the get_buffer
functions. Fixes #321662.
2008-01-22 16:32:23 +00:00
Wim Taymans
5627c7d3e7 ext/ffmpeg/gstffmpegdec.c: Remove some more overly clever code that does nothing but mess up timestamps.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_video_frame),
(gst_ffmpegdec_chain):
Remove some more overly clever code that does nothing but mess up
timestamps.
2008-01-21 11:19:03 +00:00
Wim Taymans
c7d5be2b69 ext/ffmpeg/gstffmpegdec.c: Flush delayed frames on DISCONT if we have them.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_drain),
(gst_ffmpegdec_sink_event), (gst_ffmpegdec_chain):
Flush delayed frames on DISCONT if we have them.
2008-01-18 17:48:21 +00:00
Wim Taymans
c0bed4bd8d ext/ffmpeg/gstffmpegdec.c: Flush on DISCONT because ffmpeg does not reliably tell us about keyframes.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_video_frame),
(gst_ffmpegdec_chain):
Flush on DISCONT because ffmpeg does not reliably tell us about
keyframes.
2008-01-18 14:50:46 +00:00
Wim Taymans
1f8557e203 ext/ffmpeg/gstffmpegdec.c: Rewrite timestamping code to let ffmpeg track timestamps.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_init),
(gst_ffmpegdec_open), (gst_ffmpegdec_get_buffer),
(gst_ffmpegdec_release_buffer), (gst_ffmpegdec_video_frame),
(gst_ffmpegdec_sink_event), (gst_ffmpegdec_chain):
Rewrite timestamping code to let ffmpeg track timestamps.
Fixes #482660, #337866.
2008-01-18 12:18:08 +00:00
Wim Taymans
6033df76e9 ext/ffmpeg/gstffmpegdec.c: Add basic reverse playback for video.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (clear_queued), (flush_queued),
(gst_ffmpegdec_video_frame), (gst_ffmpegdec_frame),
(gst_ffmpegdec_sink_event), (gst_ffmpegdec_change_state):
Add basic reverse playback for video.
2008-01-16 17:35:58 +00:00
Sebastian Dröge
c8c3da525b ext/ffmpeg/: Don't register the WavPack demuxer and decoder. They don't work, we have better ones and the output of t...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register):
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register):
Don't register the WavPack demuxer and decoder. They don't work,
we have better ones and the output of the demuxer/input of the
decoder is in a different format than what audio/x-wavpack of the
wavpack plugin is (it seems that the demuxer strips of the wavpack
headers from every frame).
This fixes typefinding of Wavpack files again, as the ffmpeg
typefinder was preffered for some reason and gave
application/x-gst_ff-wv instead of audio/x-wavpack.
2008-01-04 22:14:50 +00:00
Edward Hervey
f6186655c5 Merging GST_FFMPEG_NO_MIRROR branch to trunk
Original commit message from CVS:
Merging GST_FFMPEG_NO_MIRROR branch to trunk
2007-12-17 12:43:06 +00:00
Edward Hervey
f85c737410 ext/ffmpeg/: gst-indent cleanup.
Original commit message from CVS:
* ext/ffmpeg/gstffmpeg.c: (gst_ffmpeg_avcodec_open),
(gst_ffmpeg_avcodec_close), (gst_ffmpeg_av_find_stream_info),
(gst_ffmpeg_log_callback), (plugin_init):
* ext/ffmpeg/gstffmpegcfg.c: (gst_ffmpeg_mb_decision_get_type),
(gst_ffmpeg_flags_get_type), (gst_ffmpeg_cfg_init),
(gst_ffmpeg_cfg_codec_has_pspec),
(gst_ffmpeg_cfg_install_property), (gst_ffmpeg_cfg_set_property),
(gst_ffmpeg_cfg_get_property), (gst_ffmpeg_cfg_set_defaults),
(gst_ffmpeg_cfg_fill_context), (gst_ffmpeg_cfg_finalize):
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps):
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_open),
(gst_ffmpegdec_setcaps), (gst_ffmpegdec_save_incoming_values),
(gst_ffmpegdec_get_best_values), (gst_ffmpegdec_video_frame):
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_base_init),
(gst_ffmpegdemux_src_query):
* ext/ffmpeg/gstffmpegenc.c: (ffmpegenc_setup_working_buf),
(gst_ffmpegenc_chain_video), (gst_ffmpegenc_flush_buffers):
* ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_open),
(gst_ffmpegdata_peek), (gst_ffmpegdata_read),
(gst_ffmpegdata_write), (gst_ffmpegdata_seek),
(gst_ffmpegdata_close):
gst-indent cleanup.
2007-11-03 16:14:53 +00:00
Tuomas Kulve
8f95bd95cc ext/ffmpeg/gstffmpegdec.c: Fix the return type of the setcaps function. Fixes #485033.
Original commit message from CVS:
Patch by: Tuomas Kulve <tuomas dot kulve at movial dot fi>
* ext/ffmpeg/gstffmpegdec.c:
Fix the return type of the setcaps function. Fixes #485033.
2007-10-10 09:31:32 +00:00
Wim Taymans
503ab7bf82 ext/ffmpeg/gstffmpegcodecmap.c: Add Real Video 3.0 and remove some bogus caps.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_with_codecid), (gst_ffmpeg_get_codecid_longname):
Add Real Video 3.0 and remove some bogus caps.
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_open),
(gst_ffmpegdec_video_frame):
When skipping because of QoS, pretend we consumed all bytes for the
frame so that the pcache's timestamp is updated correctly.
2007-10-01 17:27:42 +00:00
Edward Hervey
f616f4aa7c ext/ffmpeg/gstffmpegdec.c: Don't set rank of sp5x video decoder to NONE.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register):
Don't set rank of sp5x video decoder to NONE.
Fixes #466221
Re-order the cases of the switch statement so that the default case
is last.
2007-08-14 14:29:36 +00:00
Wim Taymans
144b42608b ext/ffmpeg/gstffmpegcodecmap.c: Improve debugging of codec data. realvideo caps are underspecified, use fields of alt...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_with_codecid):
Improve debugging of codec data.
realvideo caps are underspecified, use fields of alternative variant
before we settle this.
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_open),
(gst_ffmpegdec_video_frame):
Add more debugging of used parsers.
Setup the realvideo slices correctly before calling the decoder, fixed
realvideo in matroska.
2007-08-07 10:21:19 +00:00
Julien Moutte
4c6045a04f ext/ffmpeg/: Handle buffers with invalid duration correctly even in the case where we have a demuxer AND a decoder fr...
Original commit message from CVS:
2007-07-25  Julien MOUTTE  <julien@moutte.net>

* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_video_frame):
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop): Handle
buffers with invalid duration correctly even in the case where
we have a demuxer AND a decoder from ffmpeg linked.
Fixes: #460274.
2007-07-25 15:39:43 +00:00
Wim Taymans
c413858fe6 ext/ffmpeg/gstffmpegdec.c: Be a bit smarter when clipping the frame without a duration, we don't want the frame to ex...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (clip_video_buffer),
(gst_ffmpegdec_video_frame):
Be a bit smarter when clipping the frame without a duration, we don't
want the frame to extend to the end of the segment in this case.
2007-05-25 10:41:56 +00:00
Edward Hervey
0fcacdde8c ext/ffmpeg/gstffmpegdec.c: Fix timestamping for out-of-order incoming buffers. Instead of blindly copying the incomin...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_init),
(gst_ffmpegdec_open), (gst_ffmpegdec_save_incoming_values),
(gst_ffmpegdec_get_best_values), (gst_ffmpegdec_video_frame),
(gst_ffmpegdec_sink_event):
Fix timestamping for out-of-order incoming buffers. Instead of blindly
copying the incoming buffer timestamps on the outgoing buffers we cache
the latest 2 incoming buffer timestamps and duration and make a wise
choice as to what the outgoing buffer timestamp and duration should be.
Fixes #342962
2007-05-02 16:06:09 +00:00
Yves Lefebvre
eff0fefa3e ext/ffmpeg/gstffmpegdec.c: Draw edges for h264. Fixes #364139.
Original commit message from CVS:
Patch by: Yves Lefebvre <ivanohe at abacom dot com>
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_setcaps):
Draw edges for h264. Fixes #364139.
Set the error resilience flag just in case...
2007-04-12 10:56:42 +00:00
Tim-Philipp Müller
2a3785b2ef ext/ffmpeg/: Don't use GINT_TO_POINTER and GPOINTER_TO_INT with GTypes, this can break horribly if sizeof(GType) happ...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_base_init),
(gst_ffmpegdec_register):
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_base_init),
(gst_ffmpegdemux_register):
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_base_init),
(gst_ffmpegenc_register):
* ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_base_init),
(gst_ffmpegmux_register):
Don't use GINT_TO_POINTER and GPOINTER_TO_INT with GTypes, this
can break horribly if sizeof(GType) happens to be bigger than
sizeof(int), because GPOINTER_TO_INT might then chop off some bits
of our GType (the reason this seems to works nevertheless is the
put-current-type-also-as-value-0-into-the-hash-table-as-fallback
hack used in the current code).
In any case, instead of just fixing this, let's not use a hash table
with GTypes here at all. g_type_{set|get}_qdata() seems to do the
job just as well.
2007-02-16 11:48:15 +00:00
Thomas Vander Stichele
4840c7182d ext/ffmpeg/gstffmpegdec.c: My console is not your TODO list.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register):
My console is not your TODO list.
If it were your TODO list, you would have DONE it by now.
2007-02-09 19:58:19 +00:00
Wim Taymans
421a02db40 ext/ffmpeg/gstffmpegdec.c: Use caps to clip output images. Fixes #341736
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_open),
(gst_ffmpegdec_setcaps), (gst_ffmpegdec_negotiate),
(get_output_buffer), (gst_ffmpegdec_video_frame),
(clip_audio_buffer), (gst_ffmpegdec_audio_frame),
(gst_ffmpegdec_frame), (gst_ffmpegdec_chain),
(gst_ffmpegdec_register):
Use caps to clip output images. Fixes #341736
2007-01-09 14:53:36 +00:00
Jan Schmidt
1359d61313 ext/ffmpeg/gstffmpegdec.c: When H264 is presented without codec_data, use a parser to frame it by assuming that no co...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_open),
(gst_ffmpegdec_chain):
When H264 is presented without codec_data, use a parser to frame it
by assuming that no codec_data implies it is unpacketised.
Always use the return value from the parser to advance the input
buffer position.
2006-11-27 18:58:38 +00:00