summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* avcodec/cbs_av1: add an option to select an operating pointJames Almer2021-01-04
| | | | | | | | | This implements the function drop_obu() as defined in Setion 6.2.1 from the spec. In a reading only scenario, units that belong to an operating point the caller doesn't want should not be parsed. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/cbs: allow cbs_read_fragment_content() to skip decomposition of unitsJames Almer2021-01-04
| | | | | | | | | | The caller may not need all units in a fragment in reading only scenarios. They could in fact alter global state stored in the private CodedBitstreamType fields in an undesirable way. With this change, unit decomposition can be skipped based on parsed values within the unit. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/cbs: add an AVClass to CodedBitstreamType for option handlingJames Almer2021-01-04
| | | | | | So unit parsing may be configured with caller set options. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libkvazaar: Set default ratecontrol algorithm for libkvazaarJoose Sainio2021-01-04
| | | | | | | | The standalone version of Kvazaar sets a default ratecontrol algorithm when bitrate is set. Mirror this behaviour. Signed-off-by: Joose Sainio <joose.sainio@tuni.fi> Signed-off-by: Linjie Fu <linjie.justin.fu@gmail.com>
* avcodec/hevcdec: fix stat_coeff save/load for ↵Xu Guangxin2021-01-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | persistent_rice_adaptation_enabled_flag It's required by the 9.3.1 TableStatCoeff* section. Following clips have this feature: WPP_HIGH_TP_444_8BIT_RExt_Apple_2.bit Bitdepth_A_RExt_Sony_1.bin Bitdepth_B_RExt_Sony_1.bin EXTPREC_HIGHTHROUGHPUT_444_16_INTRA_10BIT_RExt_Sony_1.bit EXTPREC_HIGHTHROUGHPUT_444_16_INTRA_12BIT_RExt_Sony_1.bit EXTPREC_HIGHTHROUGHPUT_444_16_INTRA_8BIT_RExt_Sony_1.bit EXTPREC_MAIN_444_16_INTRA_10BIT_RExt_Sony_1.bit EXTPREC_MAIN_444_16_INTRA_12BIT_RExt_Sony_1.bit EXTPREC_MAIN_444_16_INTRA_8BIT_RExt_Sony_1.bit WPP_AND_TILE_10Bit422Test_HIGH_TP_444_10BIT_RExt_Apple_2.bit WPP_AND_TILE_AND_CABAC_BYPASS_ALIGN_0_HIGH_TP_444_14BIT_RExt_Apple_2.bit WPP_AND_TILE_AND_CABAC_BYPASS_ALIGN_1_HIGH_TP_444_14BIT_RExt_Apple_2.bit WPP_AND_TILE_HIGH_TP_444_8BIT_RExt_Apple_2.bit you can download them from: https://www.itu.int/wftp3/av-arch/jctvc-site/bitstream_exchange/draft_conformance/RExt/ Signed-off-by: Xu Guangxin <oddstone@gmail.com> Signed-off-by: Linjie Fu <linjie.justin.fu@gmail.com>
* avfilter/af_astats: clip input value to prevent overflowPaul B Mahol2021-01-04
|
* avformat/rtpdec: export Opus extradata in ff_rtp_parse_open()Jonathan Baudanza2021-01-03
|
* avfilter/vf_w3fdif: not interlaced frames are filtered like tffPaul B Mahol2021-01-03
|
* avfilter/vf_w3fdif: add two more useful optionsPaul B Mahol2021-01-03
|
* avformat/http: support retry on connection errorerankor2021-01-03
| | | | | | | | | | | | | | | | | | Add 2 new options: - reconnect_on_http_error - a list of http status codes that should be retried. the list can contain explicit status codes / the strings 4xx/5xx. - reconnect_on_network_error - reconnects on arbitrary errors during connect, e.g. ECONNRESET/ETIMEDOUT the retry employs the same exponential backoff logic as the existing reconnect/reconnect_at_eof flags. related tickets: https://trac.ffmpeg.org/ticket/6066 https://trac.ffmpeg.org/ticket/7768 Signed-off-by: Marton Balint <cus@passwd.hu>
* avformat/wavdec: Avoid zeroing written to arrayMichael Niedermayer2021-01-03
| | | | | | | | Fixes: OOM Fixes: 26934/clusterfuzz-testcase-minimized-ffmpeg_dem_W64_fuzzer-5996784213819392 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/notchlc: Check uncompressed size against input for LZ4Michael Niedermayer2021-01-03
| | | | | | | | | Fixes: OOM Fixes: 26168/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_NOTCHLC_fuzzer-6019839015256064 Fixes: 28397/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_NOTCHLC_fuzzer-5649039941042176 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/videotoolbox: make FFmpeg-to-VT mapping error more informativeJan Ekström2021-01-02
| | | | Now logs the actual failed-to-map pixel format as well as range.
* Mark some pointers as constAndreas Rheinhardt2021-01-01
| | | | | Reviewed-by: Lynne <dev@lynne.ee> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* lavc/mjpegdec: cosmetics, org->origAnton Khirnov2021-01-01
|
* fate: add tests for AVIDAnton Khirnov2021-01-01
| | | | Samples cut from tickets 971 and 4741
* api-seek-test: use non-obsolete decoding APIAnton Khirnov2021-01-01
|
* api-band-test: use non-obsolete decoding APIAnton Khirnov2021-01-01
|
* api-h264-test: use non-obsolete decoding APIAnton Khirnov2021-01-01
|
* lavfi/vf_uspp: convert to the video_enc_params APIAnton Khirnov2021-01-01
|
* lavfi/vf_codecview: convert to the video_enc_params APIAnton Khirnov2021-01-01
|
* lavfi/vf_fspp: convert to the video_enc_params APIAnton Khirnov2021-01-01
|
* lavfi/vf_pp7: convert to the video_enc_params APIAnton Khirnov2021-01-01
| | | | Re-enable fate-filter-pp7
* lavfi/vf_spp: convert to the video_enc_params APIAnton Khirnov2021-01-01
| | | | Re-enable fate-filter-spp
* lavfi/vf_pp: convert to the video_enc_params APIAnton Khirnov2021-01-01
| | | | Re-enable fate-filter-qp and fate-filter-pp.
* lavfi: add common code to handle QP tablesAnton Khirnov2021-01-01
| | | | | It will be used for converting the *pp filters to the new AVVideoEncParams API.
* lavfi/vf_qp: convert to the video_enc_params APIAnton Khirnov2021-01-01
| | | | Temporarily disable fate-filter-qp until vf_pp is converted.
* mpegvideo: use the AVVideoEncParams API for exporting QP tablesAnton Khirnov2021-01-01
| | | | | | | | | | Do it only when requested with the AV_CODEC_EXPORT_DATA_VIDEO_ENC_PARAMS flag. Drop previous code using the long-deprecated AV_FRAME_DATA_QP_TABLE* API. Temporarily disable fate-filter-pp, fate-filter-pp7, fate-filter-spp. They will be reenabled once these filters are converted in following commits.
* lavu/mem: move the DECLARE_ALIGNED macro family to mem_internal on next+1 bumpAnton Khirnov2021-01-01
| | | | They are not properly namespaced and not intended for public use.
* lavu: move LOCAL_ALIGNED from internal.h to mem_internal.hAnton Khirnov2021-01-01
| | | | That is a more appropriate place for it.
* avfilter: add temporal midway equalizer filterPaul B Mahol2021-01-01
|
* configure: update copyright yearLynne2021-01-01
|
* avcodec/svq1dec: Increase nb_bits of VLC to read it in one goAndreas Rheinhardt2020-12-31
| | | | | Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/dirac_arith: Make table only used here staticAndreas Rheinhardt2020-12-31
| | | | | Reviewed-by: Lynne <dev@lynne.ee> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/qdmc: Mark decoder as init-threadsafeAndreas Rheinhardt2020-12-31
| | | | | | | It already uses ff_thread_once() to initialize its static data. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/opusdec: Mark decoder as init-threadsafeAndreas Rheinhardt2020-12-31
| | | | | Reviewed-by: Lynne <dev@lynne.ee> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/opusdec: Cleanup generically on init failureAndreas Rheinhardt2020-12-31
| | | | | Reviewed-by: Lynne <dev@lynne.ee> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/opusdec: Move per-stream fields to OpusStreamContextAndreas Rheinhardt2020-12-31
| | | | | | | | Besides being more natural it also avoids allocations for separate arrays of decoded samples/output buffers/.... Reviewed-by: Lynne <dev@lynne.ee> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/opusdec: Return error upon errorAndreas Rheinhardt2020-12-31
| | | | | | | | | The Opus decoder forgot to return an error when allocating an SwrContext fails. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Reviewed-by: Lynne <dev@lynne.ee> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/aacps_common: Use minimal VLC nb_bits/max_depthAndreas Rheinhardt2020-12-31
| | | | | Reviewed-by: Lynne <dev@lynne.ee> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/aacps: Factor out code shared by float and fixed point decoderAndreas Rheinhardt2020-12-31
| | | | | | | Saves about 7KiB. Reviewed-by: Lynne <dev@lynne.ee> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/mpegvideo: Don't zero-initialize unnecessarilyAndreas Rheinhardt2020-12-31
| | | | | | | mbintra_table will be memset to 1 a few lines after its allocation. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/aacsbr_template: Remove pointless runtime initializationAndreas Rheinhardt2020-12-31
| | | | | | | | | | | | | | | | | The sbr_qmf_window_us array is basically symmetric around its middle element and therefore the latter half is currently initialized from the first half at runtime. Yet because the first half is initialized, the array can't be placed in .bss at all, so that one gains nothing from not already initializing the whole array statically. Therefore this commit does exactly this. (There are two exceptions to the symmetry: Elements 384 and 512 are the negations of their mirror element; for the fixed-point decoder, Q31(-x) does not equal -Q31(x). In order to keep the array exactly the same, the latter form has been used for these two elements.) Reviewed-by: Lynne <dev@lynne.ee> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/aacsbr: Remove remnants of tablegenAndreas Rheinhardt2020-12-31
| | | | | | | | These tables are always initialized at runtime since commit cb93df0dcbd34107c64ec053504fa294b728a9c9. Reviewed-by: Lynne <dev@lynne.ee> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/atrac3plus_data: Mark array as constAndreas Rheinhardt2020-12-31
| | | | | | | Forgotten in a7dbeb77c3c30ac4904928978938b209ff6e1ab1. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/mlpenc: Simplify finding best codebookAndreas Rheinhardt2020-12-31
| | | | | | | | | | | | Finding the best codebook involves comparing different paths, where each path is a sequence of several decisions (namely which codebook to use). Up until now, these sequence was encoded in a NUL-terminated string and the actual decisions were encoded as ’\0'..'\3' (which encoded 0..3). This commit modifies this to actually encode it via 0..3 by switching away from a C-string to a simple array with an explicit length field. Reviewed-by: Lynne <dev@lynne.ee> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/opusdec: Remove always-true checkAndreas Rheinhardt2020-12-31
| | | | | | | | The celt_delay AVAudioFifo is always allocated during init, so checking for its existence in .flush is unnecessary. Reviewed-by: Lynne <dev@lynne.ee> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avfilter/vf_addroi: Use chars instead of strings for one-char stringsAndreas Rheinhardt2020-12-31
| | | | | Reviewed-by: Guo, Yejun <yejun.guo@intel.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/opustab: Make array staticAndreas Rheinhardt2020-12-31
| | | | | Reviewed-by: Lynne <dev@lynne.ee> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/motion_est, mpegvideo: Make pointers to static storage constAndreas Rheinhardt2020-12-31
| | | | | | | | | Modifying static storage must not happen because of multithreading (except initialization of course), so add const to the pointed-to type for pointers that point to static storage. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>