summaryrefslogtreecommitdiffstats
path: root/libavutil
Commit message (Collapse)AuthorAgeFilesLines
* hwcontext_vaapi: Always include DRM hwcontext headerMark Thompson2018-03-181-3/+1
| | | | | | Fixes building with VAAPI but not libdrm, which was broken by 389f4c3e0d0a26a7d3d2696017384874cf5e93fa. Just unconditionally include the header, since it doesn't depend on libdrm being present.
* hwcontext_vaapi: Fix condition for DRM device derivationMark Thompson2018-03-181-1/+1
| | | | vaGetDisplayDRM() is required for this code to work, libdrm is not.
* lavu/frame: add QP side datawm42018-03-183-7/+71
| | | | | | | | | | | | | | | | | | | This adds a way for an API user to transfer QP data and metadata without having to keep the reference to AVFrame, and without having to explicitly care about QP APIs. It might also provide a way to finally remove the deprecated QP related fields. In the end, the QP table should be handled in a very similar way to e.g. AV_FRAME_DATA_MOTION_VECTORS. There are two side data types, because I didn't care about having to repack the QP data so the table and the metadata are in a single AVBufferRef. Otherwise it would have either required a copy on decoding (extra slowdown for something as obscure as the QP data), or would have required making intrusive changes to the codecs which support export of this data. The new side data types are added under deprecation guards, because I don't intend to change the status of the QP export as being deprecated (as it was before this patch too).
* lavu/frame: fix inconsistent qp_table_buf deprecationwm42018-03-182-3/+5
| | | | | | Everything related to the QP data is deprecated, with qp_table_buf being an inconsistent exception. Some parts were under the deprecation guards, some not. It probably didn't even compile.
* avutil/log: print level prefix also when no AVClass context is availableTobias Rapp2018-03-161-3/+3
| | | | | | | | Adds the level prefix to all log messages, except those with level <= AV_LOG_QUIET as they seem to be used for flushing the log buffer. Reviewed-by: Michael Niedermayer <[email protected]> Signed-off-by: Tobias Rapp <[email protected]>
* avutil: bump version after the latest AVOption flag additionJames Almer2018-03-161-1/+1
| | | | Signed-off-by: James Almer <[email protected]>
* lavu/opt: add bit stream filter option dump support.Jun Zhao2018-03-161-0/+1
| | | | | | | enable dump bit stream filter and update opt fate test ref. Signed-off-by: Jun Zhao <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* lavu/opt: add AV_OPT_FLAG_BSF_PARAMJun Zhao2018-03-161-0/+1
| | | | | | | add AV_OPT_FLAG_BSF_PARAM for bit stream filter options. Signed-off-by: Jun Zhao <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avutil: add missing version bump for AV_CRC_8_EBUJames Almer2018-03-101-1/+1
| | | | Signed-off-by: James Almer <[email protected]>
* avutil/parseutils: only accept full us duration, do not accept mss durationMarton Balint2018-03-091-4/+3
| | | | | | | | Accepting 'u' suffix for a time specification is neither intuitive nor consistent (now that we don't accept m). Also there was a bug in the code accepting an extra 's' even after 'ms'. Signed-off-by: Marton Balint <[email protected]>
* crc: add AV_CRC_8_SBC as a 8 bits CRC with polynomial 0x1DAurelien Jacobs2018-03-073-3/+31
|
* Merge commit '8ca39b855a7b0e4d9f726fa9d285bc8edcb953e6'Mark Thompson2018-03-051-0/+1
|\ | | | | | | | | | | | | * commit '8ca39b855a7b0e4d9f726fa9d285bc8edcb953e6': qsv: Default PicStruct to progressive Merged-by: Mark Thompson <[email protected]>
| * qsv: Default PicStruct to progressiveRuiling Song2018-02-221-0/+1
| | | | | | | | | | | | | | | | The PicStruct is required by MediaSDK, so give a default value. hwupload does not work without this. Signed-off-by: Ruiling Song <[email protected]> Signed-off-by: Luca Barbato <[email protected]>
| * hwcontext: Perform usual uninitialisation on derived frames contextsMark Thompson2018-02-111-10/+7
| |
| * hwcontext: Perform usual initialisation on derived device contextsMark Thompson2018-02-112-11/+4
| | | | | | | | | | The initialisation should be common. For libmfx, it was previously happening in the derivation function and this moves it out.
* | parseutils: accept only full "ms" suffixRostislav Pehlivanov2018-03-051-2/+2
| | | | | | | | | | | | | | | | The commit which added those was pushed prematurely before anyone could object to illogical suffixes like just m for milliseconds. Without this, we'd be locked into never being able to implement the "m" suffix for minutes. Signed-off-by: Rostislav Pehlivanov <[email protected]>
* | parseutils: add support for ms and us suffix for AV_OPT_TYPE_DURATIONAurelien Jacobs2018-03-021-2/+13
| | | | | | | | | | | | | | supported suffixes are: - s: seconds (default when no suffix specified) - m or ms: milliseconds - u or us: microseconds
* | frame: add an av_frame_new_side_data_from_buf functionRostislav Pehlivanov2018-03-013-19/+33
| | | | | | | | Signed-off-by: Rostislav Pehlivanov <[email protected]>
* | avutil/timecode: fix starting frame number for 59.94 fpsGyan Doshi2018-02-231-1/+1
| | | | | | | | | | | | | | The existing code for adjusting starting frame number assumes 29.97 as stream fps. Signed-off-by: Michael Niedermayer <[email protected]>
* | hwcontext_vaapi: Fix frames context creation with external attributesMark Thompson2018-02-211-2/+2
| |
* | hwcontext_vaapi: Add more surface formatsMark Thompson2018-02-211-0/+3
| | | | | | | | Adds YUV 4:1:1, 4:4:0 and 4:4:4 - these will be needed for JPEG decoding.
* | avutil/common: Fix integer overflow in av_clip_uint8_c() and av_clip_uint16_c()Michael Niedermayer2018-02-171-2/+2
| | | | | | | | | | | | | | | | Fixes: 5567/clusterfuzz-testcase-minimized-5769966247739392 Fixes: runtime error: negation of -2147483648 cannot be represented in type 'int'; cast to an unsigned type to negate this value to itself Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <[email protected]>
* | avutil/crypto: change length parameter to size_t on the remaining modulesJames Almer2018-02-156-0/+28
| | | | | | | | | | | | | | See 651ee9346105b9d492e01172ab447c04d03fa32e fcc4ed1efa1a7575dc45fe57ce552af331941469 Signed-off-by: James Almer <[email protected]>
* | avutil/opt: remove ABI hackswm42018-02-132-10/+10
| | | | | | | | | | These were needed for ABI compatibility with Libav. We don't need them anymore.
* | Merge commit '4cf84e254ae75b524e1cacae499a97d7cc9e5906'James Almer2018-02-115-4/+2
|\| | | | | | | | | | | | | * commit '4cf84e254ae75b524e1cacae499a97d7cc9e5906': Drop some unnecessary config.h #includes Merged-by: James Almer <[email protected]>
| * Drop some unnecessary config.h #includesDiego Biurrun2018-02-065-4/+2
| |
* | Merge commit '2eb396b175e55e515aa6a13c5b1789a2a18d3935'James Almer2018-02-111-1/+3
|\| | | | | | | | | | | | | * commit '2eb396b175e55e515aa6a13c5b1789a2a18d3935': hwcontext: Fix memory leak on derived frame allocation failure Merged-by: James Almer <[email protected]>
| * hwcontext: Fix memory leak on derived frame allocation failureMark Thompson2018-02-041-1/+3
| |
| * hwcontext: Fix documentation for av_hwdevice_ctx_alloc()Jun Zhao2018-02-041-1/+2
| | | | | | | | | | | | | | From ffmpeg commit 9365dfcbf665b83b2e60c5ec5e2abf1f0a49e2c3. Signed-off-by: Jun Zhao <[email protected]> Signed-off-by: Mark Thompson <[email protected]>
* | Merge commit '85e10c0a9321bfe0d2afe0f3983ab6a8df6e3fba'Mark Thompson2018-01-251-1/+1
|\| | | | | | | | | | | | | * commit '85e10c0a9321bfe0d2afe0f3983ab6a8df6e3fba': intreadwrite: Use __unaligned in MSVC for ARM64 as well Merged-by: Mark Thompson <[email protected]>
| * intreadwrite: Use __unaligned in MSVC for ARM64 as wellMartin Storsjö2018-01-161-1/+1
| | | | | | | | | | | | | | This attribute is supported for this architecture in MSVC as well (but produces errors if used for 32 bit x86). Signed-off-by: Martin Storsjö <[email protected]>
* | avutil/aes_ctr: Add method to set 16-byte IV.Jacob Trimble2018-01-233-2/+13
| | | | | | | | | | Signed-off-by: Jacob Trimble <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* | x86inc: Drop cpuflags_slowctzHenrik Gramner2018-01-201-3/+2
| |
* | x86inc: Correctly set mmreg variablesHenrik Gramner2018-01-201-51/+36
| |
* | x86inc: Support creating global symbols from local labelsHenrik Gramner2018-01-201-1/+11
| | | | | | | | | | On ELF platforms such symbols needs to be flagged as functions with the correct visibility to please certain linkers in some scenarios.
* | x86inc: Use .rdata instead of .rodata on WindowsHenrik Gramner2018-01-201-0/+4
| | | | | | | | | | The standard section for read-only data on Windows is .rdata. Nasm will flag non-standard sections as executable by default which isn't ideal.
* | x86inc: Enable AVX emulation for floating-point pseudo-instructionsHenrik Gramner2018-01-201-0/+32
| | | | | | | | | | | | | | There are 32 pseudo-instructions for each floating-point comparison instruction, but only 8 of them are actually valid in legacy-encoded mode. The remaining 24 requires the use of VEX-encoded (v-prefixed) instructions and can therefore be disregarded for this purpose.
* | Merge commit 'e23190269fb6e8217d080918893641ba3e0e3556'Mark Thompson2018-01-161-0/+4
|\| | | | | | | | | | | | | * commit 'e23190269fb6e8217d080918893641ba3e0e3556': lavu/qsv: add log message for libmfx version Merged-by: Mark Thompson <[email protected]>
| * lavu/qsv: add log message for libmfx versionZhong Li2017-12-291-0/+4
| | | | | | | | | | | | | | It is benefit to diagnose issues related to different libmfx version. Signed-off-by: Zhong Li <[email protected]> Signed-off-by: Luca Barbato <[email protected]>
* | hwcontext_d3d11va: implement av_hwdevice_get_hwframe_constraints()wm42018-01-161-0/+33
| | | | | | | | | | | | | | D3D11 has rather fine grained per format capabilities for different uses that can be queried at runtime. Since we don't know what the user wants to do with the formats when av_hwdevice_get_hwframe_constraints() is called, we simply return all formats that have the most basic support.
* | hwcontext_vdpau: implement av_hwdevice_get_hwframe_constraints()wm42018-01-151-16/+39
| | | | | | | | | | | | | | | | | | | | | | In addition, this does not allow creating frames contexts with sw_format for which no known transfer formats exist. In theory, we should check whether the chroma format (i.e. the sw_format) is supported at all by the vdpau driver, but checking for transfer formats has the same effect. Note that the pre-existing code adds 1 to priv->nb_pix_fmts[i] for unknown reason, and some checks need to account for that to check for empty lists. They are not off-by-one errors.
* | avutil/mastering_display_metadata: fix copyright header wrongly formated as doxyJames Almer2018-01-111-1/+1
| | | | | | | | Signed-off-by: James Almer <[email protected]>
* | It has been replaced by C11 stdatomic.h and is now unused.Anton Khirnov2018-01-057-401/+0
| | | | | | | | | | (cherry picked from commit 5cc0057f4910c8c72421b812c8f337ef6c43696c) Signed-off-by: James Almer <[email protected]>
* | avutil/log: use thread wrappers for the locking functionalityJames Almer2018-01-041-10/+4
| | | | | | | | | | | | | | | | w32threads and os2threads both support static mutex initialization now, so don't limit it to pthreads only. Reviewed-by: wm4 <[email protected]> Signed-off-by: James Almer <[email protected]>
* | hwcontext_dxva2: initialize D3DDISPLAYMODEEX correctlywm42018-01-041-0/+1
| |
* | libavutil/hwcontext_dxva2: Add check for possible errors from ↵Humberto Ribeiro2018-01-041-1/+5
| | | | | | | | | | | | | | | | | | | | GetAdapterDisplayModeEx This prevents a possible crash in CreateDeviceEx when using faulty response from GetAdapterDisplayModeEx and allows ffmpeg to fallback to classic d3d9. Signed-off-by: wm4 <[email protected]>
* | lavu/mem: Allow allocations close to max_alloc_size with av_fast_realloc().Carl Eugen Hoyos2018-01-041-1/+6
| |
* | lavu/mem: Do not realloc in av_fast_realloc() if size == min_size.Carl Eugen Hoyos2018-01-011-1/+1
| | | | | | | | This can avoid OOM for min_size close to FFmpeg's arbitrary alloc limits.
* | lavc: replace and deprecate the lock managerwm42017-12-261-0/+2
| | | | | | | | | | | | | | Use static mutexes instead of requiring a lock manager. The behavior should be roughly the same before and after this change for API users which did not set the lock manager at all (except that a minor memory leak disappears).
* | w32pthreads: always use Vista+ API, drop XP supportwm42017-12-261-4/+0
| | | | | | | | | | | | | | | | | | | | | | This removes the XP compatibility code, and switches entirely to SWR locks, which are available starting at Windows Vista. This removes CRITICAL_SECTION use, which allows us to add PTHREAD_MUTEX_INITIALIZER, which will be useful later. Windows XP is hereby not a supported build target anymore. It was decided in a project vote that this is OK.