summaryrefslogtreecommitdiff
path: root/libavdevice/lavfi.c
Commit message (Collapse)AuthorAge
* lavd/lavfi: fix float.h include.Clément Bœsch2012-12-06
| | | | float.h is a system header.
* Replace rest of libavutil/audioconvert.h with libavutil/channel_layout.hPaul B Mahol2012-11-13
| | | | | | Also remove it in once case when it is not needed. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* lavd/lavfi: fix leak in case of failureStefano Sabatini2012-10-25
| | | | Jump to the common release code in case of failure.
* lavd/lavfi: add graph_file optionStefano Sabatini2012-10-23
| | | | | | | | 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.
* lavc: add lavfi metadata support.Clément Bœsch2012-10-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* lavd: do not use av_pix_fmt_descriptors directlyPaul B Mahol2012-10-12
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* Merge commit '716d413c13981da15323c7a3821860536eefdbbb'Michael Niedermayer2012-10-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* lavd/lavfi: push frames until the last sink is EOFStefano Sabatini2012-09-20
| | | | | | 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.
* lavd/lavfi: apply stylistic fixes to the options help fieldsStefano Sabatini2012-09-11
|
* avoid ambigous buffersink namesMichael Niedermayer2012-09-01
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* Merge commit '36ef5369ee9b336febc2c270f8718cec4476cb85'Michael Niedermayer2012-08-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* lavfi: remove old video sink APIStefano Sabatini2012-06-26
| | | | | It was deprecated since a long time and removed after the 2->3 major bump.
* lavd/lavfi: do not set the channel layout list.Nicolas George2012-06-21
| | | | | | | 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.
* lavfi: drop planar/packed negotiation supportStefano Sabatini2012-05-16
| | | | | | | | | 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.
* lavd/lavfi: support all sample formats.Nicolas George2012-02-22
|
* Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* lavd/lavfi: add dumpgraph option.Nicolas George2012-01-24
|
* lavd/lavfi: fix compiler warning for uninitialized variablesJean First2011-12-31
| | | | | Signed-off-by: Jean First <jeanfirst@gmail.com> Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
* lavd/lavfi: fix two memleaks.Nicolas George2011-12-22
| | | | | Signed-off-by: Nicolas George <nicolas.george@normalesup.org> Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
* lavd/lavfi: reindent block in lavfi_read_headerStefano Sabatini2011-12-20
|
* lavd/lavfi: add check in case pix_fmts cannot be allocated in ↵Stefano Sabatini2011-12-20
| | | | lavfi_read_header()
* lavd/lavfi: fix incomplete commentStefano Sabatini2011-12-18
|
* lavd/lavfi: fix typo in error messageStefano Sabatini2011-12-18
|
* lavd/lavfi: remove a duplicated line.Nicolas George2011-12-15
|
* lavf: rename remaining av_set_pts_info() to avpriv_set_pts_info().Clément Bœsch2011-12-03
|
* Replace remaining av_new_stream() with avformat_new_stream().Clément Bœsch2011-11-05
|
* AVOptions: rename remaining FF_OPT_TYPE_* to AV_OPT_TYPE_*.Clément Bœsch2011-10-17
|
* lavd/lavfi: compute and use the used samples buffer size for the output ↵Stefano Sabatini2011-10-16
| | | | | | | 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.
* lavdev/lavfi: reindent after the last commitStefano Sabatini2011-09-16
|
* lavdev/lavfi: add audio supportStefano Sabatini2011-09-16
|
* lavfi: rename vsink_buffer.c to sink_buffer.c, and vsink_buffer.h to ↵Stefano Sabatini2011-09-06
| | | | | | | | buffersink.h This is done in order to clarify the non-video-specific nature of the buffersink code, as the result of the video/audio API unification of the previous commit, and for improving overall consistency.
* lavfi: unify asink_buffer and vsink_buffer APIStefano Sabatini2011-09-06
| | | | | | | | | The new API is more generic (no distinction between audio/video for pulling frames), and avoids code duplication. A backward compatibility layer is kept for avoiding tools ABI breaks (only for the video binary interface, audio interface was never used in the tools).
* lavdev/lavfi: add debug traces in lavfi_read_packet()Stefano Sabatini2011-08-31
|
* lavdev/lavfi: set sample aspect ratio in the output stream/codec contextStefano Sabatini2011-08-21
|
* lavdev/lavfi: specify pos in the output packetsStefano Sabatini2011-08-20
|
* lavdev/lavfi: initialize variable, fix warningStefano Sabatini2011-08-20
|
* lavdev/lavfi: correctly set the inout pad index when linking a filter to the ↵Stefano Sabatini2011-08-14
| | | | | | | | output sink In lavfi_read_header(), use the pad index designated in the inout for linking an output to a sink, rather than always 0. Fix link creation for filters with more than one output (e.g. the split filter).
* lavdev: add libavfilter virtual input deviceStefano Sabatini2011-08-11
This input device is to be considered still experimental, only video output is supported.