summaryrefslogtreecommitdiff
path: root/fftools
Commit message (Collapse)AuthorAge
* make swresample optional for ffmpegPaul B Mahol2018-04-25
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* ffplay: Fix realloc_texture when input texture is NULL.Matt Oliver2018-04-18
| | | | | | | | | SDL_QueryTexture and SDL_DestroyTexture require that the input texture pointer be non-null. Debug builds of SDL will correctly check for this and break program execution. This patch fixes this by checking the status of the texture pointer. Signed-off-by: Matt Oliver <protogonoi@gmail.com>
* ffprobe: report unavailable SAR correctly in stream infoTimo Teräs2018-04-17
| | | | | | | | | av_guess_sample_aspect_ratio() will return undefined or missing value as {0,1}. This fixes show_stream() to check numerator to display 'N/A' when appropriate. show_frame() does this already correctly. Signed-off-by: Timo Teräs <timo.teras@iki.fi>
* ffmpeg: allow setting attached_pic dispositionTimo Teräs2018-04-04
| | | | | | | | This is used to signal that image should be stored in metadata as cover image. Signed-off-by: Timo Teräs <timo.teras@iki.fi> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avutil/pixdesc: deprecate AV_PIX_FMT_FLAG_PSEUDOPALwm42018-04-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PSEUDOPAL pixel formats are not paletted, but carried a palette with the intention of allowing code to treat unpaletted formats as paletted. The palette simply mapped the byte values to the resulting RGB values, making it some sort of LUT for RGB conversion. It was used for 1 byte formats only: RGB4_BYTE, BGR4_BYTE, RGB8, BGR8, GRAY8. The first 4 are awfully obscure, used only by some ancient bitmap formats. The last one, GRAY8, is more common, but its treatment is grossly incorrect. It considers full range GRAY8 only, so GRAY8 coming from typical Y video planes was not mapped to the correct RGB values. This cannot be fixed, because AVFrame.color_range can be freely changed at runtime, and there is nothing to ensure the pseudo palette is updated. Also, nothing actually used the PSEUDOPAL palette data, except xwdenc (trivially changed in the previous commit). All other code had to treat it as a special case, just to ignore or to propagate palette data. In conclusion, this was just a very strange old mechnaism that has no real justification to exist anymore (although it may have been nice and useful in the past). Now it's an artifact that makes the API harder to use: API users who allocate their own pixel data have to be aware that they need to allocate the palette, or FFmpeg will crash on them in _some_ situations. On top of this, there was no API to allocate the pseuo palette outside of av_frame_get_buffer(). This patch not only deprecates AV_PIX_FMT_FLAG_PSEUDOPAL, but also makes the pseudo palette optional. Nothing accesses it anymore, though if it's set, it's propagated. It's still allocated and initialized for compatibility with API users that rely on this feature. But new API users do not need to allocate it. This was an explicit goal of this patch. Most changes replace AV_PIX_FMT_FLAG_PSEUDOPAL with FF_PSEUDOPAL. I first tried #ifdefing all code, but it was a mess. The FF_PSEUDOPAL macro reduces the mess, and still allows defining FF_API_PSEUDOPAL to 0. Passes FATE with FF_API_PSEUDOPAL enabled and disabled. In addition, FATE passes with FF_API_PSEUDOPAL set to 1, but with allocation functions manually changed to not allocating a palette.
* fftools/cmdutils: add support for level flag in loglevel option parserTobias Rapp2018-04-03
| | | | | | | | | | Allows to manage the AV_LOG_PRINT_LEVEL flag as a prefix to the loglevel option value, similar to the existing AV_LOG_SKIP_REPEATE flag. Adds support for setting flags relative to the existing value by using a +/- prefix. Previous version reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
* lav*,tests: remove several register_all callsJosh de Kock2018-04-02
| | | | | | | avdevice_register_all() is still required to register devices into lavf (this is required due to lavd being somewhat of a hack). Signed-off-by: Josh de Kock <josh@itanimul.li>
* cmdutils: fix new API break the "ffmpeg -muxers/demuxers"Jun Zhao2018-04-02
| | | | | | | fix commit 2238190 break the "ffmpeg -muxers/demuxers". Signed-off-by: Jun Zhao <mypopydev@gmail.com> Signed-off-by: Josh de Kock <josh@itanimul.li>
* ffmpeg: prevent premature EOF in sub2video with nullptr AVSubtitlesJan Ekström2018-04-01
| | | | | | | | | | | | | | | | With certain types of input and the filter chain getting re-initialized or re-configured, multiple nullptr AVSubtitles can get pushed into sub2video_update() in a row from sub2video_heartbeat. This causes end_pts, and on the next round pts, to become INT64_MAX, latter of which signals EOF in framesync, leading to complete loss of subtitles from that point on. Thus, check that the sub2video.end_pts is smaller than INT64_MAX in a similar fashion to sub2video_flush before sending out the nullptr AVSubtitle. This keeps premature EOFs from happening in framesync and the subtitle overlay is kept past the filter chain re-initializations/configurations.
* cmdutils: use new APIsJosh de Kock2018-03-31
| | | | Signed-off-by: Josh de Kock <josh@itanimul.li>
* fftools/ffmpeg: Remove an unused variable.Carl Eugen Hoyos2018-03-30
| | | | | Fixes a warning: fftools/ffmpeg.c:2201:22: warning: unused variable 'fg'
* ffmpeg: do not finish output streams manually on eof even if no input is ↵Marton Balint2018-03-29
| | | | | | | | | | | | | provided The generic code should be able to finish the streams just fine initializing and flushing the filters and codecs properly. Fixes the following command: ffmpeg -f lavfi -i "testsrc=d=0.1[out0];aevalsrc=0:d=0[out1]" -af apad -shortest -f framecrc - Signed-off-by: Marton Balint <cus@passwd.hu>
* ffmpeg: fallback to codecpar parameters on input filter eofMarton Balint2018-03-29
| | | | | | | | Fixes ticket #6854 and the following simpler case: ffmpeg -f lavfi -i testsrc=d=1 -f lavfi -i testsrc=d=0 -filter_complex overlay -f null none Signed-off-by: Marton Balint <cus@passwd.hu>
* ffmpeg: pass reference counted packet on codec copy when possibleJames Almer2018-03-23
| | | | | | | | Should prevent unnecessary copy of data in cases where new references to the packet are created within the muxer or a bitstream filter. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Almer <jamrial@gmail.com>
* ffmpeg: remove dead call to av_parser_change()James Almer2018-03-23
| | | | | | | | | | | It's been a noop for years, and it's been argued that in-band headers should not be forcedly removed without the user's explicit request. Also, as the FIXME line stated, this is a job for a bitstream filter like extract_extradata, remove_extradata, dump_extradata, and filter_units. Signed-off-by: James Almer <jamrial@gmail.com>
* cmdutils: print supported codecs in show_help_bsf()James Almer2018-03-22
| | | | | Tested-by: Jun Zhao <mypopydev@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* ffmpeg.c - drain all decoded frames during stream_loop flushGyan Doshi2018-03-20
| | | | | | | | | | | | | | When a decoded stream is being looped, after each post-EOF rewind, decoders are flushed in seek_to_start(). This only drains 1 frame, and thus the output has a few frames missing at the tail of each iteration except the last. With this patch, process_input is looped till process_input_packet reaches EOF. Fixes #7081 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* cmdutils: remove a superfluous line breakJames Almer2018-03-17
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* ffmpeg: support dump bit stream filter options.Jun Zhao2018-03-16
| | | | | | | | Support dump bit stream filter option in ffmpeg -h full and ffmpeg -h bsf=FooBar. Signed-off-by: Jun Zhao <mypopydev@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* ffprobe: fix infinite loop in subtitle decodingMarton Balint2018-03-12
| | | | | | | | | Fixes a regression since 2a88ebd096f3c748a2d99ed1b60b22879b3c567c which caused an infinite loop in the subtitle decoding. Fixes ticket #6796. Signed-off-by: Marton Balint <cus@passwd.hu>
* fftools/ffmpeg: update print_report to use AVBPrint APITobias Rapp2018-03-05
| | | | Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
* fftools/ffmpeg: fix progress log message in case pts is not availableTobias Rapp2018-03-05
| | | | | | Also fixes sign prefix for progress report. Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
* fftools/ffmpeg: replace call to av_strerror with av_err2strTobias Rapp2018-02-27
| | | | Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
* Don't complain about codec2's 700 bit/s modes in ffmpeg.cTomas Härdin2018-02-24
|
* ffmpeg_opt: fix max_error_rate help info display issue.Jun Zhao2018-02-24
| | | | | | | | ffmpeg -h display "max_error_rate" option help information have been cut off, the root cause is used a wrong initial order. Signed-off-by: Jun Zhao <jun.zhao@intel.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/mpegts: set AV_DISPOSITION_DEPENDENT for mix_type=0 supplementary audioAman Gupta2018-02-23
| | | | Signed-off-by: Aman Gupta <aman@tmm1.net>
* Revert "cmdutils: make use of new iteration APIs"James Almer2018-02-08
| | | | | | | | | | This reverts commit cdc78058c78dfa4966758a342acd2c1f3b282c46. It introduced several issues in the command line tools, and it's implementing a new API that may still see some changes. Revert for the time being until the state of the API is defined. Signed-off-by: James Almer <jamrial@gmail.com>
* lavc/bsf: make BSF iteration the same as other iteratorsJosh de Kock2018-02-06
|
* cmdutils: make use of new iteration APIsJosh de Kock2018-02-06
|
* ffprobe: remove usage of deprecation warning removal pragmasJames Almer2018-02-02
| | | | | | Fixes compilation in non Windows targets. Signed-off-by: James Almer <jamrial@gmail.com>
* ffprobe: Initialize coded_width/heightZhong Li2018-02-02
| | | | | | | | | | coded_width/height are unnitialized and will be overwritten by dec_ctx->width/height in avcodec_open2() This fixes tiket #6958. Signed-off-by: Zhong Li <zhong.li@intel.com> Signed-off-by: James Almer <jamrial@gmail.com>
* fftools, tools, examples: migrate to AVFormatContext->urlMarton Balint2018-01-28
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* ffmpeg: Ignore SIGPIPEMark Thompson2018-01-25
| | | | | | | | | | | | | On systems which deliver SIGPIPE (Unices), a broken pipe will currently result in the immediate termination of the ffmpeg process (the default disposition as required by POSIX). This is undesirable, because while the broken pipe is likely fatal to useful cleanup of whatever component is writing to it, there might be other components which can do useful cleanup - for example, a muxer on another stream may still need to write indexes to complete a file. Therefore, set the signal disposition for SIGPIPE to ignore the signal - the call which caused the signal will fail with EPIPE and the error will be propagated upwards like any other I/O failure on a single stream.
* fftools/ffmpeg_opt: Remove a write-only variable.Carl Eugen Hoyos2018-01-08
| | | | | Fixes a warning: fftools/ffmpeg_opt.c:2057:21: warning: variable 'file_oformat' set but not used
* Remove the ffserver programRostislav Pehlivanov2018-01-06
| | | | Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* ffmpeg: use thread wrappers for the thread message functionalityJames Almer2018-01-04
| | | | | Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Almer <jamrial@gmail.com>
* ffplay: drop lock manager usewm42017-12-26
| | | | Deprecated and useless.
* ffmpeg_opt: Constify hwaccel pointer.Carl Eugen Hoyos2017-11-29
| | | | | Fixes a warning: fftools/ffmpeg_opt.c:804:29: warning: assignment discards ‘const’ qualifier from pointer target type
* ffmpeg: Check read_ffserver_streams() return valuePan Bian2017-11-28
| | | | | | | | | | | The function avformat_alloc_context() will return a NULL pointer on failure. However, in function read_ffserver_streams(), its return value is not validated and the subsequent dereference may result in a bad memory access bug. Check its return value against NULL and avoid potential NULL dereference. Signed-off-by: Pan Bian <bianpan2016@163.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* ffmpeg: Use codec hardware config to configure hwaccelsMark Thompson2017-11-26
| | | | | Removes specific support for all hwaccels supported by the generic code (DXVA2, D3D11VA, NVDEC, VAAPI and VDPAU).
* lavu,lavfi,ffmpeg: Remove experimental OpenCL APIMark Thompson2017-11-22
| | | | | | | | | | | This was added in early 2013 and abandoned several months later; as far as I can tell, there are no external users. Future OpenCL use will be via hwcontext, which requires neither special OpenCL-only API nor global state in libavutil. All internal users are also deleted - this is just the unsharp filter (replaced by unsharp_opencl, which is more flexible) and the deshake filter (no replacement).
* ffmpeg: add return value check to supress the build warning.Jun Zhao2017-11-21
| | | | | | | | | add return value check to supress the build warning message like "warning: ignoring return value" when use attribute -Wunused-result. Signed-off-by: Jun Zhao <jun.zhao@intel.com> Reviewed-by: 刘歧 <lq@chinaffmpeg.org> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* ffmpeg: add ui64 type to SpecifierOptpkviet2017-11-20
| | | | | | | | | Adds ui64 (uint64_t) as a possible type for SpecifierOpt. This enables use of uint64_t options with SpecifierOpt such as channel_layout when expressed as a 64 bit channel mask. Signed-off-by: pkviet <pkv.stream@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* ffmpeg: Allow "-to" on input files in addition to "-t"Vitaly _Vi Shukela2017-11-19
| | | | | | | | | | | | | | For some strange reason "-t" option was only implemented for input files while both "-t" and "-to" were available for use for output files. This made extracting a range from input file inconvenient. This patch enables -to option for input so one can do ffmpeg -ss 1:23:20 -to 1:27:22.3 -i myinput.mkv ... Signed-off-by: Vitaly _Vi Shukela <vi0oss@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* ffmpeg_filter: use nb_threads=1 on unused filtergraphDHE2017-11-19
| | | | | Signed-off-by: DHE <git@dehacked.net> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* ffplay: remove usage of AVCodecContext accessorsJames Almer2017-11-15
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* ffprobe: remove usage of AVCodecContext accessorsJames Almer2017-11-15
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* ffmpeg: remove usage of AVCodecContext accessorsJames Almer2017-11-15
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* ffmpeg: use explicitly requested hwaccel onlyTimo Rothenpieler2017-11-11
| | | | | | | | | With there being two hwaccels that use the CUDA pix_fmt now, just relying on the pix_fmt to identify the selected hwaccel is not enough anymore. So this checks if the user explicitly selected a hwaccel, and only accepts that one.
* Merge commit 'a58873b11198d04670b7f98f5a8a749d742db7c5'James Almer2017-11-10
| | | | | | | * commit 'a58873b11198d04670b7f98f5a8a749d742db7c5': avconv: when using -loop option bail out if seek to start fails Merged-by: James Almer <jamrial@gmail.com>