summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* avcodec/argo: use bits_per_coded_sample instead of bits_per_raw_sampleZane van Iperen2021-07-19
| | | | Signed-off-by: Zane van Iperen <zane@zanevaniperen.com>
* avformat/pp_bnk: don't set bits_per_raw_sampleZane van Iperen2021-07-19
| | | | Signed-off-by: Zane van Iperen <zane@zanevaniperen.com>
* avformat/kvag: don't set bits_per_raw_sampleZane van Iperen2021-07-19
| | | | Signed-off-by: Zane van Iperen <zane@zanevaniperen.com>
* avformat/apm: don't set bits_per_raw_sampleZane van Iperen2021-07-19
| | | | Signed-off-by: Zane van Iperen <zane@zanevaniperen.com>
* avformat/alp: don't set bits_per_raw_sampleZane van Iperen2021-07-19
| | | | Signed-off-by: Zane van Iperen <zane@zanevaniperen.com>
* avformat/argo_asf: don't set bits_per_raw_sampleZane van Iperen2021-07-19
| | | | Signed-off-by: Zane van Iperen <zane@zanevaniperen.com>
* avformat/argo_cvg: don't set bits_per_raw_sampleZane van Iperen2021-07-19
| | | | Signed-off-by: Zane van Iperen <zane@zanevaniperen.com>
* avcodec/dsd_tablegen: Merge header into dsd.cAndreas Rheinhardt2021-07-19
| | | | | | | | Since b492fbcc6e87094804fdf71308dc500976c6b165, the DSD tables are always initialized at runtime, so merge the dsd_tablegen.h header into dsd.c. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/internal: Mark ff_filter_get_nb_threads() as av_pureAndreas Rheinhardt2021-07-18
| | | | | | | | | | | It does not modify anything; it only returns a value, so it fulfills the requirements for av_pure. The deeper rationale behind this change is that this function is called quite often inside arguments to FFMIN which may lead to two calls to it; declaring this function as av_pure allows the compiler to optimize the second call away. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* Avoid calling functions repeatedly via FFMINAndreas Rheinhardt2021-07-18
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/libavcodec.v: Tighten export whitelistAndreas Rheinhardt2021-07-18
| | | | | | | | | | | | | | Currently every symbol (with external linkage) that starts with "av" is exported. Yet libaom-av1 has lots of functions that are not meant to be exported and start with "av1_" (I counted 1236); and libvpx has average_split_mvs. These functions are exported if one links these libraries statically into a shared libavcodec.so. Solve this by tightening the whitelist to "av_", "avcodec_", "avpriv_" and (as a special-case) "avsubtitle_free". Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fftools/ffmpeg: Fix declaration-after-statement warningAndreas Rheinhardt2021-07-18
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/hwcontext_videotoolbox: implement hwupload to convert AVFrame to ↵Aman Karmani2021-07-18
| | | | | | | | | | | | CVPixelBuffer Teach AV_HWDEVICE_TYPE_VIDEOTOOLBOX to be able to create AVFrames of type AV_PIX_FMT_VIDEOTOOLBOX. This can be used to hwupload a regular AVFrame into its CVPixelBuffer equivalent. ffmpeg -init_hw_device videotoolbox -f lavfi -i color=black:640x480 -vf hwupload -c:v h264_videotoolbox -f null -y /dev/null Signed-off-by: Aman Karmani <aman@tmm1.net>
* x86/tx_float: correctly load the transform lengthLynne2021-07-18
| | | | | | | | The field is a standard field, yet we were loading it as if it was a quadword. This worked for forward transforms by chance, but broke when the transform was inverse. checkasm couldn't catch that because we only test forward transforms, which are identical to inverse transforms but with a different revtab.
* fftools/ffmpeg: fix -t inaccurate recording timeShiwang.Xie2021-07-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | if input start time is not 0 -t is inaccurate doing stream copy, will record extra duration according to input start time. it should base on following cases: input video start time from 60s, duration is 300s, 1. stream copy: ffmpeg -ss 40 -t 60 -i in.mp4 -c copy -y out.mp4 open_input_file() will seek to 100 and set ts_offset to -100, process_input() will offset pkt->pts with ts_offset to make it 0, so when do_streamcopy() with -t, exits when ist->pts >= recording_time. 2. stream copy with -copyts: ffmpeg -ss 40 -t 60 -copyts -i in.mp4 -c copy -y out.mp4 open_input_file() will seek to 100 and set ts_offset to 0, process_input() will keep raw pkt->pts as ts_offset is 0, so when do_streamcopy() with -t, exits when ist->pts >= (recording_time+f->start_time+f->ctx->start_time). 3. stream copy with -copyts -start_at_zero: ffmpeg -ss 40 -t 60 -copyts -start_at_zero -i in.mp4 -c copy -y out.mp4 open_input_file() will seek to 120 and set ts_offset to -60 as start_to_zero option, process_input() will offset pkt->pts with input file start time, so when do_streamcopy() with -t, exits when ist->pts >= (recording_time+f->start_time). 0 60 40 60 360 |_______|_____|_______|_______________________| start -ss -t This fixes ticket #9141. Signed-off-by: Shiwang.Xie <shiwang.xie666@outlook.com>
* avformat/subtitles: Deduplicate subtitles' read_(packet|seek|close)Andreas Rheinhardt2021-07-18
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/utils: remove AVStreamInternal.orig_codec_idJames Almer2021-07-17
| | | | | | | It's a write only field. Reviewed-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avfilter/vf_v360: avoid doubles in fov_from_dfov()Paul B Mahol2021-07-17
|
* ffmpeg: add option readrateGyan Doshi2021-07-17
| | | | | | | Allows to read inputs at arbitrary rates. -re is equivalent to -readrate 1 Tested with -copyts {+ start_at_zero}, -ss, streamcopied & decoded streams.
* avfilter/vf_chromanr: add also euclidean distance for calculationsPaul B Mahol2021-07-17
|
* avfilter/vf_v360: fix visibility test for fisheye projectionDaniel Playfair Cal2021-07-17
| | | | | Previously the visibility test referred to a circle in the input. This changes it so that it refers accurately to the entire area in the input.
* tools/target_dec_fuzzer: Fuzz FF_DEBUG_*Michael Niedermayer2021-07-17
| | | | | | This should increase coverage Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* tools/target_dec_fuzzer: Fuzz AV_CODEC_FLAG2_EXPORT_MVSMichael Niedermayer2021-07-17
| | | | | | This should increase coverage Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* tools/target_dec_fuzzer: Set extradata for the parserMichael Niedermayer2021-07-17
| | | | | | This should improve coverage Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* tools/target_dec_fuzzer: Fuzz skip_frameMichael Niedermayer2021-07-17
| | | | | | Should allow coverage of related code Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/mov: do not ignore errors in mov_metadata_hmmt()Michael Niedermayer2021-07-17
| | | | | | | | Fixes: Timeout Fixes: 35637/clusterfuzz-testcase-minimized-ffmpeg_dem_MOV_fuzzer-6311060272447488 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/mxfdec: Check size for shrinkingMichael Niedermayer2021-07-17
| | | | | | | | | av_shrink_packet() takes int size, so size must fit in int Fixes: out of array access Fixes: 35607/clusterfuzz-testcase-minimized-ffmpeg_dem_MXF_fuzzer-4875541323841536 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/exr: Check uncompressed_size against max_pixelsMichael Niedermayer2021-07-17
| | | | | | | | | Fixes: Timeout Fixes: 35286/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_EXR_fuzzer-6557139802914816 Fixes: 31253/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_EXR_fuzzer-4901782326214656 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* fftools/cmdutils.c: Add cmd line option to override detection of cpu count.Thilo Borgmann2021-07-16
|
* lavu/cpu.c: Add av_force_cpu_count() to override auto-detection.Thilo Borgmann2021-07-16
|
* fftools/ffmpeg: Add new variant source_no_drop to the force_key_frames optionKeyun Tong2021-07-16
| | | | Suggested-By: ffmpeg@fb.com
* avfilter/[vf_nnedi, vf_estdif]: check interlaced flag on correct frameKacper Michajłow2021-07-16
| | | | | | | Fixes regression in vf_nnedi after 24dc6d386c6f7edb8f6945319f53a7f0b1642bb8 and vf_estdif while at it. Signed-off-by: Kacper Michajłow <kasper93@gmail.com>
* avfilter/vf_nnedi: fix time base for large denominatorsPaul B Mahol2021-07-16
|
* avfilter/vf_estdif: fix time base for large denominatorsPaul B Mahol2021-07-16
|
* avfilter/vf_w3fdif: fix time base for large denominatorsPaul B Mahol2021-07-16
|
* ffprobe: use quotation marks in the xml header outputJames Almer2021-07-15
| | | | | | | | xmllint (silently) replaces the ' with " when fixing and validating the output of ffprobe in fate-ffprobe_xsd. Reviewed-by: Tobias Rapp <t.rapp@noa-archive.com> Signed-off-by: James Almer <jamrial@gmail.com>
* configure: use the correct header for the fallback libxext checkJames Almer2021-07-15
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* configure: clean up and fix xlib checksJames Almer2021-07-15
| | | | | | Split them into separate checks per library. Signed-off-by: James Almer <jamrial@gmail.com>
* mov: Don't export unknown/unhandled metadata types as if they were UTF8Martin Storsjö2021-07-15
| | | | | | | They can be other incompatible text encodings (such as UTF-16), or even binary data. Signed-off-by: Martin Storsjö <martin@martin.st>
* mov: Pick up "com.apple.quicktime.artwork" as cover artMartin Storsjö2021-07-15
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* configure: use pkg-config for xlib/XvTimo Rothenpieler2021-07-14
|
* avcodec/libdav1d: parse sequence headers in extradata if availableJames Almer2021-07-14
| | | | | | | This allows the decoder context to be initialized with all stream parameters before a packet is parsed. Signed-off-by: James Almer <jamrial@gmail.com>
* Fix double write of DASH manifest in streaming modeKevin LaFlamme2021-07-14
| | | | | | | When streaming mode is enabled, the DASH manifest is written on the first packet for the segment so that the segment can be advertised immediately to clients. It was also still writing the manifest at the end of the segment leading to two duplicate writes.
* avfilter/af_astats: Only print header lines when values are to be printedTobias Rapp2021-07-14
| | | | | | | | Avoids empty "Channel" or "Overall" header lines added to log output when measurement is restricted to one scope using "measure_perchannel=none" or "measure_overall=none". Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
* fate/ffprobe: Verify ffprobe XML output against schema fileTobias Rapp2021-07-13
| | | | | | | | | | | Adds schema validation for ffprobe XML output so that updating the ffprobe.xsd file upon changes to ffprobe is not forgotten. This was suggested by Marton Balint in: http://ffmpeg.org/pipermail/ffmpeg-devel/2021-March/278428.html The schema FATE test is only run if xmllint command is available. Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
* libavformat/rtsp.c: Reply to GET_PARAMETER requestsHayden Myers2021-07-12
| | | | | | | | | | | | | | Some encoders send GET_PARAMETER requests as a keep-alive mechanism. If the client doesn't reply with an OK message, the encoder will close the session. This was encountered with the impath i5110 encoder, when the RTSP Keep-Alive checkbox is enabled under streaming settings. Alternatively one may set the X-No-Keepalive: 1 header, but this is more of a workaround. It's better practice to respond to an encoder's keep-alive request, than disable the mechanism which may be manufacturer specific. Signed-off-by: Hayden Myers <hmyers@skylinenet.net> Signed-off-by: Martin Storsjö <martin@martin.st>
* lavfi/vf_scale: forward errors from swscaleAnton Khirnov2021-07-12
|
* lavfi/vf_scale: pass only the private context to scale_slice()Anton Khirnov2021-07-12
| | | | | Not the input link. The function does nothing with the link except extract the private context from it.
* {configure,avcodec/libx264}: remove separate x264_csp_bgr checkJan Ekström2021-07-12
| | | | | | We already require X264_BUILD >= 118, which includes an unconditional definition of X264_CSP_BGR in itself, thus making this check effectively always true.
* configure: move x264_csp_bgr check under general libx264 checksJan Ekström2021-07-12
| | | | | | | | | | | | This makes the libx264rgb check work when pkg-config is utilized and x264.h is not part of the standard include path (as is often with cross-compilation, or when you just have a custom prefix in general in f.ex. your home directory). The X264_BUILD >= 118 required by configure since 2011 should have X264_CSP_BGR defined unconditionally (it was added a few X264_BUILD updates earlier), but as 134cba728bc6f4e3c5caec98b800faad244d8cfb added this additional check, I have kept it for now.