Commit graph

20 commits

Author SHA1 Message Date
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
Wim Taymans
f8475ad22a update for query api changes 2012-07-06 11:27: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
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
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
Edward Hervey
1db8779252 ffmpegviddec: Properly return if negotiation fails
Instead of crashing ....
2012-06-15 12:19:58 +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
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
272823296f ffmpegviddec: Port to GstVideoDecoder 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