Wim Taymans [Fri, 6 Jun 2014 14:52:28 +0000 (16:52 +0200)]
avcodecmap: place supported profiles in mpeg4 caps
Place the supported profiles in the srcpad caps of the mpeg4 encoder.
Wim Taymans [Fri, 6 Jun 2014 14:25:43 +0000 (16:25 +0200)]
avcodecmap: remove deprecated media types
Remove x-xvid and x-3ivx. The last place where they were used are
in the srcpad caps of the decoder but since the decoder will never
actually output those caps we can safely remove them.
Wim Taymans [Fri, 6 Jun 2014 14:19:07 +0000 (16:19 +0200)]
codecmap: don't expose more deprecated media types
x-xvid is deprecated, we don't want to expose it on the encoder, just
leave it only exposed on the decoder.
Wim Taymans [Fri, 6 Jun 2014 14:16:27 +0000 (16:16 +0200)]
Revert "avcodecmap: do more reverse mapping of MPEG4"
This reverts commit
e066785ad05f9119e3c1eded46260bcabd556b4d.
x-xvid and x-3ivx are removed, we don't want to expose them again.
Vincent Penquerc'h [Fri, 6 Jun 2014 11:40:57 +0000 (12:40 +0100)]
avaudenc: add a comment about using -1 in _finish_frame
See https://bugzilla.gnome.org/show_bug.cgi?id=729268
Vincent Penquerc'h [Wed, 30 Apr 2014 14:30:45 +0000 (15:30 +0100)]
avaudenc: avoid using wrong number of samples
If audio_in is NULL, we'll send a NULL frame to libav, to flush
the codec. In that case, we won't know how many samples the codec
will have used, so we use -1 (for don't know) when letting the
base class know about the buffer.
Coverity 1195177
Sebastian Dröge [Mon, 2 Jun 2014 07:27:17 +0000 (09:27 +0200)]
avvidenc: Fix indention and "bracketing" of goto labels
Should fix CID 1219865, which looks like the code analysis
algorithm was just confused.
Wim Taymans [Thu, 29 May 2014 16:24:20 +0000 (18:24 +0200)]
avcodecmap: handle simple and advanced-simple profile in MPEG4
Always enable 4MV flag for MPEG4
Pare the profile property and enable more features for advanced-simple
profile.
video/x-xvid is advanced-simple profile so enable more features.
We now also support encoding of video/x-xvid so add this to the caps.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=651320
Wim Taymans [Thu, 29 May 2014 16:16:42 +0000 (18:16 +0200)]
avvidenc: do all negotiation before opening the decoder
We first want to complete negotiation before opening the encoder.
Negotiation might configure flags and other things that might be needed
when opening the encoder.
Wim Taymans [Thu, 29 May 2014 15:00:23 +0000 (17:00 +0200)]
avcodecmap: do more reverse mapping of MPEG4
We previously mapped some caps to MPEG4 and codec_tag so we can use the
codec_tag again to map to the original caps.
Thiago Santos [Mon, 26 May 2014 19:04:50 +0000 (16:04 -0300)]
avdemux: use GstFlowCombiner
To remove replicated code from all demuxers to a single standard way
of aggregating flow returns
Thiago Santos [Mon, 26 May 2014 19:02:11 +0000 (16:02 -0300)]
avdemux: remove legacy check from pad-alloc times
The 'no_buffer' error case is from the 0.10 era when a pad_alloc was
made before decoding the data and avdemuxer could check again the
flow returns for a not-linked. This isn't a valid use case anymore in
1.0
Sebastian Dröge [Wed, 21 May 2014 11:23:36 +0000 (13:23 +0200)]
Back to development
Sebastian Dröge [Wed, 21 May 2014 11:06:36 +0000 (13:06 +0200)]
Release 1.3.2
Sebastian Dröge [Wed, 21 May 2014 08:53:31 +0000 (10:53 +0200)]
Automatic update of common submodule
From 211fa5f to 1f5d3c3
Gavin Hurlbut [Tue, 18 Mar 2014 05:26:52 +0000 (22:26 -0700)]
avvidenc: Add thread-count parameter for libav encoders
As some libav encoders (such as MPEG2) use a thread_count parameter to control
how many threads to use, and since it was always being set to 0 (which uses
the default), suboptimal threading can sometimes be chosen. This extends the
libav encoders to allow for a max-threads parameter which is passed into
the internal structure to control this knob if applicable to the encoder.
https://bugzilla.gnome.org/show_bug.cgi?id=726612
Mathieu Duponchelle [Tue, 13 May 2014 18:17:17 +0000 (20:17 +0200)]
gstavviddec: Sanitize and fix qos handling.
gst_video_decoder_get_max_decding_time doesn't return a GstClockTime
but a GstClockTimeDiff, and thus one needs to compare it against
G_MAXINT_64.
The returning of a boolean and the extra subsequent code in _video_frame
was uselessly complicated.
The previous behaviour led to artefacts when the decoder tried to
hurry up.
https://bugzilla.gnome.org/show_bug.cgi?id=730075
Sebastian Dröge [Wed, 14 May 2014 08:19:44 +0000 (10:19 +0200)]
Update to libav 10.1
Nicolas Dufresne [Thu, 27 Mar 2014 22:53:53 +0000 (18:53 -0400)]
videodec: Don't use non-growable pool
As we don't know how many output buffers we need to operate, we need to
avoid pool that can't grow. Otherwise the pipeline may stall, waiting
for buffers. For now, we require it to be able to grow to at least
32 buffers, which I think is a fair amount of buffers for decoders.
https://bugzilla.gnome.org/show_bug.cgi?id=726299
Sebastian Dröge [Sat, 3 May 2014 18:48:40 +0000 (20:48 +0200)]
Back to development
Sebastian Dröge [Sat, 3 May 2014 16:34:52 +0000 (18:34 +0200)]
Release 1.3.1
Sebastian Dröge [Sat, 3 May 2014 08:17:23 +0000 (10:17 +0200)]
Automatic update of common submodule
From bcb1518 to 211fa5f
Vincent Penquerc'h [Wed, 30 Apr 2014 15:14:50 +0000 (16:14 +0100)]
libav: avoid dividing by zero on insane fps/par
While there, fix mixup in num/den with par (copied from fps,
apparently, and fps inverts fps to time base).
Coverity 1139696
Vincent Penquerc'h [Wed, 30 Apr 2014 14:59:04 +0000 (15:59 +0100)]
avvidenc: guard against division by zero
and other nonsensical time base values while we're at it.
Coverity 1139699
Sebastian Dröge [Tue, 29 Apr 2014 07:13:44 +0000 (09:13 +0200)]
avaudenc: Fix leak of AVBufferRef
AVPacket contains AVBufferRef which may leak unless unreffed properly.
https://bugzilla.gnome.org/show_bug.cgi?id=726814
Stian Selnes [Fri, 21 Mar 2014 09:10:14 +0000 (10:10 +0100)]
avvidenc: Fix leak of AVBufferRef
AVPacket contains AVBufferRef which may leak unless unreffed properly.
https://bugzilla.gnome.org/show_bug.cgi?id=726814
Edward Hervey [Mon, 14 Apr 2014 11:37:02 +0000 (13:37 +0200)]
avaudenc: Fix compile without gst debug
We can just re-use the encoder variable
Edward Hervey [Tue, 8 Apr 2014 06:05:24 +0000 (08:05 +0200)]
avdemux: Remove unused variable
CID #1139943
Edward Hervey [Tue, 8 Apr 2014 06:00:55 +0000 (08:00 +0200)]
codecmap: Add missing break
CID #1139752
Sebastian Dröge [Sun, 6 Apr 2014 07:02:46 +0000 (09:02 +0200)]
avcodecmap: Add mapping for Apple Intermediate Codec
https://bugzilla.gnome.org/show_bug.cgi?id=727673
Sebastian Dröge [Sat, 29 Mar 2014 09:45:16 +0000 (10:45 +0100)]
Update to libav v10
Mark Nauwelaerts [Sat, 22 Mar 2014 16:10:24 +0000 (17:10 +0100)]
avvidenc: discard input frame upon encoding error
Christian Fredrik Kalager Schaller [Wed, 5 Mar 2014 16:40:13 +0000 (17:40 +0100)]
add docs directory to spec file
Sebastian Dröge [Fri, 28 Feb 2014 08:36:02 +0000 (09:36 +0100)]
Automatic update of common submodule
From fe1672e to bcb1518
Stefan Sauer [Thu, 27 Feb 2014 20:49:42 +0000 (21:49 +0100)]
docs: also reactivate make dist for the docs
Stefan Sauer [Wed, 26 Feb 2014 21:14:28 +0000 (22:14 +0100)]
Automatic update of common submodule
From 1a07da9 to fe1672e
Stefan Sauer [Wed, 26 Feb 2014 21:05:23 +0000 (22:05 +0100)]
docs: try to make the generated docs more useful
Generate the section.txt file. Update the -docs.sgml file with the new sections.
If we want to actually see the baseclasses, we should define them with a _get_type() function
and have the wrapped types subclass them.
Stefan Sauer [Wed, 26 Feb 2014 18:13:01 +0000 (19:13 +0100)]
docs: add the inspected data
Not even this file was previously in the repo.
Stefan Sauer [Wed, 26 Feb 2014 11:01:52 +0000 (12:01 +0100)]
docs: make the docs build again
They are still bad, but if we don't want to have them, we should rather remove this totally.
Stefan Sauer [Wed, 26 Feb 2014 10:52:07 +0000 (11:52 +0100)]
configure: add missing docs/plugins/Makefile
Stefan Sauer [Wed, 26 Feb 2014 10:40:08 +0000 (11:40 +0100)]
docs: install prebuilt plugin docs if gtk-doc is disabled
Sync to the Makefile.am from gst-plugin-base where it is done right.
Fixes #725034
Mark Nauwelaerts [Sun, 23 Feb 2014 10:40:14 +0000 (11:40 +0100)]
avvidenc: make all properties work again
... as previously broken due to additional compliance property
(see
13ffed87b1597fa60ccee293f71c3993ec59d1b2).
Mark Nauwelaerts [Sat, 22 Feb 2014 20:54:08 +0000 (21:54 +0100)]
avmux: stream-start and segment event before data-flow
Thijs Vermeir [Thu, 20 Feb 2014 19:39:29 +0000 (20:39 +0100)]
avviddec: rename hevc decoder element to h265 for consistency
We use h265 for the parser, typefinder, caps, etc. everywhere.
https://bugzilla.gnome.org/show_bug.cgi?id=724823
Tim-Philipp Müller [Fri, 21 Feb 2014 13:18:47 +0000 (13:18 +0000)]
avvidec: don't crash on EOS when no buffers have been received
Fixes crash on EOS when no buffers have been received for some
reason, e.g. because the parser didn't output any.
fakesrc num-buffers=0 format=time ! avdec_h264 ! fakesink
Sebastian Dröge [Fri, 21 Feb 2014 08:28:16 +0000 (09:28 +0100)]
libav: Update to v10 beta1
Thiago Santos [Thu, 20 Feb 2014 20:25:35 +0000 (17:25 -0300)]
avaudenc: fix audio encoder flushing according to libav docs
* @param[in] frame AVFrame containing the raw audio data to be encoded.
* May be NULL when flushing an encoder that has the
* CODEC_CAP_DELAY capability set.
The AVFrame itself should be null, not the frame.data pointer
https://bugzilla.gnome.org/show_bug.cgi?id=724536
Mark Nauwelaerts [Sun, 16 Feb 2014 14:58:15 +0000 (15:58 +0100)]
gst-libs: handle make dist for out-of-tree build
Dmitry Melnichenko [Tue, 4 Feb 2014 16:17:32 +0000 (18:17 +0200)]
avmux: Fix invalid address passing to av_opt_set_int()
https://bugzilla.gnome.org/show_bug.cgi?id=723615
Mark Nauwelaerts [Sat, 1 Feb 2014 13:40:24 +0000 (14:40 +0100)]
avvidenc: avoid busy-looping when flushing frames
... such as when receiving EOS event.
Edward Hervey [Thu, 30 Jan 2014 09:45:05 +0000 (10:45 +0100)]
Automatic update of common submodule
From d48bed3 to 1a07da9
Sjoerd Simons [Fri, 24 Jan 2014 20:58:35 +0000 (21:58 +0100)]
avdemux: Don't go into pull mode when the sequential flag is set
When the scheduling query results has GST_SCHEDULING_FLAG_SEQUENTIAL set
in its flags don't go into pull mode to prevent over-eager seeking.
https://bugzilla.gnome.org/show_bug.cgi?id=722935
Tim 'mithro' Ansell [Tue, 21 Jan 2014 11:58:42 +0000 (22:58 +1100)]
avmux: Force DV audio input format to 48kHz, 2 channels
libavformat only supports muxing 16bit, 48kHz stereo into DV containers.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=722672
Sebastian Dröge [Sun, 19 Jan 2014 09:33:01 +0000 (10:33 +0100)]
libav: Update to version 10_alpha2
Aleix Conchillo Flaqué [Fri, 17 Jan 2014 20:38:23 +0000 (12:38 -0800)]
avviddec: Add output-corrupt property
The output-corrupt property will set the CODEC_FLAG_OUTPUT_CORRUPT flag
in the codec context. The user can now decide whether libav outputs
corrupt frames or not.
Previous libav versions had this flag always set.
https://bugzilla.gnome.org/show_bug.cgi?id=722453
Sebastian Dröge [Thu, 16 Jan 2014 12:45:58 +0000 (13:45 +0100)]
avauddec: Mark frames as corrupted if libav tells us they are
This is currently only implemented by the h264 codec and no audio codec.
https://bugzilla.gnome.org/show_bug.cgi?id=722290
Sebastian Dröge [Thu, 16 Jan 2014 12:44:56 +0000 (13:44 +0100)]
avviddec: Mark frames as corrupted if libav tells us they are
This is currently only implemented by the h264 codec.
https://bugzilla.gnome.org/show_bug.cgi?id=722290
Vincent Penquerc'h [Wed, 15 Jan 2014 09:02:33 +0000 (09:02 +0000)]
gst-libav: fix context leaks
A AVCodecContext needs cleaning up before being freed.
Go through all of the allocations/setups to ensure none of them
can leak a context or its contents.
Wim Taymans [Mon, 13 Jan 2014 15:31:05 +0000 (16:31 +0100)]
avviddec: set output chroma-site
Use libav provided chroma-site and place it on the output caps.
Wim Taymans [Fri, 10 Jan 2014 16:18:53 +0000 (17:18 +0100)]
avviddec: release buffers when not direct rendering
New libav will not call the release_buffer callback anymore when
avcodec_default_get_buffer() is called from get_buffer. Releasing of the
memory in a picture should now be done by registering a callback to the
avbuffer objects in the picture. There is some compatibility code to
wrap the memory we provide in get_buffer in avbuffer with a callback to
release_buffer but that is not done when avcodec_default_get_buffer()
is called.
Work around this by adding a dummy avbuffer object to the picture that
will release the frame.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=721077
Sebastian Dröge [Fri, 10 Jan 2014 12:16:20 +0000 (13:16 +0100)]
avauddec: Give MP3 decoder a MARGINAL rank too
There's no reason why this decoder should not be autoplugged
Sebastian Dröge [Mon, 6 Jan 2014 12:36:39 +0000 (13:36 +0100)]
av: Enable HEVC / h265 support
Sebastian Dröge [Mon, 6 Jan 2014 12:02:07 +0000 (13:02 +0100)]
libav: Update to v10_alpha1 tag
Tim-Philipp Müller [Fri, 3 Jan 2014 15:58:26 +0000 (15:58 +0000)]
avcodecmap: fix regression with wmv3 video in WMVA format
The VC-1 decoder should handle that. Before avdec_wmv3 handled
it, but then we added format=WMV3 to its sink pad template
caps, at which point nothing handled WMVA any longer.
https://bugzilla.gnome.org/show_bug.cgi?id=697665
Sebastian Dröge [Fri, 3 Jan 2014 15:28:44 +0000 (16:28 +0100)]
av: Update for CodecID -> AVCodecID related changes
Sebastian Dröge [Fri, 3 Jan 2014 15:28:02 +0000 (16:28 +0100)]
avcfg: Update config parameters a bit to fix compilation
This needs a major rework and should use the new configuration
interface where useful.
Sebastian Dröge [Fri, 3 Jan 2014 15:27:34 +0000 (16:27 +0100)]
avenc: Stop using the removed inter_threshold field
Sebastian Dröge [Fri, 3 Jan 2014 15:27:11 +0000 (16:27 +0100)]
avviddec rebase
Sebastian Dröge [Fri, 3 Jan 2014 15:26:10 +0000 (16:26 +0100)]
avauddec: Stop using AVCODEC_MAX_AUDIO_FRAME_SIZE
And properly use the have_data variable. It's a boolean.
Sebastian Dröge [Fri, 3 Jan 2014 15:25:39 +0000 (16:25 +0100)]
avdemux: Stop using r_frame_rate field
It was removed and quite meaningless anyway.
Use the average framerate instead.
Sebastian Dröge [Fri, 3 Jan 2014 15:24:28 +0000 (16:24 +0100)]
avvidenc: Port to av_encode_video2()
av_encode_video() is deprecated and an ugly API anyway.
Sebastian Dröge [Fri, 3 Jan 2014 15:23:26 +0000 (16:23 +0100)]
libav: Update to libav master (libav 10 API)
Sebastian Dröge [Fri, 27 Dec 2013 11:06:28 +0000 (12:06 +0100)]
configure.ac: Remove warning when building against a system version of libav
Nowadays libav has proper releases and API/ABI guarantees.
We're not living in last decade.
Tim-Philipp Müller [Sun, 22 Dec 2013 22:35:12 +0000 (22:35 +0000)]
Automatic update of common submodule
From dbedaa0 to d48bed3
Todd Agulnick [Mon, 16 Dec 2013 05:17:26 +0000 (21:17 -0800)]
Some compiler warning fixes to satisfy XCode compiler
https://bugzilla.gnome.org/show_bug.cgi?id=720513
Mark Nauwelaerts [Sat, 7 Dec 2013 10:35:09 +0000 (11:35 +0100)]
avviddec: improve buffer handling and semantics
... so as to focus on providing *a* buffer rather than one (too) tied
to a frame, in particular allowing multiple allocations related to a frame.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=697806
Mark Nauwelaerts [Sat, 7 Dec 2013 11:10:13 +0000 (12:10 +0100)]
avvidenc: plug input_state leak
Sebastian Dröge [Thu, 5 Dec 2013 10:51:27 +0000 (11:51 +0100)]
avviddec: Use new gst_video_decoder_set_needs_format() API
Christian Fredrik Kalager Schaller [Tue, 3 Dec 2013 12:16:49 +0000 (13:16 +0100)]
Update spec file with latest changes
Mark Nauwelaerts [Mon, 2 Dec 2013 19:21:34 +0000 (20:21 +0100)]
avviddec: only use upstream framerate if really specified
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=704161
Mark Nauwelaerts [Tue, 26 Nov 2013 19:57:37 +0000 (20:57 +0100)]
avviddec: discard unused input frames
... to avoid these piling up in list of pending frames.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=693772
Mark Nauwelaerts [Tue, 26 Nov 2013 19:55:43 +0000 (20:55 +0100)]
avviddec: really release frame at proper time
... by also removing it from the pending list of frames,
where it may still be in if it has never been submitted to _finish.
This could happen if is a decode-only frame, or in skipped decoding
situation, ...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=693772
Tim-Philipp Müller [Tue, 5 Nov 2013 11:21:43 +0000 (11:21 +0000)]
Automatic update of common submodule
From 865aa20 to dbedaa0
Tim-Philipp Müller [Mon, 4 Nov 2013 23:20:17 +0000 (23:20 +0000)]
avaudec: don't put bogus 0 channel-mask on output caps for mono audio
Tim-Philipp Müller [Sat, 26 Oct 2013 08:34:30 +0000 (09:34 +0100)]
avaudenc: post better error message if experimental codecs don't work
https://bugzilla.gnome.org/show_bug.cgi?id=691617
Tim-Philipp Müller [Sat, 26 Oct 2013 08:09:28 +0000 (09:09 +0100)]
codecmap: use TRUE for boolean fields in caps
Sebastian Dröge [Tue, 15 Oct 2013 07:28:08 +0000 (09:28 +0200)]
libav: Update to v9.10
Greg Rutz [Mon, 14 Oct 2013 20:50:57 +0000 (14:50 -0600)]
avenc: Add compliance property
Add a new property to GstFFMpegVidEnc and GstFFMpegAudEnc to supply
the "strict compliance" value to AVCodecContext
https://bugzilla.gnome.org/show_bug.cgi?id=691617
Matthieu Bouron [Thu, 3 Oct 2013 14:25:30 +0000 (15:25 +0100)]
avcodecmap: Make avdec_mjpeg requires a parsed input
Actually avdec_mjpeg does not deal well with incomplete buffers and try
to decode incomplete frames. A parser which will also acts as
an accumulator needs to be inserted before it.
https://bugzilla.gnome.org/show_bug.cgi?id=709352
Sebastian Dröge [Wed, 2 Oct 2013 11:59:04 +0000 (13:59 +0200)]
avcodecmap: gst_value_can_intersect() does not do what you would think
Check for uniqueness differently now.
Sebastian Dröge [Wed, 2 Oct 2013 10:57:36 +0000 (12:57 +0200)]
avcodecmap: Only append values to the video/audio format lists if we don't have them already
Sebastian Dröge [Wed, 2 Oct 2013 10:52:35 +0000 (12:52 +0200)]
avviddec: Reset some more fields in ::stop()
Sebastian Dröge [Wed, 2 Oct 2013 10:51:40 +0000 (12:51 +0200)]
avviddec: Don't believe we're negotiated if negotiation failed
It can happen that negotiation fails during get_buffer(), but then
we don't retry later and never return NOT_NEGOTIATED upstream...
and instead run into assertions.
Sebastian Dröge [Wed, 2 Oct 2013 10:45:44 +0000 (12:45 +0200)]
avauddec: Don't believe we're negotiated if negotiation failed
It can happen that negotiation fails during get_buffer(), but then
we don't retry later and never return NOT_NEGOTIATED upstream...
and instead run into assertions.
https://bugzilla.gnome.org/show_bug.cgi?id=708769
Sebastian Dröge [Tue, 1 Oct 2013 20:38:32 +0000 (22:38 +0200)]
avenc: Choose 25 fps if we don't have any in the caps
Some encoders require a non-zero framerate to be configured properly
and just choosing something will make them not fail completely at
least.
https://bugzilla.gnome.org/show_bug.cgi?id=708732
Sebastian Dröge [Mon, 23 Sep 2013 13:19:51 +0000 (15:19 +0200)]
avcodecmap: Fix boolean expression to fix uninitialized usage of variables
Sebastian Dröge [Mon, 23 Sep 2013 13:08:18 +0000 (15:08 +0200)]
configure: Chose right target-os for iOS
Tim-Philipp Müller [Tue, 24 Sep 2013 17:34:20 +0000 (18:34 +0100)]
Automatic update of common submodule
From 6b03ba7 to 865aa20
Sebastian Dröge [Tue, 24 Sep 2013 13:06:03 +0000 (15:06 +0200)]
configure: Actually use 1.3.0.1 as version to make configure happy
Sebastian Dröge [Tue, 24 Sep 2013 13:00:34 +0000 (15:00 +0200)]
Back to development