summaryrefslogtreecommitdiff
path: root/libavcodec
Commit message (Collapse)AuthorAge
* avcodec: [loongarch] Optimize vp9_mc/intra with LSX.Hao Chen2021-12-23
| | | | | | | | | ffmpeg -i ../10_vp9_1080p_30fps_3Mbps.webm -f rawvideo -y /dev/null -an before:170fps after :294fps Reviewed-by: Shiyou Yin <yinshiyou-hf@loongson.cn> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec: [loongarch] Optimize vp8_lpf/mc with LSX.yuanhecai2021-12-23
| | | | | | | | | ./ffmpeg -i ../9_vp8_1080p_30fps_2Mbps.webm -f rawvideo -y /dev/null -an before: 210fps after : 585fps Reviewed-by: Shiyou Yin <yinshiyou-hf@loongson.cn> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavc/qsvenc: enable lookahead for hevc encodingZhong Li2021-12-23
| | | | | | | | | Update version based on the patch: https://patchwork.ffmpeg.org/project/ffmpeg/patch/20211009015949.1510-1-haihao.xiang@intel.com/ Signed-off-by: Daniel Socek <daniel.socek@intel.com> Signed-off-by: Haihao Xiang <haihao.xiang@intel.com> Signed-off-by: Zhong Li <zhongli_dev@126.com>
* lavc/qsvenc: specify codec name when print profileZhong Li2021-12-23
| | | | | | | | It is more clear and easily to detect the issues similar to commit 3857ecbe70e81cb6ad7a7f155c311e8522b93b3e Signed-off-by: Zhong Li <zhongli_dev@126.com> Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
* lavc/videotoolboxenc: explicitly set realtime=falsercombs2021-12-22
| | | | | | On some encoders, this defaults to true, which can result in encode speed being _limited_ to only slightly above realtime (as a power-saving measure), so we need a way to disable it.
* libavcodec/videotoolboxenc: use the correct types for optionsrcombs2021-12-22
| | | | | These are all set by AV_OPT_TYPE_INT or AV_OPT_TYPE_BOOL; the only reason they worked before was that this is only used on little-endian.
* lavc/videotoolbox: set attachments on decoded buffersrcombs2021-12-22
| | | | | | VideoToolbox internally sets all the colorspace parameters to BT709, regardless of what the bitstream actually indicates, so we need to replace that with what we've parsed.
* lavc/proresdec: fix threaded hwaccel decodercombs2021-12-22
|
* lavc/videotoolboxenc: add ProRes supportrcombs2021-12-22
|
* lavc/Makefile: fix missing hevc_videotoolbox casercombs2021-12-22
|
* lavc/videotoolboxenc: add handling for non-NAL-based codecsrcombs2021-12-22
|
* lavc/videotoolboxenc: vastly simplify get_cv_pixel_inforcombs2021-12-22
| | | | | | No longer requires per-format switch cases. The frame==0 path was unused (and would've crashed anyway).
* lavc/videotoolboxenc: config-gate ATSC CC supportrcombs2021-12-22
|
* lavc/videotoolboxenc: fix RGB supportrcombs2021-12-22
|
* lavc/videotoolboxenc: detect alpha more genericallyrcombs2021-12-22
| | | | Fixes support for alpha in hardware input frames
* lavc/videotoolboxenc: don't access int64_t member as intrcombs2021-12-22
|
* lavc/videotoolboxenc: use common routine for pixfmt conversionrcombs2021-12-22
|
* avcodec/v210enc: suppport frame thread for v210Limin Wang2021-12-22
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avcodec/rawenc: suppport frame thread for rawvideoLimin Wang2021-12-22
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avcodec/libx264: Don't unnecessarily add in-band extradataAndreas Rheinhardt2021-12-21
| | | | | | | | | | | | The check here is meant to check for whether avcintra-class option (default value -1) has been set; yet it checks for the x264_param_t value where 0 is the default value (treated as "no avcintra-mode" by x264). This meant that in-band extradata has been added unnecessarily when using global headers; furthermore, the first output packet had two x264 SEIs. Reviewed-by: Limin Wang <lance.lmwang@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* lavc/qsvenc: dump parameters for mjpeg encoding in verbose modeHaihao Xiang2021-12-19
| | | | Signed-off-by: Zhong Li <zhongli_dev@126.com>
* lavc/qsvenc: dump parameters for VP9 encoding in verbose modeHaihao Xiang2021-12-19
| | | | Signed-off-by: Zhong Li <zhongli_dev@126.com>
* lavc/qsvenc: add VP9 profilesHaihao Xiang2021-12-19
| | | | Signed-off-by: Zhong Li <zhongli_dev@126.com>
* lavc/qsvenc: define profile array per codecHaihao Xiang2021-12-19
| | | | | | | | | | | | | The SDK defines HEVC, VP9 and AV1 profiles in the same values e.g. MFX_PROFILE_HEVC_MAIN =1, MFX_PROFILE_VP9_0 =1, MFX_PROFILE_AV1_MAIN =1, To avoid potential errors when adding VP9, AV1 profiles later, this patch defines profile array per codec. Signed-off-by: Zhong Li <zhongli_dev@126.com>
* lavc/qsvenc: remove VC1 profilesHaihao Xiang2021-12-19
| | | | | | | | | | | | | | The SDK doesn't support VC1 encoding. In addition, both MFX_PROFILE_VC1_SIMPLE and MFX_PROFILE_HEVC_MAIN are 1 in the SDK, HEVC main profile is recognized as simple profile in the verbose output if don't remove VC1 profiles. $ ffmpeg -v verbose -qsv_device /dev/dri/renderD129 -f lavfi -i yuvtestsrc -c:v hevc_qsv -f null - [hevc_qsv @ 0x55bdf7eb4eb0] profile: simple; level: 21 Signed-off-by: Zhong Li <zhongli_dev@126.com>
* avcodec/ffv1dec: Don't copy unused fieldAndreas Rheinhardt2021-12-19
| | | | | | The decoder always uses AVCodecContext.bits_per_raw_sample. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/ffv1, ffv1dec: Add const where appropriateAndreas Rheinhardt2021-12-19
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/ffv1dec: Remove redundant writes, fix racesAndreas Rheinhardt2021-12-19
| | | | | | | | | | | | | | Every modification of the data that is copied in update_thread_context() is a data race if it happens after ff_thread_finish_setup. ffv1dec's update_thread_context() simply uses memcpy for updating the new context, so that every modification of the src's context is a race. Some of these modifications are unnecessary: picture_number is write-only for the decoder and cur will be reset when decoding the next frame anyway. So remove them. And while just at it, also don't set cur for the slice contexts as this variable is write-only. Reviewed-by: Anton Khirnov <anton@khirnov.net> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/Makefile: Remove superfluous avformat->DNXHD dependenciesAndreas Rheinhardt2021-12-19
| | | | | | | | | There is no mxfenc dependency any more since commit b9a26b9d55f77ebbff3596e46be54bb5fed469d3. Also remove a dnxhddata.h inclusion in mxfenc that was forgotten in the very same commit. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/thd: fix special stereo supportPaul B Mahol2021-12-18
|
* avcodec/cdgraphics: fix transparency handlingPaul B Mahol2021-12-18
|
* avcodec/cdgraphics: unbreak rendering of vertical scrollingPaul B Mahol2021-12-18
|
* avcodec/alacdsp: fix integer overflow in decorrelate_stereo()Michael Niedermayer2021-12-17
| | | | | | | | | Fixes: signed integer overflow: -16777216 * 131 cannot be represented in type 'int' Fixes: 23835/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_ALAC_fuzzer-5669943160078336 Fixes: 41101/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_ALAC_fuzzer-4636330705944576 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavc/encode: set frame_number for encoders using receive_packet()Anton Khirnov2021-12-17
| | | | | It is currently set in encode_simple_internal(), which is only called for encoders using the "simple" encoding API.
* lavc/encode: improve the empty frame checkAnton Khirnov2021-12-17
| | | | | Test for buf[0] rather than data[0] (which is broken for some hwaccel formats).
* avcodec/mpegvideo_enc: Reindent after the previous commitAndreas Rheinhardt2021-12-17
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/mpegvideo_enc: Remove some impossible branchesAndreas Rheinhardt2021-12-17
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/mpegvideo_enc: Combine some checksAndreas Rheinhardt2021-12-17
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/mpegvideo: ReindentationAndreas Rheinhardt2021-12-17
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/h263: Remove declaration of inexistent functionAndreas Rheinhardt2021-12-17
| | | | | | Forgotten in c46eeae2a80dfe0046c15b542e8b9a2c78f19bf7. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/mpegvideo: Allocate several buffers jointlyAndreas Rheinhardt2021-12-17
| | | | | | Reduces the amount of allocations and frees. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/mpegvideo: Don't allocate encoder-only buffers when decodingAndreas Rheinhardt2021-12-17
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/mpegvideo_enc, vc1dec: Remove always-false checkAndreas Rheinhardt2021-12-17
| | | | | | Mpeg1EncContext.droppable is only nonzero for the FLV decoder. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/mpegvideo: Don't update encoder-only fields for decodersAndreas Rheinhardt2021-12-17
| | | | | | ff_mpeg_update_thread_context() is only used by decoders. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/mpegvideo: Move closed_gop to Mpeg1ContextAndreas Rheinhardt2021-12-17
| | | | | | Only used there and only by the main thread. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/speexdec: Avoid violating the vector_fmul_scalar() APIMichael Niedermayer2021-12-16
| | | | | | | | Fixes: out of array access Fixes: 40054/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SPEEX_fuzzer-6713285764841472 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/tests: Update .gitignore fileAndreas Rheinhardt2021-12-16
| | | | | | Forgotten in 136865413c04760aeeda6079002bc3c1f9ae230a. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/speedhq: Replace always-true check by assertAndreas Rheinhardt2021-12-16
| | | | | | Should fix Coverity tickets #1473572 and #1473504. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/decode: Reset *got_sub_ptr on errorAndreas Rheinhardt2021-12-16
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/xsubdec: Use dedicated pointer for AVSubtitleRectAndreas Rheinhardt2021-12-16
| | | | | | Improves readability and slightly reduces codesize. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>