Commit graph

967 commits

Author SHA1 Message Date
Edward Hervey
134f7d7058 gstffmpegvidenc: Port to -base video classes 2012-04-24 11:37:02 +02:00
Edward Hervey
bdf7ebf411 ffmpegenc/dec: Remove audio/video specific code
Makes each file more manageable, second step to porting to base classes
2012-04-24 11:36:31 +02:00
Edward Hervey
6310ed46dd ffmpeg: Clone encoder and decoder files
First step in porting to base video classes
2012-04-24 11:35:56 +02:00
Edward Hervey
04a2d01877 codecmap: Add utility for using with GstVideoFormat 2012-04-24 11:35:56 +02:00
Tim-Philipp Müller
c69da6d988 ffmpegdemux: skip ffmpeg matroska,webm typefinder again
Causes warnings, and shouldn't be needed.
2012-04-22 11:52:18 +01:00
Wim Taymans
cd2e53aa9f Merge remote-tracking branch 'origin/0.10' 2012-04-20 16:23:41 +02:00
Wim Taymans
630790f50d ffdec: don't flush buffers on DISCONT
Don't flush the buffers that ffmpeg has on DISCONT but instead let it recover.
This gives a much better image in the case of packet loss.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=635020
2012-04-20 16:16:25 +02:00
Mark Nauwelaerts
5c9d454517 collectpads2: rename to collectpads 2012-04-17 15:36:12 +02:00
Sebastian Dröge
e49c069995 Rename everything from gst-ffmpeg to gst-libav
Also change elements factory names to avenc_*, avdec_*,
avmux_* and avdemux_*. The actual filenames, type names,
function/variable names are not touched to make merging
with 0.10 easier at this point. Once 0.10 is not supported
anymore everything should be renamed.
2012-04-12 19:41:52 +02:00
Tim-Philipp Müller
c1ae78ecea ffmpeg: use set_metadata() for generated strings
Reverts parts of previous commit.
2012-04-10 01:01:00 +01:00
Tim-Philipp Müller
b06b11809b Use new gst_element_class_set_static_metadata() 2012-04-10 00:53:43 +01:00
Sebastian Dröge
1879c67d58 gst: Update for GST_PLUGIN_DEFINE() API changes 2012-04-05 17:41:11 +02:00
Sebastian Dröge
37fcf4009f ffmpeg: Update versioning 2012-04-04 14:53:51 +02:00
Wim Taymans
e438f20c93 ffdec: handle DTS/PTS
Now that we can know about PTS and DTS on incomming buffers, track them and set
the correct output timestamps.
We can remove the code to estimate if input buffers have pts or dts.
2012-04-03 11:52:05 +02:00
Wim Taymans
182af2df48 update for buffer api change 2012-03-30 18:14:00 +02:00
Wim Taymans
2c881eb752 update for buffer changes 2012-03-28 12:50:19 +02:00
Wim Taymans
894be47d5f ffenc: fix caps handling
Avoid copies and leaks
2012-03-27 16:39:09 +02:00
Wim Taymans
b0cc0cf55d Merge branch 'master' into 0.11
Conflicts:
	gst-libs/ext/libav
2012-03-22 15:31:40 +01:00
Wim Taymans
c9538928b6 ffdec: ensure padding is big enough 2012-03-19 11:06:40 +01:00
Wim Taymans
b7b587bce0 ffdec: check if input is already 0-padded
When the input buffer is already 0-padded we don't need to copy. This can happen
because in the ALLOCATION query we suggest this.
Only do temporary padding when we are using a parser.
2012-03-19 10:29:34 +01:00
Wim Taymans
3d2527c0a2 update for bufferpool changes 2012-03-15 22:11:54 +01:00
Wim Taymans
427ad305c5 update for allocation query changes 2012-03-15 20:39:10 +01:00
Wim Taymans
d9e16a498c ffdec: propose some padding in the allocation query
Hopefully upstream can add some padding and then we don't have to memcpy.
2012-03-14 20:04:53 +01:00
Wim Taymans
d606efc141 take padding into account 2012-03-14 19:53:06 +01:00
Wim Taymans
78e0187282 ffdec: remove unused crop property 2012-03-14 17:35:28 +01:00
Wim Taymans
dab06c0e5d ffdec: remove padding property
Users should not mess with this
2012-03-14 17:33:40 +01:00
Wim Taymans
75ba435552 ffdec: make bufferpool setup recalculate direct rendering
We need to recalculate if we can use direct rendering after we have setup the
bufferpool.
2012-03-14 12:58:38 +01:00
Wim Taymans
1ba905c031 ffdec: add some PERFORMANCE logging 2012-03-14 11:53:42 +01:00
Wim Taymans
12c0db9091 ffcodec: add voc demuxer 2012-03-13 13:24:39 +01:00
Wim Taymans
c2469e82f9 ffdemux: activate pad before setting caps 2012-03-13 13:24:23 +01:00
Wim Taymans
575cb87091 ffdec: implement accept-caps
Implement a potentially faster accept-caps function
2012-03-12 13:50:46 +01:00
Wim Taymans
bd13c104c2 fix for caps api changes 2012-03-11 19:07:31 +01:00
Wim Taymans
ecbbbe7fd2 ffmpegdec: enable alignment if videometa is allowed
Use the videobufferpool when downstream didn't suggest one.
Only enable video alignment in the bufferpool when downstream supports video
metadata.
2012-03-08 13:04:57 +01:00
Sebastian Dröge
d417f99cd7 ffmux: Use correct enum type for return value 2012-03-06 15:27:22 +01:00
Edward Hervey
57c7f59268 ffmpegdec: Use auto-threads if available, and only slice-threading
Slice threading causes less latency (and corruption)
2012-03-02 17:27:30 +01:00
Alessandro Decina
d48fc18065 Fix compiler warnings 2012-02-27 06:26:02 +01:00
Edward Hervey
0a16f7edf6 codecmap: Add mapping for Indeo 4 video codec 2012-02-22 12:14:21 +01:00
Wim Taymans
e4d6638c22 update for new memory api 2012-02-22 02:08:06 +01:00
Wim Taymans
05a44b7ac6 ffdec: disable multithreading
It causes refcounting problems.
2012-02-21 18:02:56 +01:00
Matej Knopp
a079886388 only reopen decoder when new caps are different 2012-02-20 16:23:57 +01:00
Wim Taymans
b5609f651e GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING 2012-02-08 16:41:19 +01:00
Tim-Philipp Müller
ab88f15674 Fix for gst_type_find_register() API change 2012-02-02 01:36:16 +00:00
Wim Taymans
cf3d3fe00d ffmpeg: port to new memory API 2012-01-25 11:59:04 +01:00
Wim Taymans
a3a68c1f72 port to new gthread API 2012-01-19 11:34:59 +01:00
Sebastian Dröge
3393095cd0 Merge branch 'master' into 0.11 2012-01-18 10:21:36 +01:00
Sebastian Dröge
99d4792014 ffdec: Only set get_buffer() function for video
Fixes bug #666435.
2012-01-18 10:11:49 +01:00
Tim-Philipp Müller
c84802ffef ffmpegdemux: demote swf demuxer to GST_RANK_NONE
SWF doesn't really make sense in our context, don't pretend
to support it. People should use a dedicated swf player for that.
2012-01-12 18:03:10 +00:00
Vincent Penquerc'h
49e3bc6e35 ffmpegdemux: fix caps leak 2012-01-12 14:57:48 +00:00
Mark Nauwelaerts
0edb9f22f0 ffmpeg: fix and extend LIBS in Makefile.am
... to account for -base video helper functions.
2012-01-10 13:41:55 +01:00
Sebastian Dröge
27b5013c9c ffmux: gst_element_class_add_pad_template() takes ownership of the pad template 2012-01-10 11:49:57 +01:00
Sebastian Dröge
44a1dc0138 ffmpeg: Fix merge mistakes 2012-01-10 11:39:27 +01:00
Sebastian Dröge
bde3117e72 Merge branch 'master' into 0.11
Conflicts:
	configure.ac
	ext/ffmpeg/gstffmpegcodecmap.c
	ext/ffmpeg/gstffmpegdec.c
	ext/ffmpeg/gstffmpegdeinterlace.c
	ext/ffmpeg/gstffmpegmux.c
	ext/libswscale/gstffmpegscale.c
2012-01-10 11:35:55 +01:00
Sebastian Dröge
b9ff7da938 ffmpeg: Channel layouts are now set for DTS and (E)AC3 by libav 2012-01-10 11:30:00 +01:00
Sebastian Dröge
3d43013d4f ffdec: Give the (E)AC3/DTS decoders a rank of marginal
Even if they don't downmix to stereo, they're still working
correctly. The only advantage of dtsdec/a52dec is that they
downmix to stereo (using the special downmixing matrices) if
downstream prefers stereo but in every other case they should
be equivalent.
2012-01-10 11:06:53 +01:00
Sebastian Dröge
ad53e32665 ffdec: Revert accidentially committed rank change of the (E)AC3/DTS decoders 2012-01-10 10:59:57 +01:00
Sebastian Dröge
6931afe0ba ffmpegdec: Reorder audio channels after clipping the audio buffer 2012-01-10 10:45:42 +01:00
Sebastian Dröge
3d6c803917 ffmpegdec: Correctly reorder audio channels to the GStreamer order if necessary 2012-01-10 10:37:50 +01:00
Sebastian Dröge
09efbe103f ffmpeg: Channel layouts are now set for DTS and (E)AC3 by libav 2012-01-10 10:08:05 +01:00
Sebastian Dröge
42bc8f5ad7 ffmpeg: Use stack-allocated channel positions array 2012-01-10 10:01:26 +01:00
Sebastian Dröge
d2702a091e ffmpeg: Put the new layout field in raw audio caps 2012-01-09 13:40:05 +01:00
Sebastian Dröge
2a4fcf842e ffdec: Add mappings for the top channel positions 2012-01-09 13:24:55 +01:00
Sebastian Dröge
a861ea34dd ffdec: Correctly set the channel-mask and also set it for stereo 2012-01-09 13:23:29 +01:00
Wim Taymans
fc0d9bd243 ffmpeg: port to new channel mapping 2012-01-05 14:06:33 +01:00
Wim Taymans
00d22402a2 GST_FLOW_UNEXPECTED -> GST_FLOW_EOS 2012-01-03 15:27:54 +01:00
Wim Taymans
290d3120fb ffdec: fill in the stride alignment
Copy the stride alignment we got from ffmpeg to the alignment structure.
2011-12-21 18:06:32 +01:00
Wim Taymans
9ea5b22de6 ffmpegdec: update for new interlace fields 2011-12-19 18:14:27 +01:00
Vincent Penquerc'h
f66834c11f ffmpeg: port to GstCollectPads2 2011-12-15 14:28:00 +00:00
Edward Hervey
15ae52392e ffmpegdec: Report latency if B-frames are present
... and cleanup the query handler while we're at it

https://bugzilla.gnome.org/show_bug.cgi?id=663616
2011-12-01 19:29:24 +01:00
Vincent Penquerc'h
dcd387b313 ffmpeg: fix pad template ref leaks
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:23:42 +00:00
Matej Knopp
28142d9549 Fix cpu cores detection on OS X
https://bugzilla.gnome.org/show_bug.cgi?id=664687
2011-11-23 23:57:01 +00:00
Matej Knopp
7dd07ed7fb Fix cpu cores detection on OS X
https://bugzilla.gnome.org/show_bug.cgi?id=664687
2011-11-23 23:54:54 +00:00
Wim Taymans
1e147bf88e update for activation changes 2011-11-21 13:36:34 +01:00
Wim Taymans
944a76904d update for new scheduling query 2011-11-18 18:00:59 +01:00
Wim Taymans
c1b511f5db add parent to activate functions 2011-11-18 13:59:59 +01:00
Wim Taymans
152e090891 add parent to pad functions 2011-11-17 12:49:33 +01:00
Stefan Sauer
319de2e96a collectpads: port API changes 2011-11-17 09:00:47 +01:00
Wim Taymans
63a890a746 add parent to query function 2011-11-16 17:29:22 +01:00
Wim Taymans
f65f9938d0 _query_peer_*() -> _peer_query_*() 2011-11-15 17:55:29 +01:00
Wim Taymans
71540b5fc1 _peer_get_caps() -> _peer_query_caps() 2011-11-15 17:23:21 +01:00
Wim Taymans
175a092331 ffmpeg: change getcaps to query 2011-11-15 16:35:17 +01:00
Wim Taymans
54fdd9faf7 update for adapter api change 2011-11-10 18:25:21 +01:00
Wim Taymans
9d1a924013 remove query types 2011-11-09 11:58:15 +01:00
Wim Taymans
cbb41c36ff ffdec: get the pixfmt correctly
Use the pixfmt from the passed context, which can be different from our other
context and which might not have the pixfmt set correctly.
2011-11-04 16:23:32 +01:00
Wim Taymans
a70ce56cf8 ffmpeg: fix template to %u 2011-11-04 12:43:17 +01:00
Wim Taymans
fa576d7384 tags: update for tag API removal 2011-11-02 12:10:25 +01:00
Wim Taymans
e8910763b4 demux: update for new task api 2011-11-02 09:10:03 +01:00
Wim Taymans
431bbdcbf5 structure: fix for api upate 2011-11-02 09:10:03 +01:00
Tim-Philipp Müller
02250601cf Merge remote-tracking branch 'origin/master' into 0.11 2011-10-31 14:53:01 +00:00
Martin Storsjo
77fa4072ee Allow building a LGPL only gst-ffmpeg plugin
This removes --enable-gpl and --enable-postproc from the
ffmpeg configure line, and disables building the postproc
gstreamer plugin.

https://bugzilla.gnome.org/show_bug.cgi?id=654037
2011-10-31 10:59:27 +01:00
Tim-Philipp Müller
6501cdbf92 ffmpegdemux: update for taglist API changes 2011-10-30 12:03:36 +00:00
Wim Taymans
dcc9703273 fix compilation with new caps api 2011-10-28 16:35:54 +02:00
Wim Taymans
7cbfd34e13 ffenc: fix compilation 2011-10-27 16:47:18 +02:00
Wim Taymans
1fffbe9876 Merge branch 'master' into 0.11
Conflicts:
	ext/ffmpeg/gstffmpegcodecmap.c
2011-10-27 16:31:30 +02:00
Sjoerd Simons
eb2e9f48e3 ffmpegenc: Pass the size of the output buffer to avcodec_encode_audio
avcodec_encode_audio is documented as taking the size of the output
buffer not the size of the input buffer.  This fixes the use of the G722
encoder and makes the code more consistent with avconv from the libav
source tree.
2011-10-19 13:18:35 +01:00
Sjoerd Simons
b05352beee ffmpegcodecmap: Further specify allowed rates for G722 and G726 2011-10-19 13:18:35 +01:00
Sjoerd Simons
93b333cfea ffmpegcodecmap: Always restrict audio codec in the unfixed cases
If the context isn't fixed yet or if it doesn't exist then always
restrict the caps.

Also restrict the maximum channels for G726 and G722 to 1 channel
2011-10-19 13:18:35 +01:00
Edward Hervey
5264fd3c97 Merge remote-tracking branch 'origin/master' into 0.11 2011-10-17 16:29:10 +02:00
Edward Hervey
99e61c5f3b gstffmpegdec: Re-enable MT-decoding by default 2011-10-17 16:27:36 +02:00
Edward Hervey
fc0a8893d8 gstffmpegutils: Fix include 2011-10-17 16:26:52 +02:00
Edward Hervey
b4ca4b5cfd gstffmpegcodecmap: Avoid string operations on NULL 2011-10-11 14:02:53 +02:00