Michael Niedermayer
e5993aeb60
avdevice/lavfi: Use avio_closep() to avoid leaving stale pointers in memory
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 14:11:44 +01:00
Nicolas George
55763b6f5e
lavd/lavfi: allow to extract subcc.
...
Signed-off-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-02 20:17:05 +01:00
Michael Niedermayer
52c85b194b
avdevice/lavfi: dont assign variables to themselfs
...
Fixes "warning: explicitly assigning a variable of type int to itself"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-13 22:32:21 +02:00
Michael Niedermayer
75bd83d448
avdevice/lavfi: Simplify non-AV stream check
...
Fixes a clang warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-07 15:41:17 +02:00
Andrey Utkin
b6a6459a24
lavd/lavfi: work with non-mappable files for graph_file option
...
Example of non-mappable file is /dev/stdin. Previously passing it as
graph_file value returned error.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-23 18:42:41 +02:00
Michael Niedermayer
9514472904
avutil & avdevice: remove av_bprint_fd_contents()
...
MSVC does not allow passing file pointers between libs
This API can thus not work with MSVC and as it was very recently added
and its it was in no release its removial should not cause any problems
A better API will be implemented, but its not finished yet, this revert is
to avoid potentially blocking the release
Found-by: Hendrik Leppkes <h.leppkes@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 21:49:56 +02:00
Michael Niedermayer
eee6ad38f9
avdevice/lavfi: add io.h, should fix msvc build
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-08 20:29:59 +02:00
Michael Niedermayer
0ebcf87803
protect unistd.h with #if HAVE_UNISTD_H in code from recent av_bprint_fd_contents() patches
...
Should fix build failure on MSVC
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-08 01:54:30 +02:00
Andrey Utkin
2229a6dfe6
avdevice/lavfi: allow non-mmappable files for graph_file
...
Use av_bprint_fd_contents() instead of av_file_map()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-07 21:28:25 +02:00
Michael Niedermayer
3a10bf93b5
avdevice/lavfi: Use av_malloc_array()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-07 15:04:50 +02:00
Lukasz Marek
f607767d93
lavd: add categories to device implementations
...
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-03-03 23:34:46 +01:00
Nicolas George
863fb11f63
lavd/lavfi: support unknown channel layouts.
2013-11-03 10:29:53 +01:00
Michael Niedermayer
f3d138ab22
avdevice/lavfi: fix input with unknown channel layout
...
Fixes handling of >8 channels
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-13 23:10:05 +02:00
Stefano Sabatini
838bd73139
lavfi: create Libav-API compatibility layer for avfilter_graph_parse() at the next bump
...
Add function avfilter_graph_parse_ptr() and favor it in place of
avfilter_graph_parse(), which will be restored with the old/Libav
signature at the next bump.
If HAVE_INCOMPATIBLE_LIBAV_API is enabled it will use the
Libav-compatible signature for avfilter_graph_parse().
At the next major bump the current implementation of
avfilter_graph_parse() should be dropped in favor of the Libav/old
implementation.
Should address trac ticket #2672 .
2013-07-03 13:21:42 +02:00
Michael Niedermayer
c7c71f95f8
replace remaining PIX_FMT_* flags with AV_PIX_FMT_FLAG_*
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 11:23:14 +02:00
Michael Niedermayer
9b595e86e3
avdevice/lavfi: add error checking for av_opt_set_int_list()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 20:39:07 +02:00
Michael Niedermayer
3fc7b47145
buffersink: switch from opaque to AVOptions for params
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 13:47:40 +02:00
Michael Niedermayer
a1e7e02eaf
abuffersink: switch from opaque to AVOptions for params
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 13:38:00 +02:00
Nicolas George
b90912be68
lavd/lavfi: upgrade to AVFrame.
...
Fix a memory leak because the compat implementation of
AV_BUFFERSINK_FLAG_PEEK is not identical to the previous one.
2013-03-15 20:46:27 +01:00
Nicolas George
ceac5c54dd
Remove references to the "ff" variant of buffersink.
2013-03-12 23:31:07 +01:00
Michael Niedermayer
b56e029bdc
avformat/lavfi: force probesize to cover at least 30 frames
...
This ensures that fps and other values are estimated correctly,
the probesize also is intended to limit disk/protocol reads which
does not apply to lavfi inputs at all.
Fixes Ticket1051
Something similar could be usefull to other input devices
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-28 20:28:59 +01:00
Clément Bœsch
377d201790
lavd/lavfi: fix float.h include.
...
float.h is a system header.
2012-12-06 15:09:47 +01:00
Paul B Mahol
1acd2f6ba7
Replace rest of libavutil/audioconvert.h with libavutil/channel_layout.h
...
Also remove it in once case when it is not needed.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-13 13:21:21 +00:00
Stefano Sabatini
b19bfd6c9f
lavd/lavfi: fix leak in case of failure
...
Jump to the common release code in case of failure.
2012-10-25 21:35:40 +02:00
Stefano Sabatini
8b03cd3cd7
lavd/lavfi: add graph_file option
...
Allow to specify a filename where to put the filtergraph description.
This is useful to override limitations or glitches of particular shell
environments, and allows a level of indirection for specifying
filtergraphs.
2012-10-23 22:08:55 +02:00
Clément Bœsch
6fb2fd895e
lavc: add lavfi metadata support.
...
This commit introduces a new AVPacket side data type:
AV_PKT_DATA_STRINGS_METADATA. Its main goal is to provide a way to
transmit the metadata from the AVFilterBufferRef up to the AVFrame. This
is at the moment "only" useful for lavfi input from libavdevice:
lavd/lavfi only outputs packets, and the metadata from the buffer ref
kept in its context needs to be transmitted from the packet to the frame
by the decoders. The buffer ref can be destroyed at any time (along with
the metadata), and a duplication of the AVPacket needs to duplicate the
metadata as well, so the choice of using the side data to store them was
selected.
Making sure lavd/lavfi raises the metadata is useful to allow tools like
ffprobe to access the filters metadata (it is at the moment the only
way); ffprobe will now automatically show the AVFrame metadata in any
customizable output format for users. API users will also be able to
access the AVFrame->metadata pointer the same way ffprobe does
(av_frame_get_metadata).
All the changes are done in this single commit to avoid some memory
leaks: for instances, the changes in lavfi/avcodec.c are meant to
duplicate the metadata from the buffer ref into the AVFrame. Unless we
have an internal way of freeing the AVFrame->metadata automatically, it
will leak in most of the user apps. To fix this problem, we introduce
AVCodecContext->metadata and link avctx->metadata to the current
frame->metadata and free it at each decode frame call (and in the codec
closing callback for the last one). But doing this also means to update
the way the tiff decoder already handles the AVFrame->metadata (it's the
only one decoder with frame metadata at the moment), by making sure it
is not trying to free a pointer already freed by the lavc internals.
The lavfi/avcodec.c buffer ref code is based on an old Thomas Kühnel
work, the rest of the code belongs to the commit author.
Signed-off-by: Thomas Kühnel <kuehnelth@googlemail.com>
Signed-off-by: Clément Bœsch <ubitux@gmail.com>
2012-10-21 17:29:10 +02:00
Paul B Mahol
82eba22667
lavd: do not use av_pix_fmt_descriptors directly
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-12 15:58:37 +00:00
Michael Niedermayer
ac627b3d38
Merge commit '716d413c13981da15323c7a3821860536eefdbbb'
...
* commit '716d413c13981da15323c7a3821860536eefdbbb':
Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat
Conflicts:
doc/examples/muxing.c
ffmpeg.h
ffmpeg_filter.c
ffmpeg_opt.c
ffplay.c
ffprobe.c
libavcodec/8bps.c
libavcodec/aasc.c
libavcodec/aura.c
libavcodec/avcodec.h
libavcodec/avs.c
libavcodec/bfi.c
libavcodec/bmp.c
libavcodec/bmpenc.c
libavcodec/c93.c
libavcodec/cscd.c
libavcodec/cyuv.c
libavcodec/dpx.c
libavcodec/dpxenc.c
libavcodec/eatgv.c
libavcodec/escape124.c
libavcodec/ffv1.c
libavcodec/flashsv.c
libavcodec/fraps.c
libavcodec/h264.c
libavcodec/huffyuv.c
libavcodec/iff.c
libavcodec/imgconvert.c
libavcodec/indeo3.c
libavcodec/kmvc.c
libavcodec/libopenjpegdec.c
libavcodec/libopenjpegenc.c
libavcodec/libx264.c
libavcodec/ljpegenc.c
libavcodec/mjpegdec.c
libavcodec/mjpegenc.c
libavcodec/motionpixels.c
libavcodec/mpeg12.c
libavcodec/mpeg12enc.c
libavcodec/mpeg4videodec.c
libavcodec/mpegvideo_enc.c
libavcodec/pamenc.c
libavcodec/pcxenc.c
libavcodec/pgssubdec.c
libavcodec/pngdec.c
libavcodec/pngenc.c
libavcodec/pnm.c
libavcodec/pnmdec.c
libavcodec/pnmenc.c
libavcodec/ptx.c
libavcodec/qdrw.c
libavcodec/qpeg.c
libavcodec/qtrleenc.c
libavcodec/raw.c
libavcodec/rawdec.c
libavcodec/rl2.c
libavcodec/sgidec.c
libavcodec/sgienc.c
libavcodec/snowdec.c
libavcodec/snowenc.c
libavcodec/sunrast.c
libavcodec/targa.c
libavcodec/targaenc.c
libavcodec/tiff.c
libavcodec/tiffenc.c
libavcodec/tmv.c
libavcodec/truemotion2.c
libavcodec/utils.c
libavcodec/vb.c
libavcodec/vp3.c
libavcodec/wnv1.c
libavcodec/xl.c
libavcodec/xwddec.c
libavcodec/xwdenc.c
libavcodec/yop.c
libavdevice/v4l2.c
libavdevice/x11grab.c
libavfilter/avfilter.c
libavfilter/avfilter.h
libavfilter/buffersrc.c
libavfilter/drawutils.c
libavfilter/formats.c
libavfilter/src_movie.c
libavfilter/vf_ass.c
libavfilter/vf_drawtext.c
libavfilter/vf_fade.c
libavfilter/vf_format.c
libavfilter/vf_hflip.c
libavfilter/vf_lut.c
libavfilter/vf_overlay.c
libavfilter/vf_pad.c
libavfilter/vf_scale.c
libavfilter/vf_transpose.c
libavfilter/vf_yadif.c
libavfilter/video.c
libavfilter/vsrc_testsrc.c
libavformat/movenc.c
libavformat/mxf.h
libavformat/utils.c
libavformat/yuv4mpeg.c
libavutil/imgutils.c
libavutil/pixdesc.c
libswscale/input.c
libswscale/output.c
libswscale/swscale_internal.h
libswscale/swscale_unscaled.c
libswscale/utils.c
libswscale/x86/swscale_template.c
libswscale/x86/yuv2rgb.c
libswscale/x86/yuv2rgb_template.c
libswscale/yuv2rgb.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-08 21:06:57 +02:00
Stefano Sabatini
53d71335cb
lavd/lavfi: push frames until the last sink is EOF
...
Previously the device was returning EOF when the first sink was ending,
with the current change the device will continue to return frames until
all the sinks are EOF, which seems the most expected behavior.
2012-09-20 12:13:17 +02:00
Stefano Sabatini
30a265f058
lavd/lavfi: apply stylistic fixes to the options help fields
2012-09-11 22:56:35 +02:00
Michael Niedermayer
3061664a57
avoid ambigous buffersink names
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-01 06:05:08 +02:00
Michael Niedermayer
7a72695c05
Merge commit '36ef5369ee9b336febc2c270f8718cec4476cb85'
...
* commit '36ef5369ee9b336febc2c270f8718cec4476cb85':
Replace all CODEC_ID_* with AV_CODEC_ID_*
lavc: add AV prefix to codec ids.
Conflicts:
doc/APIchanges
doc/examples/decoding_encoding.c
doc/examples/muxing.c
ffmpeg.c
ffprobe.c
ffserver.c
libavcodec/8svx.c
libavcodec/avcodec.h
libavcodec/dnxhd_parser.c
libavcodec/dvdsubdec.c
libavcodec/error_resilience.c
libavcodec/h263dec.c
libavcodec/libvorbisenc.c
libavcodec/mjpeg_parser.c
libavcodec/mjpegenc.c
libavcodec/mpeg12.c
libavcodec/mpeg4videodec.c
libavcodec/mpegvideo.c
libavcodec/mpegvideo_enc.c
libavcodec/pcm.c
libavcodec/r210dec.c
libavcodec/utils.c
libavcodec/v210dec.c
libavcodec/version.h
libavdevice/alsa-audio-dec.c
libavdevice/bktr.c
libavdevice/v4l2.c
libavformat/asfdec.c
libavformat/asfenc.c
libavformat/avformat.h
libavformat/avidec.c
libavformat/caf.c
libavformat/electronicarts.c
libavformat/flacdec.c
libavformat/flvdec.c
libavformat/flvenc.c
libavformat/framecrcenc.c
libavformat/img2.c
libavformat/img2dec.c
libavformat/img2enc.c
libavformat/ipmovie.c
libavformat/isom.c
libavformat/matroska.c
libavformat/matroskadec.c
libavformat/matroskaenc.c
libavformat/mov.c
libavformat/movenc.c
libavformat/mp3dec.c
libavformat/mpeg.c
libavformat/mpegts.c
libavformat/mxf.c
libavformat/mxfdec.c
libavformat/mxfenc.c
libavformat/nsvdec.c
libavformat/nut.c
libavformat/oggenc.c
libavformat/pmpdec.c
libavformat/rawdec.c
libavformat/rawenc.c
libavformat/riff.c
libavformat/sdp.c
libavformat/utils.c
libavformat/vocenc.c
libavformat/wtv.c
libavformat/xmv.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-07 22:45:46 +02:00
Stefano Sabatini
8dd0e87d7b
lavfi: remove old video sink API
...
It was deprecated since a long time and removed after the 2->3 major
bump.
2012-06-26 11:40:08 +02:00
Nicolas George
7681d0eaca
lavd/lavfi: do not set the channel layout list.
...
The list was set to avfilter_all_channel_layouts,
which is really all common channel layouts.
Not setting it leaves an empty list,
which now means really all.
2012-06-21 19:40:49 +02:00
Stefano Sabatini
4d4098da00
lavfi: drop planar/packed negotiation support
...
The planar/packed switch and the packing_formats list is no longer
required, since the planar/packed information is now stored in the sample
format enum.
This is technically a major API break, possibly it should be not too
painful as we marked the audio filtering API as unstable.
2012-05-16 13:16:05 +02:00
Nicolas George
534a82a3fd
lavd/lavfi: support all sample formats.
2012-02-22 11:37:32 +01:00
Michael Niedermayer
e37f161e66
Merge remote-tracking branch 'qatar/master'
...
* qatar/master: (71 commits)
movenc: Allow writing to a non-seekable output if using empty moov
movenc: Support adding isml (smooth streaming live) metadata
libavcodec: Don't crash in avcodec_encode_audio if time_base isn't set
sunrast: Document the different Sun Raster file format types.
sunrast: Add a check for experimental type.
libspeexenc: use AVSampleFormat instead of deprecated/removed SampleFormat
lavf: remove disabled FF_API_SET_PTS_INFO cruft
lavf: remove disabled FF_API_OLD_INTERRUPT_CB cruft
lavf: remove disabled FF_API_REORDER_PRIVATE cruft
lavf: remove disabled FF_API_SEEK_PUBLIC cruft
lavf: remove disabled FF_API_STREAM_COPY cruft
lavf: remove disabled FF_API_PRELOAD cruft
lavf: remove disabled FF_API_NEW_STREAM cruft
lavf: remove disabled FF_API_RTSP_URL_OPTIONS cruft
lavf: remove disabled FF_API_MUXRATE cruft
lavf: remove disabled FF_API_FILESIZE cruft
lavf: remove disabled FF_API_TIMESTAMP cruft
lavf: remove disabled FF_API_LOOP_OUTPUT cruft
lavf: remove disabled FF_API_LOOP_INPUT cruft
lavf: remove disabled FF_API_AVSTREAM_QUALITY cruft
...
Conflicts:
doc/APIchanges
libavcodec/8bps.c
libavcodec/avcodec.h
libavcodec/libx264.c
libavcodec/mjpegbdec.c
libavcodec/options.c
libavcodec/sunrast.c
libavcodec/utils.c
libavcodec/version.h
libavcodec/x86/h264_deblock.asm
libavdevice/libdc1394.c
libavdevice/v4l2.c
libavformat/avformat.h
libavformat/avio.c
libavformat/avio.h
libavformat/aviobuf.c
libavformat/dv.c
libavformat/mov.c
libavformat/utils.c
libavformat/version.h
libavformat/wtv.c
libavutil/Makefile
libavutil/file.c
libswscale/x86/input.asm
libswscale/x86/swscale_mmx.c
libswscale/x86/swscale_template.c
tests/ref/lavf/ffm
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-28 07:53:34 +01:00
Nicolas George
1fa88f343a
lavd/lavfi: add dumpgraph option.
2012-01-24 11:38:56 +01:00
Jean First
81980bf740
lavd/lavfi: fix compiler warning for uninitialized variables
...
Signed-off-by: Jean First <jeanfirst@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2011-12-31 11:51:56 +01:00
Nicolas George
acb67c5bbc
lavd/lavfi: fix two memleaks.
...
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2011-12-22 10:09:51 +01:00
Stefano Sabatini
f1622a17fd
lavd/lavfi: reindent block in lavfi_read_header
2011-12-20 13:19:36 +01:00
Stefano Sabatini
4d475f7eb3
lavd/lavfi: add check in case pix_fmts cannot be allocated in lavfi_read_header()
2011-12-20 13:19:26 +01:00
Stefano Sabatini
21dfd1591e
lavd/lavfi: fix incomplete comment
2011-12-18 01:04:02 +01:00
Stefano Sabatini
86b7db616d
lavd/lavfi: fix typo in error message
2011-12-18 01:03:40 +01:00
Nicolas George
1509bd3e9e
lavd/lavfi: remove a duplicated line.
2011-12-15 23:34:25 +01:00
Clément Bœsch
215b7724e7
lavf: rename remaining av_set_pts_info() to avpriv_set_pts_info().
2011-12-03 03:24:32 +01:00
Clément Bœsch
0e5ecd806e
Replace remaining av_new_stream() with avformat_new_stream().
2011-11-05 15:07:19 +01:00
Clément Bœsch
539399d4d1
AVOptions: rename remaining FF_OPT_TYPE_* to AV_OPT_TYPE_*.
2011-10-17 07:33:10 +02:00
Stefano Sabatini
477718f40b
lavd/lavfi: compute and use the used samples buffer size for the output audio packet size
...
Do not assume the used size is the same of the allocated size, as it was
wrongly assumed. Fix audio playback when the two values differ.
2011-10-16 21:18:44 +02:00
Stefano Sabatini
e3fc0e8280
lavdev/lavfi: reindent after the last commit
2011-09-16 21:22:11 +02:00