Commit graph

12016 commits

Author SHA1 Message Date
Sebastian Dröge
ee295d3fd5 vp8enc: Correctly finish frames
Previously we would always get the same frame if multiple frames are pending,
leaking memory of the previous frames and breaking timestamps.
2012-09-17 09:48:56 +02:00
Sebastian Dröge
3e86ea8fb5 vp8enc: Allow changing bitrate and other parameters during playback
Fixes bug #648276.
2012-09-17 09:40:41 +02:00
Sebastian Dröge
4815036708 vp8enc: Store configuration in the vpx_codec_enc_cfg_t struct instead of duplicating all variables
Also protect encoder with a mutex.
2012-09-17 09:29:26 +02:00
Sebastian Dröge
8ed85c7538 vp8enc: Update documentation to reflect new property names
...and also link to the WebM encoder parameters website.
2012-09-16 16:03:06 +02:00
Sebastian Dröge
acd0824cf6 vp8enc: Make some property names more readable 2012-09-16 15:58:51 +02:00
Sebastian Dröge
198a5fd19c vp8: Add tests to .gitignore 2012-09-16 15:47:16 +02:00
Sebastian Dröge
e6dbdffbfe vp8enc: Update patch to the new property names 2012-09-16 15:46:31 +02:00
Sebastian Dröge
b0459448b7 vpx: Integrate test into the build system too 2012-09-16 15:46:22 +02:00
Wim Taymans
8337fcfe99 [MOVED FROM BAD 6/6] tests: fix more unit tests 2012-09-16 15:44:00 +02:00
René Stadler
caa34f7bf7 [MOVED FROM BAD 5/6] tests: update for gstcheck API change 2012-09-16 15:44:00 +02:00
Sebastian Dröge
92eae76bdb [MOVED FROM BAD 4/6] vp8dec: Add simple unit test for vp8dec 2012-09-16 15:44:00 +02:00
Sebastian Dröge
b072086ec0 [MOVED FROM BAD 3/6] vp8enc: Improve unit test a bit 2012-09-16 15:44:00 +02:00
Sebastian Dröge
d983342dbd [MOVED FROM BAD 2/6] vp8enc: Also check the output caps in the unit test 2012-09-16 15:44:00 +02:00
Sebastian Dröge
63e28498c4 [MOVED FROM BAD 1/6] vp8enc: Add simple unit test 2012-09-16 15:44:00 +02:00
Sebastian Dröge
d4eaa932e5 vpx: Integrate into the build system 2012-09-16 15:43:39 +02:00
Sebastian Dröge
2a4e3d2110 vpx: Rename vp8 plugin to vpx
This is using libvpx, which can support more codecs than just VP8
and will likely support future codecs.
2012-09-16 15:33:57 +02:00
Sebastian Dröge
eed915b05e vp8: Apply remaining changes that got lost while moving the plugin via git am thanks to merges 2012-09-16 15:32:24 +02:00
Sebastian Dröge
c4e0aff12b [MOVED FROM BAD 134/134] vp8dec: Unref input/output states when stopping the decoder 2012-09-16 15:32:04 +02:00
Sebastian Dröge
9c0ff2f381 [MOVED FROM BAD 133/134] vp8enc: Update realtime profile to the new properties 2012-09-16 15:32:04 +02:00
Sebastian Dröge
b9ba9a28da [MOVED FROM BAD 132/134] vp8: Require latest libvpx release (1.1.0 from May 2012)
Fixes bug #684116 and simplifies configure checks.
2012-09-16 15:32:04 +02:00
Sebastian Dröge
711ae3c94b [MOVED FROM BAD 131/134] vp8enc: Use a string field for the profile in the caps
Just for consistency with all the other codecs.
2012-09-16 15:32:04 +02:00
Sebastian Dröge
1639d1e150 [MOVED FROM BAD 130/134] vp8enc: Correctly set profile in caps 2012-09-16 15:31:57 +02:00
Sebastian Dröge
35520df7c0 [MOVED FROM BAD 129/134] vp8: Update copyright and authors 2012-09-16 15:31:57 +02:00
Sebastian Dröge
392bd12a45 [MOVED FROM BAD 128/134] vp8enc: Rework encoder properties to be more in line with the libvpx tools and API
Also add all available properties.
2012-09-16 15:31:57 +02:00
Mark Nauwelaerts
c70dc304f4 [MOVED FROM BAD 127/134] replace gst_element_class_set_details_simple with gst_element_class_set_metadata 2012-09-16 15:31:48 +02:00
Edward Hervey
210742d934 [MOVED FROM BAD 126/134] vp8dec: Call gst_video_decoder_negotiate() 2012-09-16 15:31:38 +02:00
Sebastian Dröge
d61c1e9e02 [MOVED FROM BAD 125/134] vp8dec: Add support for multiple decoding threads 2012-09-16 15:31:38 +02:00
Sebastian Dröge
59d906b6c3 [MOVED FROM BAD 124/134] vp8dec: Add support for the MFQE postprocessing flag
Which is enabled by default if postprocessing is enabled.
2012-09-16 15:31:27 +02:00
Sebastian Dröge
58e8efb6f7 [MOVED FROM BAD 123/134] vp8: Use pkg-config file for getting the LIBS and CFLAGS 2012-09-16 15:31:27 +02:00
Sebastian Dröge
26f1269486 [MOVED FROM BAD 122/134] vp8enc: Update the per-component strides for every frame too
This is necessary because of GstVideoAlignment
2012-09-16 15:31:10 +02:00
Oleksij Rempel
4cb020932c [MOVED FROM BAD 121/134] vp8enc: initiate encoder to fix a crash.
Without this patch vp8enc send header before and after first
key frame. On second keyframe vp8dec will crash without getting
decoded frame. With this pipe it is easy to reproduce this issue:
gst-launch-1.0 videotestsrc ! vp8enc ! vp8dec ! fakesink

https://bugzilla.gnome.org/show_bug.cgi?id=680667
2012-09-16 15:31:10 +02:00
Sebastian Dröge
16db1b677a [MOVED FROM BAD 120/134] tag: Update for taglist/tag event API changes 2012-09-16 15:31:10 +02:00
Sebastian Dröge
1fdf044acf [MOVED FROM BAD 119/134] ext: Update for video base classes API changes 2012-09-16 15:31:10 +02:00
Oleksij Rempel
2d7cbc8113 [MOVED FROM BAD 118/134] vp8enc: fix memory leak
unref frame. i hope it is correct place to do it.

Signed-off-by: Oleksij Rempel <bug-track@fisher-privat.net>
2012-09-16 15:31:10 +02:00
Wim Taymans
c45fcd0f01 [MOVED FROM BAD 117/134] update for query api changes 2012-09-16 15:31:10 +02:00
Wim Taymans
365557edc1 [MOVED FROM BAD 116/134] update for query api changes 2012-09-16 15:31:10 +02:00
Wim Taymans
af3ddea42d [MOVED FROM BAD 115/134] update for allocation query changes 2012-09-16 15:31:10 +02:00
Vincent Penquerc'h
c76f4fe3ef [MOVED FROM BAD 114/134] vp8: fix codec state leaks
I only tested that vp8enc ! vp8dec does not crash, as valgrind does not grok
at least one of the instructions used by vp8enc, preventing me from checking
a leak, and the lack of one after the patch.
2012-09-16 15:31:10 +02:00
Wim Taymans
e644f68e26 [MOVED FROM BAD 113/134] update for tag event change 2012-09-16 15:31:10 +02:00
Sebastian Dröge
dcb3fc514e [MOVED FROM BAD 112/134] vp8: Port to 0.11 again 2012-09-16 15:31:10 +02:00
Vincent Penquerc'h
01b86b6b2a [MOVED FROM BAD 111/134] vp8enc: fix target bitrate config with libvpx 1.1.0
libvpx 1.1.0 disallows a bitrate of 0, which was used by
vp8enc as a default value.

Instead, we use the default libvpx bitrate, scaled to our
video size, if no bitrate was specified.

This fixes encoding VP8 video with libvpx 1.1.0.

https://bugzilla.gnome.org/show_bug.cgi?id=676245
2012-09-16 15:30:22 +02:00
Sebastian Dröge
fd598a8e3d [MOVED FROM BAD 110/134] vp8enc: Update for GstVideoCodecFrame API changes 2012-09-16 15:30:22 +02:00
Thiago Santos
1f65326f67 [MOVED FROM BAD 109/134] vp8dec: Improve output_state handling
Avoid getting output_state for every buffer as that requires
getting the objectlock and doing reference counting. Store it locally
when it is created and use it.
2012-09-16 15:30:22 +02:00
Thiago Santos
4484130cbf [MOVED FROM BAD 108/134] vp8dec: Use outputstate when copying output buffer data
Using the input state was causing a crash because the strides/offsets
would be wrong. Fix it by using the output as we are dealing with
the decoded frame.
2012-09-16 15:30:05 +02:00
Edward Hervey
74aa2e7c6a [MOVED FROM BAD 107/134] vp8: Port to -base video base classes
Conflicts:

	ext/vp8/Makefile.am
	ext/vp8/gstvp8dec.c
	ext/vp8/gstvp8enc.c

Back to 0.10 state for now, need to be ported again.
2012-09-16 15:29:52 +02:00
Vincent Penquerc'h
dccf3dc0b6 [MOVED FROM BAD 106/134] vp8enc: fix target bitrate config with libvpx 1.1.0
libvpx 1.1.0 disallows a bitrate of 0, which was used by
vp8enc as a default value.

Instead, we use the default libvpx bitrate, scaled to our
video size, if no bitrate was specified.

This fixes encoding VP8 video with libvpx 1.1.0.

https://bugzilla.gnome.org/show_bug.cgi?id=676245
2012-09-16 15:28:18 +02:00
Sebastian Dröge
4fa72a5c23 [MOVED FROM BAD 105/134] gst: Update for GST_PLUGIN_DEFINE() API changes 2012-09-16 15:28:18 +02:00
Sebastian Dröge
9894fc2abe [MOVED FROM BAD 104/134] gst: Update versioning 2012-09-16 15:28:18 +02:00
Sebastian Dröge
3cfb400de1 [MOVED FROM BAD 103/134] vp8enc: Fix 'argument to 'sizeof' in 'memset' call is the same expression as the destination' compiler warning 2012-09-16 15:28:18 +02:00
Wim Taymans
0eeb65f989 [MOVED FROM BAD 102/134] update for HEADER flag 2012-09-16 15:28:18 +02:00