summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* avcodec/options_table: Treat (request_)channel_layout as channel layoutAndreas Rheinhardt2021-08-15
| | | | | | | Also adapt some FATE tests to already cover this. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vf_fieldorder: Simplify setting common pixel formatsAndreas Rheinhardt2021-08-15
| | | | | | | by using ff_set_common_formats(). Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vf_find_rect: Don't make frame writable unnecessarilyAndreas Rheinhardt2021-08-15
| | | | | | | | AVFrame.metadata is always owned by its AVFrame, it is not shared in the first place, so one does not need to make the frame writable to modify it. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vf_colorkey: Don't manually make frame writableAndreas Rheinhardt2021-08-15
| | | | | | Instead, set AVFilterPad.needs_writable. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vf_despill: Don't manually make frame writableAndreas Rheinhardt2021-08-15
| | | | | | Instead, set AVFilterPad.needs_writable. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vf_lumakey: Don't manually make frame writableAndreas Rheinhardt2021-08-15
| | | | | | Instead, set AVFilterPad.needs_writable. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vf_paletteuse: Remove redundant freeing codeAndreas Rheinhardt2021-08-15
| | | | | | AVFilter.uninit is called automatically if init fails. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/internal: Factor out executing a filter's execute_funcAndreas Rheinhardt2021-08-15
| | | | | | | The current way of doing it involves writing the ctx parameter twice. Reviewed-by: Nicolas George <george@nsup.org> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vf_colorcorrect: add subsampling formats supportPaul B Mahol2021-08-15
|
* avfilter/vf_colorcorrect: remove code touching Y componentPaul B Mahol2021-08-15
| | | | It is not needed operation.
* avcodec/h264_sei: fix H.274 film grain parsingNiklas Haas2021-08-15
| | | | | | | | | | The current code reads the wrong number of bits for `fg_model_id`, which causes all of the values downstream of this to contain corrupt values. Fixes: corrupt SEI values Fixes: 4ff73add5dbe6c319d693355be44df2e17a0b8bf Signed-off-by: Niklas Haas <git@haasn.dev>
* avfilter/avf_showspectrum: add unwrapped phase data modePaul B Mahol2021-08-15
|
* avcodec/trace_headers_bsf: also parse extradata in packet side dataJames Almer2021-08-14
| | | | | | | | | Certain mov/mp4 files have parameter sets out of band, and when required for a sample it may be propagated within the relevant packet's side data. This fixes parsing said files if the SPS and/or PPS in the side data is different than the one in extradata. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/cbs_bsf: use ff_cbs_read_packet_side_data() to parse extradata in ↵James Almer2021-08-14
| | | | | | packet side data Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/cbs: add a helper to read extradata within packet side dataJames Almer2021-08-14
| | | | | | | | Using ff_cbs_read() on the raw buffer will not parse it as extradata, resulting in parsing errors for example when handling ISOBMFF avcC. This helper works around that. Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/isom_tags: prefer in24 for 24bit PCM in MOVJan Ekström2021-08-14
| | | | | | | | | | | | | In 1c42fd93236e7869ef4d9fe3650dd3e951387321 the ipcm identifier was added in order to demux additional raw audio from Sony MP4 files. Unfortunately, it was not noticed that this same list is utilized for muxing as well, thus causing ipcm to get preferred compared to the identifier officially specified in QTFF documentation. This fixes the order of preference for 24bit PCM, where ipcm is still allowed, but in24 is the first match - thus being preferred. Fixes fate-acodec-pcm-s24be.
* compat/cuda: add __expf() implementationTimo Rothenpieler2021-08-14
|
* libavformat/isom_tags.c: add ipcm to list of tagsStephen Hutchinson2021-08-14
| | | | Fixes http://trac.ffmpeg.org/ticket/9219
* avformat/mxfdec: store parition score instead of partition pointer in metadataMarton Balint2021-08-14
| | | | | | | | | Partition struct may be reallocated, so let's store the score directly in order to avoid use-after-free. Also mxf->current_partition might be null when reading some local tags. Signed-off-by: Marton Balint <cus@passwd.hu>
* avcodec/smc: use shorter way to access GetByteContextPaul B Mahol2021-08-14
|
* avcodec/smc: use unchecked reader for call after checking remaining sizePaul B Mahol2021-08-14
|
* lavfi/formats: describe conversion in negotiation structure.Nicolas George2021-08-14
|
* lavfi/formats: put merge functions in structures.Nicolas George2021-08-14
| | | | | It makes the code clearer and will allow adding new stages of negotiation easier.
* lavu/internal: add FF_FIELD_AT().Nicolas George2021-08-14
|
* hwcontext_vulkan: use GPU memcpy when copying to system RAMLynne2021-08-14
| | | | This should speed it up significantly on systems where it matters.
* imgutils: expose av_image_copy_plane_uc_from()Lynne2021-08-14
| | | | | | | | | | | | The reason why the generic av_image_copy_uc_from() doesn't really fit in the case for Vulkan is because some planes may be copied via other methods (such as mapping GPU memory), and if they don't satisfy the strict alignment requirements, a gpu image->gpu buffer->cpu ram copy is performed. We need this for hwcontext_vulkan, and I think this will also be useful to API users like libplacebo who would rather not write a custom SIMD memcpy.
* avfilter/vf_transpose_npp: Use correct array nameAndreas Rheinhardt2021-08-13
| | | | | | | Fixes build failures since 18ec426a861c1a9a2072080796dff146bafecb53. Found-by: Gregory Beauregard Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/smc: use uint8_t type instead of longer variantPaul B Mahol2021-08-13
|
* avcodec/smc: report error codes instead of silently ignoring themPaul B Mahol2021-08-13
|
* avcodec/smc: 0xF0 opcode operates like 0xE0 opcodePaul B Mahol2021-08-13
|
* avfilter/formats: Factor common function combinations outAndreas Rheinhardt2021-08-13
| | | | | | | | | | | Several combinations of functions happen quite often in query_format functions; e.g. ff_set_common_formats(ctx, ff_make_format_list(sample_fmts)) is very common. This commit therefore adds functions that are equivalent to commonly used function combinations in order to reduce code duplication. Reviewed-by: Nicolas George <george@nsup.org> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* Fix for bug #9231: B-frames parameter is ignored in videotoolboxencAnselm Busse2021-08-13
| | | | | | | | | This commit fixes the bug as report in https://trac.ffmpeg.org/ticket/9231 by removing the line that overwrites the user settings for max_b_frames. Signed-off-by: Anselm Busse <anselm.busse@outlook.com> Signed-off-by: Rick Kern <kernrj@gmail.com>
* lavc/qsvenc: allows the SDK runtime to choose LowPower/non-LowPower modesHaihao Xiang2021-08-12
| | | | | | | | | | | | | The SDK supports LowPower and non-LowPower modes, but some features are available only under one of the two modes. Currently non-LowPower mode is always chosen in FFmpeg if the mode is not set to LowPower explicitly. User will experience some SDK errors if a LowPower related feature is specified but the mode is not set to LowPower. With this patch, the mode is set to unknown by default in FFmpeg, the SDK is able to choose a workable mode for the specified features. Reviewed-by: Soft Works <softworkz@hotmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avutil/mem: Correct av_calloc() documentationAndreas Rheinhardt2021-08-12
| | | | | | Incorrect since 4959f18a8e11ad7d3529b1c4fc429f1b6b76ad7c. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/mem: Reinline av_size_mult() internallyAndreas Rheinhardt2021-08-12
| | | | | | | | | | | | | Since 580e168a945b65100ec2c25433f33bfacfe9f7be, av_size_mult() is no longer inlined; on systems where interposing is a thing, this also inhibits the compiler from inlining said function into the internal callers of said function, although inlining such a small function is typically beneficial: With GCC 10.3 on Ubuntu x64 and -O3 this decreases the size of av_realloc_array from 91B to 23B, from 129B to 81B for av_realloc_f and from 77B to 23B for each of av_malloc_array, av_mallocz_array and av_calloc. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/oggdec: Use av_realloc_array()Andreas Rheinhardt2021-08-12
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vf_scale: Avoid unnecessary indirectionAndreas Rheinhardt2021-08-12
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* libavformat/file.c: 'file_delete()' and 'file_move()' require ↵Michael Witten2021-08-12
| | | | | | | | 'CONFIG_FILE_PROTOCOL' This quashes 2 warnings when the 'file' protocol is not enabled. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* doc/examples/qsvdec: simplify this example via hw_device_ctx interfaceHaihao Xiang2021-08-11
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* qsvdec: add support for HW_DEVICE_CTX methodHaihao Xiang2021-08-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows user set hw_device_ctx instead of hw_frames_ctx for QSV decoders, hence we may remove the ad-hoc libmfx setup code from FFmpeg. "-hwaccel_output_format format" is applied to QSV decoders after removing the ad-hoc libmfx code. In order to keep compatibility with old commandlines, the default format is set to AV_PIX_FMT_QSV, but this behavior will be removed in the future. Please set "-hwaccel_output_format qsv" explicitly if AV_PIX_FMT_QSV is expected. The normal device stuff works for QSV decoders now, user may use "-init_hw_device args" to initialise device and "-hwaccel_device devicename" to select a device for QSV decoders. "-qsv_device device" which was added for workarounding device selection in the ad-hoc libmfx code still works For example: $> ffmpeg -init_hw_device qsv=qsv:hw_any,child_device=/dev/dri/card0 -hwaccel qsv -c:v h264_qsv -i input.h264 -f null - /dev/dri/renderD128 is actually open for h264_qsv decoder in the above command without this patch. After applying this patch, /dev/dri/card0 is used. $> ffmpeg -init_hw_device vaapi=va:/dev/dri/card0 -init_hw_device qsv=hw@va -hwaccel_device hw -hwaccel qsv -c:v h264_qsv -i input.h264 -f null - device hw of type qsv is not usable in the above command without this patch. After applying this patch, this command works as expected. Reviewed-by: Soft Works <softworkz@hotmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avfilter/avfilter: Use av_memdup where appropriateAndreas Rheinhardt2021-08-11
| | | | | Reviewed-by: Nicolas George <george@nsup.org> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fftools/cmdutils: Use av_strstart() instead of strncmp()Andreas Rheinhardt2021-08-11
| | | | | | This also avoids hardcoding lengths. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* libavcodec/qsvence: Use QSV encoder defaults as ffmpeg defaultsSoft Works2021-08-11
| | | | Signed-off-by: softworkz <softworkz@hotmail.com>
* avfilter/af_join: fix eof timestamps and blocking in many scenariosPaul B Mahol2021-08-10
|
* avcodec/h264_slice: use ff_h264_replace_picture when syncing thread contextsJames Almer2021-08-10
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/h264_picture: add ff_h264_replace_picture()James Almer2021-08-10
| | | | | | | Will remove unnecessary allocations when both src and dst picture contain references to the same buffers. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/h264_picture: split copying H264Picture some fields into a separate ↵James Almer2021-08-10
| | | | | | function Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/h264_slice: clear old slice POC values on parsing failureJames Almer2021-08-10
| | | | | | | | If a slice header fails to parse, and the next one uses different Sequence and Picture parameter sets, certain values may not be read if they are not coded, resulting in the previous slice values being used. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/faxcompr: Check for end of input in cmode == 1 in ↵Michael Niedermayer2021-08-10
| | | | | | | | | | decode_group3_2d_line() Fixes: Infinite loop Fixes: 35591/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_TIFF_fuzzer-4503764022198272 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/vc1dec: Disable error concealment for *IMAGEMichael Niedermayer2021-08-10
| | | | | | | | | | | | | | The existing error concealment makes no sense for the image formats, they use transformed source images which is different from keyframe + MC+difference for which the error concealment is designed. Of course feel free to re-enable this if you have a case where it works and improves vissual results Fixes: Timeout Fixes: 36234/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_VC1IMAGE_fuzzer-6300306743885824 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>