Mark Nauwelaerts
b9e32291a9
avdemux: only activate in pull mode if upstream is seekable
2012-09-11 17:52:57 +02:00
Wim Taymans
1e5bfa5215
avviddec: add support for codecs that use reget_buffer
...
Add support for codec that use reget_buffer. In this mode, it reuses the picture
and we need to attach the corresponding input frame to it or else we get the
timestamps wrong.
2012-09-11 13:53:23 +02:00
Edward Hervey
90a8b3fb9f
ext: ffmpeg/gstffmpeg*.[ch] => libav/gstav*.[ch]
2012-09-10 17:53:54 +02:00
Edward Hervey
f4532d9135
remove postproc element
...
libpostproc is gone from upstream libav.
2012-09-10 17:18:30 +02:00
Edward Hervey
0e40eb11bc
configure.ac: Import top-level include directory
...
And fixup all includes
2012-09-10 17:08:00 +02:00
Edward Hervey
9f8e46d3d2
avdemux: Really ignore demuxers we want to ignore
2012-09-10 11:17:11 +02:00
Tim-Philipp Müller
22f67f7b9e
viddec: blacklist *crystalhd* decoder wrappers
...
There are gstreamer crystalhd elements as well,
so shouldn't be a big loss.
https://bugzilla.gnome.org/show_bug.cgi?id=683435
2012-09-07 17:56:43 +01:00
Sjoerd Simons
ed1ea6f097
ffmpegenc: Don't try to set caps to NULL
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=682736
2012-08-30 20:03:10 +02:00
Wim Taymans
4b62101f44
viddec: use the right pointers
...
Use the plane pointers and strides.
Improve some debug
2012-08-10 17:03:26 +02:00
Sebastian Dröge
fe0a8d005d
avviddec: Properly align and pad buffers for libav
...
https://bugzilla.gnome.org/show_bug.cgi?id=680796
2012-08-08 16:02:32 +02:00
Sebastian Dröge
3a4a139a28
av: Use */x-gst-av instead of */x-gst-ff for unknown caps
2012-08-07 10:19:16 +02:00
Sebastian Dröge
0764e9600c
avdemux: Remove unused variable
2012-08-06 14:35:07 +02:00
Sebastian Dröge
1af5b5601d
avdemux: Add stream-id to stream-start events
2012-08-06 14:05:28 +02:00
Edward Hervey
9b45987ef5
ffmpegviddec: Return NOT_NEGOTIATED when not configured
2012-08-06 11:55:31 +02:00
Tim-Philipp Müller
241419b46d
gst_tag_list_free -> gst_tag_list_unref
2012-08-04 16:19:29 +01:00
Sebastian Dröge
3d2d1beb77
tag: Update for taglist/tag event API changes
2012-07-28 00:36:40 +02:00
Wim Taymans
3c47f584e2
avdec: require alignment=au for h264
...
Because we don't use a parser anymore we need to make sure that we feed the
decoder with full frames. For h264, require that we are aligned on access
units.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680540
2012-07-25 11:55:21 +02:00
Tim-Philipp Müller
2d458ca951
audio encoders: use context default bitrate if no bitrate has been set
...
Fixes 'bitrate too low: got 0, need 24000 or higher'
error when doing audiotstsrc ! avenc_wmav1 ! fakesink
https://bugzilla.gnome.org/show_bug.cgi?id=680487
https://bugzilla.gnome.org/show_bug.cgi?id=680487
2012-07-23 23:29:26 +01:00
Mark Nauwelaerts
0489f5eb78
ffmpeg: avoid assertion failure on duplicate frame allocation
2012-07-23 15:02:11 +02:00
Robert Swain
1638344081
ffmpegviddec: Correctly flag interlaced state
...
If the context interlaced state is indicated, the picture interlaced
state can be used to correctly indicate GST_VIDEO_BUFFER_FLAG_INTERLACED
on output buffers.
2012-07-23 11:37:57 +02:00
Sebastian Dröge
899fd3d76e
ffvidenc: Allocate output buffers with the base class functions
2012-07-23 10:40:14 +02:00
Sebastian Dröge
941f4c331b
ffmpegviddec: Update for video base classes API changes
2012-07-23 10:35:38 +02:00
Edward Hervey
c77db02d6e
viddec: Call gst_video_decoder_negotiate()
2012-07-18 18:30:53 +02:00
Tim-Philipp Müller
4e784f0d0e
avdeinterlace: fix up output caps for new field as well
...
And presumably our output is always progressive and not
interlaced any more?
2012-07-17 12:35:03 +01:00
Tim-Philipp Müller
ad04636c6e
avdeinterlace: detect interlaced input properly
...
It's not a boolean field any more, and called "interlaced-mode" now.
2012-07-17 12:31:52 +01:00
Edward Hervey
93ef1b687e
demux: Push STREAM_START when needed
2012-07-13 14:01:44 +02:00
Wim Taymans
a3b0ae22d7
avdec: ignore AAC errors instead of erroring out
...
Also ignore decode errors for AAC and carry on decoding like we do for all
other formats.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679639
2012-07-10 16:10:14 +02:00
Wim Taymans
0e1d6c0011
avcodecmap: only restrict caps on encoders
...
We only want to restrict the channels/rate and width/height on the encoder pads.
For decoders can't assume that the input caps contain channels/rate or
width/height so we need to accept everything.
2012-07-10 15:47:01 +02:00
Wim Taymans
dc7bf19858
update for query api changes
2012-07-06 11:50:57 +02:00
Wim Taymans
f8475ad22a
update for query api changes
2012-07-06 11:27:33 +02:00
Wim Taymans
3ae9eb158c
update for allocation query changes
2012-07-06 11:05:19 +02:00
Tim-Philipp Müller
ab7b7cbff3
cfg: remove some deprecated properties: statsfile, mb-qmin, mb-qmax
...
Use multipass-cache-file, qmin, qmax instead.
2012-07-06 09:49:57 +01:00
Sebastian Dröge
06d24b47b6
avdemux: Implement segment-done event
2012-07-05 13:21:33 +02:00
Wim Taymans
cdcaa584a4
avdec: handle_frame should always unref the input frame
...
Unref the input frame in all cases. Previously it was only unreffed when the
frame was used for output.
When we produce an output frame, take an extra ref because the frame is now
freed elsewhere.
2012-07-03 17:13:00 +02:00
Wim Taymans
c9878e9f86
avdec: small cleanup
2012-07-03 17:13:00 +02:00
Wim Taymans
41ad632275
avdec: avoid some refs
...
We can let the ffmpeg structure take ownership of the buffer.
2012-07-03 17:13:00 +02:00
Руслан Ижбулатов
3ff6f53f24
ffvidenc: Fix a format string to avoid warnings
...
istffmpegvidenc.c:412:3: error: format '%lu' expects argument of type 'long unsigned int', but argument 8 has type 'gint' [-Werror=format]
2012-07-03 08:38:28 +02:00
Sebastian Dröge
7b8ffe6169
ffaudenc: Fix format string compiler warning
...
gstffmpegenc.c:266:3: error: format '%lu' expects argument of type 'long unsigned int', but argument 8 has type 'gint'
2012-07-02 15:51:17 +02:00
Wim Taymans
103f8f9395
avdec: don't wait for keyframe
...
Don't wait for a keyframe but try to decode as soon as possible. In most cases,
the demuxer will send a keyframe first and things will work fine, in other
cases, like RTP, we try to decode ASAP to provide quick feedback. Some formats
also have no keyframes (h264 with intra refresh).
2012-06-28 09:33:28 +02:00
Wim Taymans
932bd7f79e
avenc: don't leak frames
2012-06-26 12:36:56 +02:00
Wim Taymans
eb52e46b07
avdemux: update for task api change
2012-06-20 10:36:25 +02:00
Matej Knopp
17ee8113d7
ffmpegviddec: Don't reopen decoder on same caps, fix memory leaks, only drain on EOS
2012-06-20 07:39:40 +01:00
Wim Taymans
db53c6e5ec
viddec: avoid renegotiation
...
Keep track of the context veriables and renegotiate when something changes. We
need to use separate values for this because not all values can be copied into a
GstVideoInfo.
Set the output interlacing based on the libav context.
Use the demuxer and decoder framerate to construct an output framerate.
Use demuxer and decoder par to construct an output framerate.
2012-06-19 12:23:32 +02:00
Sebastian Dröge
83f57519b4
ffmpegvidenc: Handle allocation queries and improve the padding/direct-rendering handling
2012-06-15 16:37:19 +02:00
Sebastian Dröge
6ff10a922a
ffmpegviddec: Port to 0.11 again
...
No support for video meta, cropping, etc. yet
2012-06-15 15:18:47 +02:00
Sebastian Dröge
85f0dcb1e8
Merge remote-tracking branch 'origin/0.10'
2012-06-15 15:18:41 +02:00
Edward Hervey
1db8779252
ffmpegviddec: Properly return if negotiation fails
...
Instead of crashing ....
2012-06-15 12:19:58 +02:00
Sebastian Dröge
107c00a761
ffvidenc: Port to 0.11
2012-06-14 16:29:05 +02:00
Sebastian Dröge
de82bfbbba
Merge remote-tracking branch 'origin/0.10'
2012-06-14 15:44:18 +02:00
Sebastian Dröge
4a58fd4be4
Merge remote-tracking branch 'origin/0.10'
...
Conflicts:
common
ext/ffmpeg/Makefile.am
ext/ffmpeg/gstffmpegcfg.c
ext/ffmpeg/gstffmpegcodecmap.c
ext/ffmpeg/gstffmpegcodecmap.h
ext/ffmpeg/gstffmpegdec.c
ext/ffmpeg/gstffmpegenc.c
ext/ffmpeg/gstffmpegenc.h
tests/check/Makefile.am
Porting of the new video elements to 0.11 still pending.
2012-06-14 15:42:06 +02:00
Edward Hervey
ce7f65f752
ffmpegviddec: Properly update the interlacing
...
Fixes #678080
2012-06-14 15:13:31 +02:00
Edward Hervey
1ca115c44b
ffmpegviddec: Properly error out when codec doesn't open
...
Avoids ending up using an un-set codec
2012-06-14 15:04:33 +02:00
Matej Knopp
a3c7cd4643
gstffmpegdec: only drain on EOS
...
See https://bugzilla.gnome.org/show_bug.cgi?id=675359
2012-06-11 16:27:35 +02:00
Tim-Philipp Müller
4ffec05c50
avenc: make buffer-size property read-only
...
Fixes FIXME.
2012-06-09 16:49:54 +01:00
Tim-Philipp Müller
7956478011
avenc: change properties of type ulong to int
2012-06-09 16:41:28 +01:00
Tim-Philipp Müller
c4ca1e86f8
avmux: blacklist "segment" muxer
...
Causes run-time warnings.
2012-06-09 14:37:09 +01:00
Wim Taymans
ee6c8bd498
update for audio api changes
2012-06-08 10:11:46 +02:00
Wim Taymans
8ae3ffa3d3
update for tag event change
2012-06-06 13:03:18 +02:00
Wim Taymans
c44eff6afb
avdec: fix paletted formats
...
Pass the palette as the side data for AVPacket so that it is written in the
second plane of output AVFrame.
2012-05-31 13:55:44 +02:00
Wim Taymans
e38b00489f
libav: add support for 10 bits I420
...
See https://bugzilla.gnome.org/show_bug.cgi?id=665034
2012-05-25 17:03:53 +02:00
Nicolas Dufresne
35cf2e84f2
codecmap: correctly set height in AVCodecContext
...
https://bugzilla.gnome.org/show_bug.cgi?id=674899
2012-04-27 16:53:28 +02:00
Edward Hervey
f0a411235a
ffmpegviddec: Always keep a reference to the frame
...
Ensures no data gets cleared before the decoders are really done
with it.
2012-04-26 18:56:35 +02:00
Edward Hervey
6d2b483e15
ffmpegviddec: Flush and drain when needed
...
we need to flush avcodec internal state on hard resets
we need to drain out pending buffers on EOS and soft resets
2012-04-26 18:53:51 +02:00
Edward Hervey
252c5e0a92
ffmpegviddec: Add video/x-raw-gray to src pad template
2012-04-24 15:36:30 +02:00
Edward Hervey
8e42e0b6a4
codecmap: Add more GstVideoInfo<=>PixelFormat mappings
2012-04-24 15:36:00 +02:00
Edward Hervey
272823296f
ffmpegviddec: Port to GstVideoDecoder
2012-04-24 11:37:02 +02:00
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
Wim Taymans
2e3dd525c8
Merge remote-tracking branch 'origin/0.10'
2012-04-19 15:37:06 +02:00
Wim Taymans
e746746120
postproc: fix compilation when ORC is missing
...
Fix 'set but not used' compiler error when ORC is missing.
2012-04-19 15:35:48 +02:00
Wim Taymans
8fee156175
Merge remote-tracking branch 'origin/0.10'
...
Conflicts:
ext/libswscale/gstffmpegscale.c
2012-04-19 14:49:18 +02:00
Wim Taymans
b053a50508
ffscale: fix compilation when ORC is missing
...
Fix set but not used compiler error when ORC is missing.
2012-04-19 14:45:42 +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