Commit graph

1259 commits

Author SHA1 Message Date
Sebastian Dröge
461a46f17a avdemux: Implement SEGMENT query 2013-07-29 12:19:38 +02:00
Edward Hervey
b1dccb17e9 avcodecmap: Demote WARNING to DEBUG
We cover all the needed formats already. The warning was just getting
in the way.
2013-07-24 12:22:04 +02:00
Olivier Crête
2556cb325a avviddec: Initialise opaque from the start
https://bugzilla.gnome.org/show_bug.cgi?id=693581
2013-07-23 14:01:32 +02:00
Sebastian Dröge
9b2577ea2b avdemux: Add support for group-id in the stream-start event 2013-07-23 09:59:43 +02:00
Arnaud Vrac
4a2054c6aa avviddec: increase bottom padding for output frames
libav can write slightly after the plane end in some SIMD optimized
functions. The extra padding value needs to be at least 16+stride_align
for each plane, so just increase the bottom padding value for the output
frame.

https://bugzilla.gnome.org/show_bug.cgi?id=694299
2013-07-18 16:24:18 +02:00
Wim Taymans
5736513eb0 codecmap: realvideo does not have systemstream property
realvideo does not have the systemstream property and nobody ever sets it so
better remove it here to make it link to something else.
2013-06-25 14:03:07 +02:00
Thiago Santos
dce9d85695 avviddec: reset coded_width/_height before trying to open codec
If coded_width/_height is supplied, the codec might use it as the
width/height and if it is wrong can lead to segfaults or video
corruption.

This is specially harmful on renegotiation scenarios where the
resolution changed. There seems to be no specific function for reseting
the AV Context in libav, so just set it directly.

https://bugzilla.gnome.org/show_bug.cgi?id=702003
2013-06-11 09:00:49 -03:00
Tim-Philipp Müller
068be939cb CODEC_ID_* -> AV_CODEC_ID_* 2013-05-06 23:56:22 +01:00
Tim-Philipp Müller
4dd36df4f7 codecmap: add mapping for WMA Lossless
Only 16 bits is supported for now though.
2013-05-06 23:53:01 +01:00
Sebastian Dröge
2d2c9b1aac avviddec: Enable FRAME based threaded decoding if upstream is not live
If upstream is live we don't want FRAME based threaded decoding as
it adds latency.
2013-04-23 14:20:42 +02:00
Andoni Morales Alastruey
d3b125913f libav: fix static linking 2013-04-15 16:00:03 +02:00
Sebastian Dröge
1caa7d6161 gst: Add better support for static plugins 2013-04-15 16:00:02 +02:00
Matej Knopp
710c92d830 av: Add WMV3 format for WMV 3 caps 2013-04-15 12:42:01 +02:00
Siva Chandran P
758d7bf7ea avvidec: Make sure to store newly set caps after resetting the decoder
Otherwise we'll just set the to NULL while resetting the decoder and
don't have them available anymore later.

https://bugzilla.gnome.org/show_bug.cgi?id=697548
2013-04-09 20:44:23 +02:00
David Schleef
f656d9eaf7 Use %03u instead of %u in gst_pad_create_stream_id_printf() 2013-03-25 19:01:31 -07:00
Olivier Crête
597bf61ae7 swscale: Use 1.0-style video/x-raw caps 2013-03-01 15:11:15 -05:00
David Schleef
7f2f2fb31f Add mapping for SMPTE 302m audio 2013-02-04 18:10:42 -08:00
Tim-Philipp Müller
b7ef1faab7 Revert "avdec_aac: disable for autoplugging until it gets fixed"
This reverts commit c5980dc52a.

It's fixed now.

https://bugzilla.gnome.org/show_bug.cgi?id=690940
2013-01-26 12:52:29 +00:00
Tim-Philipp Müller
879cd02e26 avauddec: fix decoding of mono audio as well
https://bugzilla.gnome.org/show_bug.cgi?id=690940
2013-01-26 12:52:29 +00:00
Nicolas Dufresne
76423a4ba7 avauddec: fix garbled audio decoding in some cases
Calculate output buffer size based on the number of
samples, channels and bytes per sample. The buffer
size was calculated based on linesize, which may
be larger than what's required.

https://bugzilla.gnome.org/show_bug.cgi?id=690940
2013-01-26 12:23:14 +00:00
Tim-Philipp Müller
ed6561bee6 avenc_aac: downgrade to RANK_NONE until it gets fixed
Currently just fails to initialize.

https://bugzilla.gnome.org/show_bug.cgi?id=691617
2013-01-22 12:57:41 +00:00
Tim-Philipp Müller
c5980dc52a avdec_aac: disable for autoplugging until it gets fixed
Currently outputs garbled audio. Use faad in the meantime.

https://bugzilla.gnome.org/show_bug.cgi?id=690940
2013-01-22 12:53:48 +00:00
Tim-Philipp Müller
3ad2d0b0e7 Disable libswscale/avvideoscale plugin until it works at least somewhat
It needs some fixing.
2013-01-17 23:57:00 +00:00
Sebastian Dröge
4221ae1022 av: Remove some unused variables and function declarations 2012-12-22 10:52:47 +01:00
Sebastian Dröge
08ca549627 av: Move gst_ffmpegdata functions to gstavprotocol.h too
Just for consistency.
2012-12-22 10:49:52 +01:00
Thijs Vermeir
bdd7406bc4 av: Fix redefinition of typedef 'GstFFMpegPipe'
Move declaration of pipe function to correct headers file
2012-12-21 23:16:44 +01:00
Sebastian Dröge
adfdfebc8c av: Use correct printf format strings for gsize 2012-12-21 11:03:27 +01:00
Sebastian Dröge
022ab84288 av: Fix some memory leaks and misuse of libav API 2012-12-17 16:35:36 +01:00
Sebastian Dröge
d69dda0391 avauddec: Use a GstBuffer instead of a GstAdapter for collecting the output buffers
This might cause less memcpies as the GstMemories of the buffers
are just appended into a single buffer.
2012-12-17 15:58:37 +01:00
Thiago Santos
c445b614f9 avauddec: accumulate buffers from a single input to push it all at once
The base audio decoder wants a 1:1 mapping for input and output
buffers, so this decoder must accumulate data in an adapter and push
it all at once after all input has been processed.

https://bugzilla.gnome.org/show_bug.cgi?id=689565
2012-12-17 15:56:03 +01:00
Sebastian Dröge
faf985e8fb avcodecmap: Only set "formats" field on raw audio/video caps 2012-12-17 13:42:13 +01:00
Sebastian Dröge
0ec5fea211 avcodecmap: Correctly convert GStreamer channel positions to libav channel mask 2012-12-17 13:41:42 +01:00
Sebastian Dröge
a6ede95de7 avcodecmap: Add more and correct restrictions for DV
https://bugzilla.gnome.org/show_bug.cgi?id=600895
2012-12-17 11:11:12 +01:00
Sebastian Dröge
959d9ce553 libav: Fix some compilation errors caused by circular includes 2012-12-12 17:36:33 +00:00
Wim Taymans
60ff639cd4 avcodec: set bits_per_coded_sample for G726
Use the bitrate and the samplerate to set the bits_per_coded_sample for G726
because the decoder needs this.
2012-12-12 17:04:00 +01:00
Sebastian Dröge
3837abb264 avauddec: Set frame defaults for the audio decoders too 2012-12-12 15:57:19 +00:00
Sebastian Dröge
7a36bbb873 avcodecmap: Remove some unused functions 2012-12-12 15:54:01 +00:00
Wim Taymans
b333e1204e avaudenc: init frame with defaults
Init the AVFrame with the right method. This sets the extended_data field
correctly that is needed for some formats (G726 for example).
2012-12-12 16:47:19 +01:00
Sebastian Dröge
21ac746f33 avdec: Improve src template caps 2012-12-12 15:42:09 +00:00
Sebastian Dröge
cb9e40ff4c avaudenc: Properly handle planar audio formats with more than AV_NUM_DATA_POINTERS channels 2012-12-12 13:04:54 +00:00
Sebastian Dröge
1bec18edce avauddec: Properly handle planar audio formats with more than AV_NUM_DATA_POINTERS channels 2012-12-12 13:04:38 +00:00
Christiaan Welvaart
338b147374 avprotocol: Port from the URL protocol handler to saner public API 2012-12-12 12:10:27 +00:00
Wim Taymans
4c46f11d5f libav: fix palette support again 2012-12-12 10:12:22 +01:00
Sebastian Dröge
736bda7350 avcodecmap: Take framerate restrictions into account for encoders 2012-12-11 18:56:24 +00:00
Sebastian Dröge
86361bf6df avvidenc: Simplify color formats in the raw video caps 2012-12-11 18:48:34 +00:00
Sebastian Dröge
fbe1221d70 avaudenc: Reorder audio channels if necessary and add proper support for channel layouts 2012-12-11 18:07:34 +00:00
Sebastian Dröge
64a2a8bdae avcodecmap: Take channel layout constraints into account if possible 2012-12-11 17:25:41 +00:00
Sebastian Dröge
b9d0c7110f avcodecmap: Take generic samplerate limitations into account 2012-12-11 16:54:09 +00:00
Sebastian Dröge
90e1c0c21d avcodecmap: Simplify raw audio caps 2012-12-11 16:46:43 +00:00
Sebastian Dröge
9945ae7adc avauddec: Close context when it was opened 2012-12-11 15:14:10 +00:00
Sebastian Dröge
06de84c747 avviddec: Fix memory leak if we already allocated an output buffer for the frame 2012-12-11 10:34:42 +00:00
Wim Taymans
76b8b8c67f Revert "avviddec: Fix memory leaks and assertions in error cases if we can't allocate a frame"
This reverts commit 47647e1cac.

Breaks playback when direct rendering is disabled.
The reason is that we set the opaque vaue to NULL and then try to use the NULL
value when we decoded a frame.
2012-12-11 10:24:08 +01:00
Rasmus Rohde
4fc452344a Fix incorrect use of object in log statement. We are given a pointer to the object and should not try to take the address of it. 2012-12-10 15:35:16 +01:00
Руслан Ижбулатов
b7471c1f5b avutils: Add missing includes for Windows
Fixes #689751
2012-12-06 10:45:58 +01:00
Sebastian Dröge
cab519f370 avaudenc: Add support for planar audio formats 2012-12-05 19:28:33 +01:00
Sebastian Dröge
2d7ebf9514 av: Correctly populate the codec context with the defaults 2012-12-05 19:25:37 +01:00
Sebastian Dröge
d840211412 av: Use av_codec_is_{en,de}coder() API instead of private struct fields 2012-12-05 10:52:34 +01:00
Sebastian Dröge
aa4a238506 avauddec: release_buffer is not supposed to be used for audio
And calling it causes crashes in some situations.
2012-12-04 22:09:05 +01:00
Sebastian Dröge
e092f3d411 avauddec: Add support for planar audio formats 2012-12-04 20:45:28 +01:00
Sebastian Dröge
47647e1cac avviddec: Fix memory leaks and assertions in error cases if we can't allocate a frame 2012-12-04 20:44:58 +01:00
Sebastian Dröge
f5c112990f av: Port remaining simple bits 2012-12-04 18:36:56 +01:00
Sebastian Dröge
0f206124b6 av: Remove palette support for now
It was never ported to the way how paletted color formats work
in 1.0 anyway and the API changed in libav upstream.
2012-12-04 18:36:37 +01:00
Sebastian Dröge
169825a28e av: Update for some constant changes 2012-12-04 18:36:37 +01:00
Sebastian Dröge
06ed3e4060 av: Port to new avio protocol handler 2012-12-04 18:36:37 +01:00
Luca Barbato
5f03a7d869 av: update to use AVOption variants. 2012-12-04 18:36:30 +01:00
Tim-Philipp Müller
5a823a5fbf avaudenc: log error string as well in debug output 2012-12-02 12:31:43 +00:00
Tim-Philipp Müller
a3d930afbe avaudenc: use sample rate as ticks per second fallback
The 25/1 value presumably came from the video encoder class.
2012-12-01 23:21:41 +00:00
Tim-Philipp Müller
819d4d2a04 avaudenc: fix output timestamping
We need to pass the number of samples encode in the output buffer
to gst_audio_encoder_finish_frame(), not the number of frames.
Fixes output timestamps being way too small, and transcoding
problems.

https://bugzilla.gnome.org/show_bug.cgi?id=689398
2012-12-01 23:05:23 +00:00
Sebastian Dröge
4132a73f0e avvidenc: Implement reset vfunc 2012-11-20 11:56:57 +01:00
Sebastian Dröge
d3f8c5f0cc avvidenc: Don't send any frames downstream when draining unless requested to do so 2012-11-20 11:53:52 +01:00
Sebastian Dröge
5ffd21f1ee avaudenc: Implement draining 2012-11-20 11:51:13 +01:00
Sebastian Dröge
e281493f29 avaudenc: Implement flush vfunc properly 2012-11-20 11:45:34 +01:00
Sebastian Dröge
9456fb86c7 avauddec: Port to non-deprecated avcodec_decode_audio4() API
Fixes bug #666435.
2012-11-20 11:40:10 +01:00
Sebastian Dröge
f4acd40767 avaudenc: Some minor cleanup 2012-11-20 10:55:55 +01:00
Sebastian Dröge
3ffbb6ff94 avaudenc: Use non-deprecated avcodec_encode_audio2() API
This also allows us to always get an output buffer of the required size
instead of risking that it is too small.
2012-11-20 10:53:01 +01:00
Sebastian Dröge
7a29cffc50 avaudenc: Port to audio encoder base class 2012-11-20 10:36:29 +01:00
Sebastian Dröge
970f40b935 avvidenc: Use gst_caps_truncate() 2012-11-20 10:35:01 +01:00
Sebastian Dröge
6895df72d6 av: Use PROP_ instead of ARG_ 2012-11-20 10:31:49 +01:00
Sebastian Dröge
0e13c75aea avcodecmap: Y41B is YUV411P, not YUV410P 2012-11-19 14:11:52 +01:00
Sebastian Dröge
ef408ada57 avauddec: Port to audio base classes 2012-11-19 14:11:52 +01:00
Sebastian Dröge
c784ec9fa5 av: Put declarations in header files and rename audio codec files 2012-11-19 10:30:37 +01:00
Tim-Philipp Müller
37ce97a6e0 gst_adapter_prev_timestamp -> gst_adapter_prev_pts 2012-11-14 12:45:56 +00:00
Sebastian Dröge
67e11c7ad9 avcodecmap: Add mappings for the GBR color formats 2012-11-10 22:23:23 +01:00
Tim-Philipp Müller
d0ef33d463 Fix FSF address 2012-11-04 00:22:16 +00:00
Sebastian Dröge
c9125dd6f0 avcodecmap: Remove redundant function to map PixelFormat to GstVideoFormat
And merge everything into a single one.
2012-10-29 14:12:03 +01:00
Sebastian Dröge
7eec659460 avdec: Use gst_audio_buffer_clip() instead of manual clipping 2012-10-25 14:07:21 +02:00
Tim-Philipp Müller
451a6c2ecf avvidenc: also skip non-video encoders
Doesn't actually make any difference at the moment, but
seems the right thing to do.

https://bugzilla.gnome.org/show_bug.cgi?id=685113
2012-09-30 16:25:29 +01:00
Alban Browaeys
f1071cc1b1 avviddec: exclude non-video decoders
Otherwise audio decoders "ignored", ie blacklisted, end up
registered by avviddec as video decoders.

https://bugzilla.gnome.org/show_bug.cgi?id=685113
2012-09-30 16:24:18 +01:00
Tim-Philipp Müller
07cec6d216 avdemux: fix not-negotiated errors
Drop caps event received on the sink pad, instead of
putting it in the list of cached events to be sent
downstream later. We don't want to send our container
caps downstream to our decoders, that'll give us
nasty not-negotiated errors.

https://bugzilla.gnome.org/show_bug.cgi?id=680464
2012-09-28 16:53:49 +01:00
Sebastian Dröge
f0d700d5ca avviddec: Correctly handle 0-sized buffers without crashing
Might e.g. be valid for Theora.
2012-09-27 12:20:30 +02:00
Tim-Philipp Müller
787bd57ea1 avviddec: don't try to set invalid latency
Avoids warnings when we don't know the latency.
2012-09-25 18:29:08 +01:00
Wim Taymans
aafffb7665 avviddec: improve debug 2012-09-14 13:25:03 +02:00
Nicolas Dufresne
3ca45b8c45 viddec: Set latency base on the number of bframes 2012-09-13 15:48:26 +02:00
Nicolas Dufresne
1f74496b8a viddec: Cleanup unused has_b_frames flag 2012-09-13 15:48:22 +02:00
Edward Hervey
0f9cc8dac6 libav: Switch to non-deprecated symbols
This symbols/enums will all be deprecated in the next releases
2012-09-13 15:23:26 +02:00
Stefan Sauer
70471f230f collectpads: remove gst_collect_pads_add_pad_full
Rename gst_collect_pads_add_pad_full() to gst_collect_pads_add_pad() and fix all
invocations.
2012-09-12 21:15:24 +02:00
Michael Smith
01bb84a5eb libav: add decode support for prores
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=683840
2012-09-12 10:29:24 +02:00
Mark Nauwelaerts
c5589bb8f9 avdemux: port to the new GLib thread API 2012-09-12 10:25:21 +02:00
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
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