platform/upstream/gst-libav.git
11 years agoav: Update for some constant changes
Sebastian Dröge [Tue, 4 Dec 2012 16:56:40 +0000 (17:56 +0100)]
av: Update for some constant changes

11 years agoav: Port to new avio protocol handler
Sebastian Dröge [Tue, 4 Dec 2012 16:47:20 +0000 (17:47 +0100)]
av: Port to new avio protocol handler

11 years agoav: update to use AVOption variants.
Luca Barbato [Mon, 19 Nov 2012 14:25:42 +0000 (15:25 +0100)]
av: update to use AVOption variants.

11 years agolibav: Switch to master (9)
Sebastian Dröge [Tue, 4 Dec 2012 16:19:11 +0000 (17:19 +0100)]
libav: Switch to master (9)

11 years agoavaudenc: log error string as well in debug output
Tim-Philipp Müller [Sun, 2 Dec 2012 12:31:43 +0000 (12:31 +0000)]
avaudenc: log error string as well in debug output

11 years agoavaudenc: use sample rate as ticks per second fallback
Tim-Philipp Müller [Sat, 1 Dec 2012 23:21:41 +0000 (23:21 +0000)]
avaudenc: use sample rate as ticks per second fallback

The 25/1 value presumably came from the video encoder class.

11 years agoavaudenc: fix output timestamping
Tim-Philipp Müller [Sat, 1 Dec 2012 23:05:23 +0000 (23:05 +0000)]
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

11 years agoavvidenc: Implement reset vfunc
Sebastian Dröge [Tue, 20 Nov 2012 10:56:57 +0000 (11:56 +0100)]
avvidenc: Implement reset vfunc

11 years agoavvidenc: Don't send any frames downstream when draining unless requested to do so
Sebastian Dröge [Tue, 20 Nov 2012 10:53:52 +0000 (11:53 +0100)]
avvidenc: Don't send any frames downstream when draining unless requested to do so

11 years agoavaudenc: Implement draining
Sebastian Dröge [Tue, 20 Nov 2012 10:51:13 +0000 (11:51 +0100)]
avaudenc: Implement draining

11 years agoavaudenc: Implement flush vfunc properly
Sebastian Dröge [Tue, 20 Nov 2012 10:45:34 +0000 (11:45 +0100)]
avaudenc: Implement flush vfunc properly

11 years agoavauddec: Port to non-deprecated avcodec_decode_audio4() API
Sebastian Dröge [Tue, 20 Nov 2012 10:39:45 +0000 (11:39 +0100)]
avauddec: Port to non-deprecated avcodec_decode_audio4() API

Fixes bug #666435.

11 years agoavaudenc: Some minor cleanup
Sebastian Dröge [Tue, 20 Nov 2012 09:55:55 +0000 (10:55 +0100)]
avaudenc: Some minor cleanup

11 years agoavaudenc: Use non-deprecated avcodec_encode_audio2() API
Sebastian Dröge [Tue, 20 Nov 2012 09:53:01 +0000 (10:53 +0100)]
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.

11 years agoavaudenc: Port to audio encoder base class
Sebastian Dröge [Tue, 20 Nov 2012 09:36:29 +0000 (10:36 +0100)]
avaudenc: Port to audio encoder base class

11 years agoavvidenc: Use gst_caps_truncate()
Sebastian Dröge [Tue, 20 Nov 2012 09:35:01 +0000 (10:35 +0100)]
avvidenc: Use gst_caps_truncate()

11 years agoav: Use PROP_ instead of ARG_
Sebastian Dröge [Mon, 19 Nov 2012 16:08:23 +0000 (17:08 +0100)]
av: Use PROP_ instead of ARG_

11 years agoavcodecmap: Y41B is YUV411P, not YUV410P
Sebastian Dröge [Mon, 19 Nov 2012 13:10:23 +0000 (14:10 +0100)]
avcodecmap: Y41B is YUV411P, not YUV410P

11 years agoavauddec: Port to audio base classes
Sebastian Dröge [Mon, 19 Nov 2012 11:57:19 +0000 (12:57 +0100)]
avauddec: Port to audio base classes

11 years agoAutomatic update of common submodule
Tim-Philipp Müller [Mon, 19 Nov 2012 11:29:22 +0000 (11:29 +0000)]
Automatic update of common submodule

From 6bb6951 to a72faea

11 years agoav: Put declarations in header files and rename audio codec files
Sebastian Dröge [Mon, 19 Nov 2012 09:29:00 +0000 (10:29 +0100)]
av: Put declarations in header files and rename audio codec files

11 years agogst_adapter_prev_timestamp -> gst_adapter_prev_pts
Tim-Philipp Müller [Wed, 14 Nov 2012 12:43:51 +0000 (12:43 +0000)]
gst_adapter_prev_timestamp -> gst_adapter_prev_pts

11 years agoavcodecmap: Add mappings for the GBR color formats
Sebastian Dröge [Sat, 10 Nov 2012 15:57:06 +0000 (16:57 +0100)]
avcodecmap: Add mappings for the GBR color formats

12 years agoFix FSF address
Tim-Philipp Müller [Sun, 4 Nov 2012 00:22:16 +0000 (00:22 +0000)]
Fix FSF address

12 years agoavcodecmap: Remove redundant function to map PixelFormat to GstVideoFormat
Sebastian Dröge [Mon, 29 Oct 2012 13:12:03 +0000 (14:12 +0100)]
avcodecmap: Remove redundant function to map PixelFormat to GstVideoFormat

And merge everything into a single one.

12 years agoavdec: Use gst_audio_buffer_clip() instead of manual clipping
Sebastian Dröge [Thu, 25 Oct 2012 11:11:43 +0000 (13:11 +0200)]
avdec: Use gst_audio_buffer_clip() instead of manual clipping

12 years agoBack to feature development
Tim-Philipp Müller [Thu, 25 Oct 2012 11:51:41 +0000 (12:51 +0100)]
Back to feature development

12 years agoRelease 1.0.2 1.0.2
Tim-Philipp Müller [Thu, 25 Oct 2012 00:34:32 +0000 (01:34 +0100)]
Release 1.0.2

12 years agolibav: Update to 0.8.4 release
Sebastian Dröge [Wed, 24 Oct 2012 14:01:36 +0000 (16:01 +0200)]
libav: Update to 0.8.4 release

12 years agoconfigure: fix os type configure option for android
Andoni Morales Alastruey [Tue, 23 Oct 2012 08:21:52 +0000 (10:21 +0200)]
configure: fix os type configure option for android

12 years agoBack to development (bug fixing)
Tim-Philipp Müller [Sun, 7 Oct 2012 16:00:08 +0000 (17:00 +0100)]
Back to development (bug fixing)

12 years agoRelease 1.0.1 1.0.1
Tim-Philipp Müller [Sun, 7 Oct 2012 15:12:38 +0000 (16:12 +0100)]
Release 1.0.1

12 years agoAutomatic update of common submodule
Tim-Philipp Müller [Sat, 6 Oct 2012 14:00:42 +0000 (15:00 +0100)]
Automatic update of common submodule

From 6c0b52c to 6bb6951

12 years agoavvidenc: also skip non-video encoders
Tim-Philipp Müller [Sun, 30 Sep 2012 15:25:29 +0000 (16:25 +0100)]
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

12 years agoavviddec: exclude non-video decoders
Alban Browaeys [Sat, 29 Sep 2012 23:27:10 +0000 (01:27 +0200)]
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

12 years agoavdemux: fix not-negotiated errors
Tim-Philipp Müller [Fri, 28 Sep 2012 15:53:49 +0000 (16:53 +0100)]
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

12 years agoavviddec: Correctly handle 0-sized buffers without crashing
Sebastian Dröge [Thu, 27 Sep 2012 10:20:30 +0000 (12:20 +0200)]
avviddec: Correctly handle 0-sized buffers without crashing

Might e.g. be valid for Theora.

12 years agoavviddec: don't try to set invalid latency
Tim-Philipp Müller [Tue, 25 Sep 2012 17:29:08 +0000 (18:29 +0100)]
avviddec: don't try to set invalid latency

Avoids warnings when we don't know the latency.

12 years agoBack to development (bug fixing)
Tim-Philipp Müller [Mon, 24 Sep 2012 16:01:00 +0000 (17:01 +0100)]
Back to development (bug fixing)

12 years agoRelease 1.0.0 1.0.0
Tim-Philipp Müller [Mon, 24 Sep 2012 13:53:57 +0000 (14:53 +0100)]
Release 1.0.0

12 years agotests: skip broken tests
Tim-Philipp Müller [Sun, 23 Sep 2012 20:14:03 +0000 (21:14 +0100)]
tests: skip broken tests

12 years agoAutomatic update of common submodule
Tim-Philipp Müller [Sat, 22 Sep 2012 15:10:07 +0000 (16:10 +0100)]
Automatic update of common submodule

From 4f962f7 to 6c0b52c

12 years agoRelease 0.11.99 RELEASE-0.11.99
Tim-Philipp Müller [Mon, 17 Sep 2012 17:05:23 +0000 (18:05 +0100)]
Release 0.11.99

12 years agoRemove -DGST_USE_UNSTABLE_API
Tim-Philipp Müller [Mon, 17 Sep 2012 16:53:29 +0000 (17:53 +0100)]
Remove -DGST_USE_UNSTABLE_API

12 years agoavviddec: improve debug
Wim Taymans [Fri, 14 Sep 2012 11:24:37 +0000 (13:24 +0200)]
avviddec: improve debug

12 years agoBack to development
Tim-Philipp Müller [Fri, 14 Sep 2012 01:59:37 +0000 (02:59 +0100)]
Back to development

12 years agoRelease 0.11.94 RELEASE-0.11.94
Tim-Philipp Müller [Fri, 14 Sep 2012 01:51:13 +0000 (02:51 +0100)]
Release 0.11.94

12 years agoviddec: Set latency base on the number of bframes
Nicolas Dufresne [Thu, 13 Sep 2012 13:36:14 +0000 (09:36 -0400)]
viddec: Set latency base on the number of bframes

12 years agoviddec: Cleanup unused has_b_frames flag
Nicolas Dufresne [Thu, 13 Sep 2012 13:34:29 +0000 (09:34 -0400)]
viddec: Cleanup unused has_b_frames flag

12 years agolibav: Switch to non-deprecated symbols
Edward Hervey [Wed, 12 Sep 2012 13:30:05 +0000 (15:30 +0200)]
libav: Switch to non-deprecated symbols

This symbols/enums will all be deprecated in the next releases

12 years agocollectpads: remove gst_collect_pads_add_pad_full
Stefan Sauer [Wed, 12 Sep 2012 19:15:24 +0000 (21:15 +0200)]
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.

12 years agolibav: add decode support for prores
Michael Smith [Wed, 12 Sep 2012 08:25:24 +0000 (10:25 +0200)]
libav: add decode support for prores

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=683840

12 years agoavdemux: port to the new GLib thread API
Mark Nauwelaerts [Wed, 12 Sep 2012 08:25:21 +0000 (10:25 +0200)]
avdemux: port to the new GLib thread API

12 years agoconfigure.ac: handle out-of-tree build
Mark Nauwelaerts [Tue, 11 Sep 2012 18:40:07 +0000 (20:40 +0200)]
configure.ac: handle out-of-tree build

In file included from <gst-ffmpeg>/gst-libs/ext/libav/libavutil/avutil.h:318:0,
                 from <gst-ffmpeg>/gst-libs/ext/libav/libswscale/swscale.h:30,
                 from <gst-ffmpeg>/ext/libswscale/gstffmpegscale.c:26:
<gst-ffmpeg>/gst-libs/ext/libav/libavutil/common.h:38:32: fatal error: libavutil/avconfig.h: No such file or directory
compilation terminated.

12 years agoavdemux: only activate in pull mode if upstream is seekable
Mark Nauwelaerts [Tue, 11 Sep 2012 15:52:57 +0000 (17:52 +0200)]
avdemux: only activate in pull mode if upstream is seekable

12 years agoconfigure: actually check for orc
Tim-Philipp Müller [Tue, 11 Sep 2012 12:27:55 +0000 (13:27 +0100)]
configure: actually check for orc

Otherwise we get a scary "orc acceleration disabled, orc
not found or too old" message at the end of the configure
output. It's used by libswscale.

12 years agoavviddec: add support for codecs that use reget_buffer
Wim Taymans [Tue, 11 Sep 2012 11:53:23 +0000 (13:53 +0200)]
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.

12 years agoext: ffmpeg/gstffmpeg*.[ch] => libav/gstav*.[ch]
Edward Hervey [Mon, 10 Sep 2012 15:53:54 +0000 (17:53 +0200)]
ext: ffmpeg/gstffmpeg*.[ch] => libav/gstav*.[ch]

12 years agoconfigure: Fix name of binary to disable
Edward Hervey [Mon, 10 Sep 2012 15:29:35 +0000 (17:29 +0200)]
configure: Fix name of binary to disable

12 years agoremove postproc element
Edward Hervey [Mon, 10 Sep 2012 15:18:30 +0000 (17:18 +0200)]
remove postproc element

libpostproc is gone from upstream libav.

12 years agoconfigure.ac: Import top-level include directory
Edward Hervey [Mon, 10 Sep 2012 15:08:00 +0000 (17:08 +0200)]
configure.ac: Import top-level include directory

And fixup all includes

12 years agoavdemux: Really ignore demuxers we want to ignore
Edward Hervey [Mon, 10 Sep 2012 09:17:11 +0000 (11:17 +0200)]
avdemux: Really ignore demuxers we want to ignore

12 years agoviddec: blacklist *crystalhd* decoder wrappers
Tim-Philipp Müller [Fri, 7 Sep 2012 16:56:43 +0000 (17:56 +0100)]
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

12 years agoffmpegenc: Don't try to set caps to NULL
Sjoerd Simons [Sun, 26 Aug 2012 16:17:17 +0000 (18:17 +0200)]
ffmpegenc: Don't try to set caps to NULL

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=682736

12 years agoAutomatic update of common submodule
Stefan Sauer [Wed, 22 Aug 2012 11:31:46 +0000 (13:31 +0200)]
Automatic update of common submodule

From 668acee to 4f962f7

12 years agoconfigure: bump gtk-doc req to 1.12 (mar-2009)
Stefan Sauer [Wed, 22 Aug 2012 11:20:36 +0000 (13:20 +0200)]
configure: bump gtk-doc req to 1.12 (mar-2009)

This allows us to e.g. unconditionally use gtkdoc-rebase.

12 years agoviddec: use the right pointers
Wim Taymans [Fri, 10 Aug 2012 15:03:26 +0000 (17:03 +0200)]
viddec: use the right pointers

Use the plane pointers and strides.
Improve some debug

12 years agoBack to development
Tim-Philipp Müller [Wed, 8 Aug 2012 15:32:52 +0000 (16:32 +0100)]
Back to development

12 years agoRelease 0.11.93 RELEASE-0.11.93
Tim-Philipp Müller [Wed, 8 Aug 2012 15:32:16 +0000 (16:32 +0100)]
Release 0.11.93

12 years agoavviddec: Properly align and pad buffers for libav
Sebastian Dröge [Wed, 8 Aug 2012 13:59:59 +0000 (15:59 +0200)]
avviddec: Properly align and pad buffers for libav

https://bugzilla.gnome.org/show_bug.cgi?id=680796

12 years agoRevert "ffmpeg: Fix make dist"
Tim-Philipp Müller [Wed, 8 Aug 2012 12:11:57 +0000 (13:11 +0100)]
Revert "ffmpeg: Fix make dist"

This reverts commit 4964bd753c06dfbf252dff3f520d74e91951ee08.

No idea what this fixes, for me it breaks make dist, which fails
with:

make[2]: Entering directory `/home/tpm/gst/0.11/gst-ffmpeg/gst-libs/ext'
GIT_DIR=libav/.git git checkout-index --prefix=../libav-dist/libav/ -a
touch libav-dist/libav/config.mak
touch: cannot touch `libav-dist/libav/config.mak': No such file or directory

after a clean build.

12 years agoav: Use */x-gst-av instead of */x-gst-ff for unknown caps
Sebastian Dröge [Tue, 7 Aug 2012 08:19:16 +0000 (10:19 +0200)]
av: Use */x-gst-av instead of */x-gst-ff for unknown caps

12 years agoavdemux: Remove unused variable
Sebastian Dröge [Mon, 6 Aug 2012 12:35:07 +0000 (14:35 +0200)]
avdemux: Remove unused variable

12 years agoavdemux: Add stream-id to stream-start events
Sebastian Dröge [Sun, 5 Aug 2012 16:33:27 +0000 (18:33 +0200)]
avdemux: Add stream-id to stream-start events

12 years agoffmpegviddec: Return NOT_NEGOTIATED when not configured
Edward Hervey [Thu, 26 Jul 2012 10:37:01 +0000 (12:37 +0200)]
ffmpegviddec: Return NOT_NEGOTIATED when not configured

12 years agoAutomatic update of common submodule
Tim-Philipp Müller [Sun, 5 Aug 2012 15:42:26 +0000 (16:42 +0100)]
Automatic update of common submodule

From 94ccf4c to 668acee

12 years agoUpdate .gitignore for ff->av
Tim-Philipp Müller [Sat, 4 Aug 2012 15:19:37 +0000 (16:19 +0100)]
Update .gitignore for ff->av

12 years agogst_tag_list_free -> gst_tag_list_unref
Tim-Philipp Müller [Sat, 4 Aug 2012 15:17:14 +0000 (16:17 +0100)]
gst_tag_list_free -> gst_tag_list_unref

12 years agoAdd spec changelog entry
Christian Fredrik Kalager Schaller [Fri, 3 Aug 2012 11:38:22 +0000 (13:38 +0200)]
Add spec changelog entry

12 years agoUpdate spec file and change package name to libav in autogen.sh file
Christian Fredrik Kalager Schaller [Fri, 3 Aug 2012 11:37:45 +0000 (13:37 +0200)]
Update spec file and change package name to libav in autogen.sh file

12 years agotag: Update for taglist/tag event API changes
Sebastian Dröge [Fri, 27 Jul 2012 22:33:51 +0000 (00:33 +0200)]
tag: Update for taglist/tag event API changes

12 years agoavdec: require alignment=au for h264
Wim Taymans [Wed, 25 Jul 2012 09:55:21 +0000 (11:55 +0200)]
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

12 years agoaudio encoders: use context default bitrate if no bitrate has been set
Tim-Philipp Müller [Mon, 23 Jul 2012 22:29:26 +0000 (23:29 +0100)]
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

12 years agoffmpeg: avoid assertion failure on duplicate frame allocation
Mark Nauwelaerts [Mon, 23 Jul 2012 13:02:11 +0000 (15:02 +0200)]
ffmpeg: avoid assertion failure on duplicate frame allocation

12 years agoffmpegviddec: Correctly flag interlaced state
Robert Swain [Mon, 23 Jul 2012 09:37:57 +0000 (11:37 +0200)]
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.

12 years agoffvidenc: Allocate output buffers with the base class functions
Sebastian Dröge [Mon, 23 Jul 2012 08:40:14 +0000 (10:40 +0200)]
ffvidenc: Allocate output buffers with the base class functions

12 years agoffmpegviddec: Update for video base classes API changes
Sebastian Dröge [Mon, 23 Jul 2012 08:34:23 +0000 (10:34 +0200)]
ffmpegviddec: Update for video base classes API changes

12 years agoAutomatic update of common submodule
Sebastian Dröge [Mon, 23 Jul 2012 06:47:21 +0000 (08:47 +0200)]
Automatic update of common submodule

From 98e386f to 94ccf4c

12 years agoviddec: Call gst_video_decoder_negotiate()
Edward Hervey [Wed, 18 Jul 2012 16:30:53 +0000 (18:30 +0200)]
viddec: Call gst_video_decoder_negotiate()

12 years agoavdeinterlace: fix up output caps for new field as well
Tim-Philipp Müller [Tue, 17 Jul 2012 11:33:16 +0000 (12:33 +0100)]
avdeinterlace: fix up output caps for new field as well

And presumably our output is always progressive and not
interlaced any more?

12 years agoavdeinterlace: detect interlaced input properly
Tim-Philipp Müller [Tue, 17 Jul 2012 11:31:52 +0000 (12:31 +0100)]
avdeinterlace: detect interlaced input properly

It's not a boolean field any more, and called "interlaced-mode" now.

12 years agodemux: Push STREAM_START when needed
Edward Hervey [Fri, 13 Jul 2012 12:01:44 +0000 (14:01 +0200)]
demux: Push STREAM_START when needed

12 years agoavdec: ignore AAC errors instead of erroring out
Wim Taymans [Tue, 10 Jul 2012 14:10:14 +0000 (16:10 +0200)]
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

12 years agoavcodecmap: only restrict caps on encoders
Wim Taymans [Tue, 10 Jul 2012 13:47:01 +0000 (15:47 +0200)]
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.

12 years agoupdate for query api changes
Wim Taymans [Fri, 6 Jul 2012 09:50:57 +0000 (11:50 +0200)]
update for query api changes

12 years agoupdate for query api changes
Wim Taymans [Fri, 6 Jul 2012 09:27:33 +0000 (11:27 +0200)]
update for query api changes

12 years agoupdate for allocation query changes
Wim Taymans [Fri, 6 Jul 2012 09:03:30 +0000 (11:03 +0200)]
update for allocation query changes

12 years agocfg: remove some deprecated properties: statsfile, mb-qmin, mb-qmax
Tim-Philipp Müller [Fri, 6 Jul 2012 08:49:11 +0000 (09:49 +0100)]
cfg: remove some deprecated properties: statsfile, mb-qmin, mb-qmax

Use multipass-cache-file, qmin, qmax instead.

12 years agoavdemux: Implement segment-done event
Sebastian Dröge [Thu, 5 Jul 2012 11:20:56 +0000 (13:20 +0200)]
avdemux: Implement segment-done event

12 years agoavdec: handle_frame should always unref the input frame
Wim Taymans [Tue, 3 Jul 2012 15:05:17 +0000 (17:05 +0200)]
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.