Wim Taymans
ec48b24291
dec: scale the estimated duration by number of frames
...
When estimating the frame duration, the diff between two incomming timestamps
should be scaled by the amount of frames in the interval. Improves duration
estimation and DTS interpolation.
2010-12-12 12:38:55 +01:00
Wim Taymans
957c728b3d
dec: use input timestamp diff for duration estimation
...
Use the diff between input timestamps to estimate the duration when no duration
is set on input buffers. Only do this when there are no reordered input
timestamps. Improves interpolation in DTS mode when no input duration is set.
2010-12-12 11:20:22 +01:00
Mark Nauwelaerts
e837ec505d
ffmpegenc: ensure proper clean state prior to (re-)negotiation
...
Fixes #632691 .
2010-10-25 12:16:44 +02:00
Wim Taymans
d82633c4e3
ffdec: don't destroy the parser state
...
When we flush the parser cache, we only need to clear the bytes of the cache,
not the complete state of the cache. In the case of H264 this doesn't require
the parser to receive a new SPS/PPS after a DISCONT buffer.
2010-10-22 13:05:16 +02:00
Wim Taymans
cc2a6e493b
ffdec: be more careful with DTS timestamp interpolation
...
Don't use -1 and 0 duration buffers to calculate next output timestamp as they
are very likely wrong.
Fixes #632877
2010-10-22 13:05:16 +02:00
Stefan Kost
07ce1d1906
various: add missing G_PARAM_STATIC_STRINGS flags
2010-10-19 17:26:08 +03:00
Sebastian Dröge
51fe1a04e6
ffmpeg: Add mapping for YUVA420P <-> A420
...
This is used by VP6a, which is used by Flash.
See bug #613901 .
2010-10-15 11:23:26 +02:00
Edward Hervey
51a0e1270f
ffmpegdec: Fix debug statements
2010-10-12 16:17:51 +02:00
Wim Taymans
3f213c1b73
ffdec: use a better algorithm to detect DTS timestamps
...
Add function to reset the timestamp tracking.
Check for reordered timestamps on the input buffers and assume PTS input
timestamps when we see reordered timestamps.
Recover from an occasionally wrong input timestamp by also tracking the output
timestamps. When we detect a reordered output timestamp, assume DTS input
timestamps again.
Fixes #611500
2010-10-07 17:46:22 +02:00
Wim Taymans
a0bc6f6e9d
ffdec: add debug line
2010-10-06 18:51:24 +02:00
Wim Taymans
48e612afda
ffdec: add fixmes
2010-10-06 18:23:57 +02:00
Wim Taymans
b41aab3690
ffdec: add some comments
2010-10-06 18:15:03 +02:00
Wim Taymans
76d9685202
ffdec: Add timestamp tracking
...
Use ffmpeg reordered_opaque to track an id that combines all timing info we have
for a frame. The ids are kept in a 255 item cache.
Fixes #631075
2010-10-06 17:42:30 +02:00
Wim Taymans
edb79396f2
ffdec: remove broken TSHandler
...
Remove the TShandler code, it is broken when QoS is enabled and ffmpeg provides
much easier methods for tracking timestamps.
Simplify pcache joining.
2010-10-06 17:42:30 +02:00
Wim Taymans
4aa9b97d3f
ffcodecmap: avoid setting large framerates
...
When the framerate is bigger than 1000/1, set it to 0/1 instead. This avoids
letting the videosink do QoS on these very small frame durations.
2010-10-06 16:58:52 +02:00
Wim Taymans
c330cdcc5d
ffdec: rename time variable
...
Rename the time variable to avoid confusion with the time function.
Add some debug to the QoS update function.
2010-10-06 16:58:40 +02:00
Wim Taymans
7d531c06bb
ffenc: pass the input size to the encoder
...
Pass the input buffer size to the encoder instead of the expected output size.
This is needed to make fixed input/output encoder work.
2010-10-06 16:58:34 +02:00
Sebastian Dröge
37357063bf
ffmpegdemux: Don't use GST_FLOW_IS_FATAL() and GST_FLOW_IS_SUCCESS()
2010-08-27 18:29:15 +02:00
Tim-Philipp Müller
e0984904c3
ffdeinterlace: some minor clean-ups
...
Don't use studlyCaps; gboolean != GstFlowReturn; use gst_caps_set_simple()
instead of creating a GValue just to set a boolean field on a caps structure.
See #622736 .
2010-07-18 20:15:32 +01:00
Edward Hervey
f9c8fac537
ffmpegmux: Use "Formatter/Metadata" klass when needed
...
https://bugzilla.gnome.org/show_bug.cgi?id=623671
2010-07-06 14:02:09 +02:00
Edward Hervey
25db74ec41
ffmpegmux: Add more replacements
...
https://bugzilla.gnome.org/show_bug.cgi?id=623671
2010-07-06 14:02:09 +02:00
Edward Hervey
6191dbb7dd
codecmap: Fix the caps of various mov/amr formats
...
https://bugzilla.gnome.org/show_bug.cgi?id=623671
2010-07-06 14:02:09 +02:00
Edward Hervey
38c2b3788e
gstffmpegmux: Set rank of blacklisted muxers to GST_RANK_NONE
...
https://bugzilla.gnome.org/show_bug.cgi?id=623671
2010-07-06 14:02:09 +02:00
Edward Hervey
00e177458c
ext: Fix CFLAGS order
...
We'd pick up system-wide ffmpeg headers otherwise
2010-07-05 15:48:41 +02:00
Mark Nauwelaerts
1d0b29414a
ffmpegenc: fix timestamp resyncing some more
...
Convert bytes to samples in remaining occurrence.
See #623388 .
2010-07-05 11:10:09 +02:00
Thiago Santos
b8f556a566
ffmpegenc: Fix timestamp resyncing
...
Properly convert bytes into time using sample size, sample rate
and channels number, instead of sample rate only.
This can cause huge timestamp discontinuities (even though the
durations remain correct) and might cause problems to muxers.
Fixes #623388
2010-07-03 11:57:09 -03:00
Edward Hervey
2f6086e495
ffmpegmux: Add rtp to the blacklisted muxers
2010-07-02 17:21:27 +02:00
Edward Hervey
edeb185374
codecmap: Specify the quicktime variant for mov and mp4 formats
2010-07-02 12:40:03 +02:00
David Schleef
00d87bcd83
ffmpegmux: Add alternate element in description
...
For muxers where there is a better GStreamer alternative, add
"(not recommended, use alternate_element_name instead)" to
the description.
https://bugzilla.gnome.org/show_bug.cgi?id=622773
2010-06-27 10:38:25 +02:00
David Schleef
52e8d62513
ffmpegmux: Disable raw muxers
...
They are effectively identity elements. Many are already
disabled via blacklist.
https://bugzilla.gnome.org/show_bug.cgi?id=622773
2010-06-27 10:38:24 +02:00
Andoni Morales Alastruey
7f12d83a39
ffdeinterlace: Set "interlaced=false" in the source pad's caps
...
https://bugzilla.gnome.org/show_bug.cgi?id=622736
2010-06-25 17:26:56 +02:00
Thijs Vermeir
330d78f4ff
Fix build if ORC is not installed
2010-06-15 09:40:18 +02:00
Sebastian Dröge
3d91d93f32
ffmpeg: Call orc_init() before trying to get target flags
2010-06-14 15:31:34 +02:00
Sebastian Dröge
899d2f0cec
Use orc instead of liboil for CPU feature detection
2010-06-14 14:38:44 +02:00
Albert Lee
f310322e90
gstffmpegcodecmap: Fix ATRAC1/3 caps
2010-06-11 08:23:34 +02:00
Zaheer Abbas Merali
22a343207c
ffmpegdec: fix typo in comment
2010-06-04 18:30:59 +01:00
Edward Hervey
c28097b6c4
codecmap: First round of type mapping wrapping : image formats
2010-05-31 18:53:12 +02:00
Edward Hervey
2fccd4640f
ffmpegdec/enc: Blacklist more raw formats
2010-05-31 18:44:02 +02:00
Tim-Philipp Müller
dc2efe2d24
ffmpegdec: sipro decoder should have higher rank than realaudiodec
2010-05-25 12:55:14 +01:00
Edward Hervey
f9c2467241
ffmpegdec: Don't leak the GstDataPassThrough items
2010-05-17 19:43:24 +02:00
Olivier Crête
83820511a8
gstffmpegenc: Make getcaps proxy the downstream height/width/framerate requirements
...
See #577784 .
2010-05-10 15:41:57 +02:00
Olivier Crête
2b891aff61
codecmap: Respect the various h263 options
...
See #577784 .
2010-05-10 15:41:45 +02:00
Olivier Crête
21e855d167
gstffmpegcfg: Expose loop-filter flag
...
See #577784 .
2010-05-10 15:41:07 +02:00
Edward Hervey
0fb014fdbe
ffmpegcodecmap: Add mapping for SIPR
2010-05-08 13:47:56 +02:00
Sebastian Dröge
c023b6a47a
postproc: Mark postproc filters table as const
2010-03-24 16:37:37 +01:00
Sebastian Dröge
af3de9ac9f
ffmpeg: Fix some remaining compiler warnings
2010-03-24 12:36:27 +01:00
Sebastian Dröge
a450bd027f
build: Add all kinds of compiler warning flags and fix the resulting warnings
2010-03-24 12:07:28 +01:00
Sebastian Dröge
2e079b742a
ffmpeg: Use gst_element_set_details_simple()
2010-03-24 11:51:53 +01:00
Edward Hervey
3230d4da09
gstffmpegcodecmap: Give a proper mapping for NSV format
2010-03-23 18:53:24 +01:00
Raimo Järvi
9637ff5ab1
ffdec: Update caps if the aspect ratio changes
...
Fixes bug #613231 .
2010-03-18 14:08:51 +01:00