summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* avcodec/ilbcdec: fix typo, fixes CID 1439653Paul B Mahol2018-09-24
|
* avcodec/prosumer: Check remaining space in put byte contextMichael Niedermayer2018-09-24
| | | | | | | | | Fixes: Timeout Fixes: 10053/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_PROSUMER_fuzzer-5636993883570176 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/prosumer: Remove unused table elementMichael Niedermayer2018-09-24
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/prosumer: remove unneeded variable from vertical_predictMichael Niedermayer2018-09-24
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/prosumer: Rename do_shift() to vertical_predict()Michael Niedermayer2018-09-24
| | | | | | | | | | It seems what this function does is a vertical prediction filter, thus the new name should improve understanding. rename the related table_b too Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/prosumer: mark src as constMichael Niedermayer2018-09-24
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/prosumer: Only scan as many elements as matter in fill_elements()Michael Niedermayer2018-09-24
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/prosumer: factorize e0 setting outMichael Niedermayer2018-09-24
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/prosumer: Use 16bit instead of 32 for tableMichael Niedermayer2018-09-24
| | | | | | | Simplifies code and reduces needed memory Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/prosumer: Factorize the 2 loops in fill_elements()Michael Niedermayer2018-09-24
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/prosumer: clean up loop end code in fill_elements()Michael Niedermayer2018-09-24
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/prosumer: Remove dead codeMichael Niedermayer2018-09-24
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avfilter: document mono option of silencedetect filterPaul B Mahol2018-09-23
| | | | Also provide shorter option, and reorder options in documentation.
* avdevice/decklink: add support for selecting devices based on their unique IDMarton Balint2018-09-23
| | | | | | | | Also bump the API version requirement to 10.9.5, because on olders versions there were some reports of crashes using the undocumented, yet available BMDDeckLinkDeviceHandle. Signed-off-by: Marton Balint <cus@passwd.hu>
* avcodec/vaapi: free slice_buffers when decoding failedLinjie Fu2018-09-23
| | | | | | | | | | If vaEndPicture() failed in ff_vaapi_decode_issue(), free the pic->slice_buffers. Fixes the memory leak issue in ticket #7385 Signed-off-by: Linjie Fu <linjie.fu@intel.com> Signed-off-by: Mark Thompson <sw@jkqxz.net>
* doc/encoders: Document -sei option to hevc_vaapiMark Thompson2018-09-23
|
* vaapi_encode_h265: Set level based on stream if not set by userMark Thompson2018-09-23
| | | | | | Sets the level based on the stream properties if it is not explicitly set by the user. Also add a tier option to set general_tier_flag, since that affects the level choice.
* lavc/h265: Add some common code for profile/tier/level handlingMark Thompson2018-09-23
| | | | | Adds support for determining for level limits, including mapping PTL blocks to profiles to check profile-dependent level limits.
* vaapi_encode_h265: Improve profile supportMark Thompson2018-09-23
| | | | | | | | Set profile compatibility/constraint flags properly (including the constraint flags used for RExt profiles, as all streams we can currently generate are RExt-compatible), and use that to add support for the "Main Intra" and "Main 10 Intra" RExt subprofiles (for which we can re-use the existing Main and Main10 VAAPI profiles).
* cbs_h264: Infer default VUI values if VUI parameters are not presentMark Thompson2018-09-23
|
* cbs_h264: Fix profile typoMark Thompson2018-09-23
|
* cbs_h264: Fix default value for max mv lengthsMark Thompson2018-09-23
| | | | | | A recent version of the standard changed the max and default to 15, from 16 in older versions. This updates the default to 15 to match, but the max stays as 16 so that we don't reject older streams.
* h264_metadata: Add option to set the level of the streamMark Thompson2018-09-23
|
* vaapi_encode_h264: Set level based on stream if not set by userMark Thompson2018-09-23
|
* lavc/h264: Add common code for level handlingMark Thompson2018-09-23
| | | | Including a unit test.
* hwcontext_vaapi: Improve format mappingMark Thompson2018-09-23
| | | | | | | Give the entries in the VAAPI format map table an explicit type and add functions to do the necessary lookups. Add another field to this table indicating whether the chroma planes are swapped (as in YV12), and use that rather than explicit comparisons where swapping is needed.
* vaapi_encode_mjpeg: Mark as intra-onlyMark Thompson2018-09-23
|
* vaapi_encode_mjpeg: Use CBS to store parameters and write headersMark Thompson2018-09-23
| | | | Also adds greyscale, 4:2:2, 4:4:4 and RGB support.
* lavc/cbs: Add JPEG supportMark Thompson2018-09-23
|
* hwcontext_vaapi: Improve logging around quirk detectionMark Thompson2018-09-23
| | | | | | | Clarify that the list is the naughty list, and therefore being on it is not desirable. The i965 driver does not need to be on the list after version 2.0 (when the standard parameter buffer rendering behaviour was changed).
* doc/encoders: Add missing options to VAAPI encodersMark Thompson2018-09-23
|
* vaapi_encode_h26[45]: Make the AUD option a booleanMark Thompson2018-09-23
|
* vaapi_encode_h264: Properly set constraint flagsMark Thompson2018-09-23
| | | | | | | | | | | | | | | | | | constraint_set1_flag should be set for constrained baseline and main profiles, because the stream conforms to main profile. constraint_set3_flag should be set for high profile when the stream is intra-only. constraint_set4_flag should always be set for main and high profiles because interlaced encoding is not supported. constraint_set5_flag should be set for main and high profiles when B-frames are not used. Also fix the setting of max_num_ref_frames - use the gop_size value to check for intra-only rather than the constraint flag (which is not necessarily set).
* vaapi_encode: Clean up the packed header configurationMark Thompson2018-09-23
| | | | | | Add a larger warning more clearly explaining the consequences of missing packed header support in the driver. Also only write the extradata if the user actually requests it via the GLOBAL_HEADER flag.
* vaapi_encode: Clean up the GOP structure configurationMark Thompson2018-09-23
| | | | | | Choose what types of reference frames will be used based on what types are available, and make the intra-only mode explicit (GOP size one, which must be used for MJPEG).
* vaapi_encode: Add support for max QP in rate controlMark Thompson2018-09-23
| | | | | | This was added in libva 2.1.0 (VAAPI 1.1.0). Use AVCodecContext.qmax, matching the existing behaviour for qmin, and clean up the defaults so that we only pass min/max when explicitly set.
* vaapi_encode: Clean up rate control configurationMark Thompson2018-09-23
| | | | | | Query which modes are supported and select between VBR and CBR based on that - this removes all of the codec-specific rate control mode selection code.
* vaapi_encode: Always reapply global parameters after the sequence headerMark Thompson2018-09-23
| | | | | | | | The codec sequence headers may contain fields which can overwrite the fine parameters given in the specific settings (e.g. a crude bitrate value vs. the max-rate / target-percentage / etc. values in VAEncMiscParameterRateControl). Always reapply all global parameters after a sequence header to avoid this causing problems.
* vaapi_encode: Clean up the encode quality configurationMark Thompson2018-09-23
|
* vaapi_encode_mpeg2: Add optionsMark Thompson2018-09-23
| | | | | Include the common options, and also named options for setting the profile and level.
* vaapi_encode: Add common options between all encodersMark Thompson2018-09-23
| | | | | The only common option here is low_power - it was previously supported for H.264 only, that specific option is removed.
* vaapi_encode: Choose profiles dynamicallyMark Thompson2018-09-23
| | | | | | | | | | | Previously there was one fixed choice for each codec (e.g. H.265 -> Main profile), and using anything else then required an explicit option from the user. This changes to selecting the profile based on the input format and the set of profiles actually supported by the driver (e.g. P010 input will choose Main 10 profile for H.265 if the driver supports it). The entrypoint and render target format are also chosen dynamically in the same way, removing those explicit selections from the per-codec code.
* configure: Use pkgconfig for VAAPIMark Thompson2018-09-23
| | | | | | | Set the minimum version to 0.35.0 (libva 1.3.0) and remove redundant configure tests. This also allows the proprietary libmfx fork of libva, which always shows the version number 0.99.0 (independent of the actual version).
* avcodec: add native iLBC decoderPaul B Mahol2018-09-23
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* fate/mov : use do_md5sum for mov-faststart-4gb-overflow testMartin Vignali2018-09-22
| | | | | | fix test on osx based on suggestion by Hendrik Leppkes
* avcodec/ac3dec: Fix shift signedness in mask creationMichael Niedermayer2018-09-22
| | | | | | | | Fixes: 9924/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_EAC3_fuzzer-5473421772193792 Fixes: left shift of 1 by 63 places cannot be represented in type 'long long' Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/eac3dec: Check that channel_map does not contain more than ↵Michael Niedermayer2018-09-22
| | | | | | EAC3_MAX_CHANNELS Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Revert "avformat/matroskaenc: write CodecPrivate in WebM"James Almer2018-09-21
| | | | | | | This reverts commit 4755b6e6d194b0a0fb72957cd3dc0eaf7b2375f7. This change was not necessary. CodecPrivate was being written to WebM for codecs like AV1 already.
* avformat/matroskaenc: write CodecPrivate in WebMJames Almer2018-09-21
| | | | | | This is now needed for AV1. Signed-off-by: James Almer <jamrial@gmail.com>
* lavf/matroska: Allow AV1 in WebMKagami Hiiragi2018-09-21
| | | | | | | | Nothing prevents it to work except this check. AV1 is already supported by Matroska muxer and aomenc produces WebM/AV1 files as well. Signed-off-by: Kagami Hiiragi <kagami@genshiken.org> Signed-off-by: James Almer <jamrial@gmail.com>