summaryrefslogtreecommitdiff
path: root/libavcodec
Commit message (Collapse)AuthorAge
* x86: dct: Disable dct32_float_sse on x86-64Henrik Gramner2015-08-02
| | | | | | | There is an SSE2 implementation so the SSE version is never used. The "SSE" version also happens to contain SSE2 instructions on x86-64. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* hevc: Split the sei parsing in 3 functionsLuca Barbato2015-08-01
|
* hevc: Use switch instead of if-nests in decode_nal_sei_messageLuca Barbato2015-08-01
| | | | | | Makes simpler to add support for more SEI types. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* hevc: Use a proper enum for the SEI valuesLuca Barbato2015-08-01
| | | | | | And use the correct value for decoded_picture_hash. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* avcodec: h264: Extract decoder methodsDavid Holm2015-08-01
| | | | | | | | | | | Extract two methods from decode_registered_user_data in order to improve code readability. Also make the constant holding the allocation size a 64-bit unsigned integer so that the size comparison against INT_MAX makes sense. Bug-Id: CID1312090 Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* dxva2/d3d11va: Set _WIN32_WINNT to 0x0602 instead of 0x0600Martin Storsjö2015-07-28
| | | | | | | | | | | | | | | If _WIN32_WINNT is unset, we force it to a new enough value to make sure the necessary definitions are visible. When targeting Windows Phone or Windows RT, _WIN32_WINNT should be at least 0x0602 - otherwise the windows headers themselves can cause errors (which technically are bugs in the headers). Raising this value here shouldn't hurt; the alternative would be to not touch it at all if WINAPI_FAMILY is set to phone/app, or to force setting it to 0x0602 in configure if unset (for phone/app). Signed-off-by: Martin Storsjö <martin@martin.st>
* h264: fix AVDISCARD_NONKEY for some interlaced contentJohn Högberg2015-07-27
| | | | | | | | | When skip_frame is set to _NONKEY the decoder skips everything except intra slices, which breaks frames that consist of an intra field together with any other field type; half the frame becomes garbage. This patch fixes the issue by letting non-intra slices through if they're part of a keyframe. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* qsvdec_mpeg2: drop an incorrect commentAnton Khirnov2015-07-27
| | | | It got copypasted from the h264 decoder, but it does not apply to mpeg2.
* hap: Add utility functions fileVittorio Giovara2015-07-27
| | | | Missing from the push of 3ee217853a6741b829a2683f49c590618891b1ab.
* Support the Hap chunked frame formatTom Butterworth2015-07-27
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* hap: Move some per-stream setup into decoder init rather than per-frameTom Butterworth2015-07-27
| | | | | | | This change will reject frames with a texture type which does not match the stream description. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* lavc: Update version and APIchangesVittorio Giovara2015-07-27
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* lavc: Consistently prefix input buffer definesVittorio Giovara2015-07-27
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* lavc: AV-prefix all codec capabilitiesVittorio Giovara2015-07-27
| | | | | | Express bitfields more simply. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* lavc: AV-prefix all codec flagsVittorio Giovara2015-07-27
| | | | | | Convert doxygen to multiline and express bitfields more simply. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* lavc: Deprecate avctx.me_methodVittorio Giovara2015-07-27
| | | | | | | | This option is extremely codec specific and only a few codecs employ it. Move it to codec private options instead: mpegenc family supports only 3 values, xavs and x264 use 5, and xvid has a different metric entirely. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* wmv2enc: Check memory allocationVittorio Giovara2015-07-27
|
* ac3enc_template: Use the correct context fieldVittorio Giovara2015-07-27
| | | | | For audio encoders, delay has no effect, use the appropriate one, initial_padding (see 2df0c32).
* qsvdec_*: add missing CODEC_CAP_DR1Anton Khirnov2015-07-27
|
* force WINAPI_FAMILY to WINAPI_FAMILY_DESKTOP_APP to be able to use dxva.hSteve Lhomme2015-07-26
| | | | | | | | | | | | | | | | The struct definitions in dxva.h, which are necessary in order to actually use d3d11va, are hidden when WINAPI_FAMILY targets Windows Phone or WindowsRT. Building with WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP is disallowed when targeting ARM. ("Compiling Desktop applications for the ARM platform is not supported.") So we set _CRT_BUILD_DESKTOP_APP to 0 to tell the runtime not to detect some issues with this mismatching. The same tweaks to detect if the API is available is done in dxva2_internal.h when compiling each DXVA2/D3D11VA decoders. Signed-off-by: Martin Storsjö <martin@martin.st>
* lavc: add Intel libmfx-based HEVC decoder.Anton Khirnov2015-07-25
|
* lavc: add Intel libmfx-based MPEG2 decoder.Anton Khirnov2015-07-25
|
* lavc: add a HEVC mp4->annex B bitstream filterAnton Khirnov2015-07-25
|
* qsvdec: move qsv_process_data() from qsvdec_h264 to the common codeAnton Khirnov2015-07-25
| | | | It will be shared with the upcoming mpeg2 and hevc decoders.
* qsvenc_hevc: fix enum declarationAnton Khirnov2015-07-25
| | | | Declare a named enum, not a variable with anonymous enum type.
* qsvdec: fix a memleak of async_fifoAnton Khirnov2015-07-25
| | | | | init() is called whenever format changes, so current code would leak the fifo in this case.
* qsvdec: avoid an infinite loop with no consumed data and no outputAnton Khirnov2015-07-25
| | | | | | This is triggerable with the HEVC decoder. It is unclear yet whether the bug is in the calling code or the MSDK, but it seems better to check for this in any case.
* dds: Write the palette in the native endian formMartin Storsjö2015-07-23
| | | | | | | This fixes the palette on big endian, broken (or, differing from little endian) since 57214b2f7. Signed-off-by: Martin Storsjö <martin@martin.st>
* hap: Name enums, remove unused struct memberTom Butterworth2015-07-23
|
* snappy: Refactor so ff_snappy_uncompress() uses an existing bufferTom Butterworth2015-07-23
| | | | | | Some uses of Snappy require uncompressing to positions within an existing buffer. Also adds a function to get the uncompressed length of Snappy data.
* hap: Fix slice size computationTom Butterworth2015-07-23
| | | | | | | | A bug was introduced in 977105407cae55876041dddbf4ce0934cdd4cd6c whereby when frame height wasn't divisible by the number of threads, pixels would be omitted from the bottom rows during decode. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* dds: Fix the slice size computationTom Butterworth2015-07-23
| | | | | | | | A bug was introduced in 6b2b26e7af3ede0abfb46eb5725c26d1083f50bc whereby when frame height wasn't divisible by the number of threads, pixels would be omitted from the bottom rows during decode. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* mpegvideo: Add missing includeVittorio Giovara2015-07-22
|
* dds: Fix 32bpp bitmaps decodingMichael Niedermayer2015-07-22
| | | | | Found-By: ami_stuff Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* dds: Fix palette decodingVittorio Giovara2015-07-22
| | | | | | Red and blue channels were decoded in the wrong order. Found-By: ami_stuff
* dds: Fix enum declarationVittorio Giovara2015-07-22
| | | | Drop the global variables with anonymous enum type.
* qsvenc_hevc: use the correct HW plugin UIDAnton Khirnov2015-07-22
|
* dds: Decode using optimal slices sizesLuca Barbato2015-07-21
| | | | | | | Enjoy some cache locality and use less threads. About the same speedup provided to HAP. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* hap: Decode using optimal slices sizesLuca Barbato2015-07-21
| | | | | | | Enjoy some cache locality and use less threads. About 5x speedup (from 60ms to 12ms to decode a 4k frame). Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* arm: use a local label instead of the function symbol in ff_prefetch_armJanne Grunau2015-07-20
| | | | | | | | Avoids a relocation which might end out of range for thumb2. Reported-By: Ludovic Fauvet <etix@videolan.org> Bug-Id: https://bugs.webkit.org/show_bug.cgi?id=137022 CC: libav-stable@libav.org
* h264: aarch64: intra prediction optimisationsJanne Grunau2015-07-20
|
* Deprecate avctx.coded_frameVittorio Giovara2015-07-20
| | | | | | | | | | | | | | | | | The rationale is that coded_frame was only used to communicate key_frame, pict_type and quality to the caller, as well as a few other random fields, in a non predictable, let alone consistent way. There was agreement that there was no use case for coded_frame, as it is a full-sized AVFrame container used for just 2-3 int-sized properties, which shouldn't even belong into the AVCodecContext in the first place. The appropriate AVPacket flag can be used instead of key_frame, while quality is exported with the new AVPacketSideData quality factor. There is no replacement for the other fields as they were unreliable, mishandled or just not used at all. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* Add a quality factor packet side dataVittorio Giovara2015-07-20
| | | | | | | | This is necessary to preserve the quality information currently exported with coded_frame. Add the new side data to every encoder that needs it, and use it in avconv. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* Gather all coded_frame allocations and free functions to a single placeVittorio Giovara2015-07-20
| | | | | | | | | | | | | | Allocating coded_frame is what most encoders do anyway, so it makes sense to always allocate and free it in a single place. Moreover a lot of encoders freed the frame with av_freep() instead of the correct API av_frame_free(). This bring uniformity to encoder behaviour and prevents applications from erroneusly accessing this field when not allocated. Additionally this helps isolating encoders that export information with coded_frame, and heavily simplifies its deprecation. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* flashsvenc: Keep coded_frame.key_frame a write-only variableVittorio Giovara2015-07-20
|
* ffv1enc: Use input frame to set SAR and interlacingVittorio Giovara2015-07-20
|
* ffv1enc: Keep coded_frame.key_frame a write-only variableVittorio Giovara2015-07-20
|
* qtrleenc: Keep coded_frame.key_frame a write-only variableVittorio Giovara2015-07-20
|
* libtheoraenc: Keep coded_frame.key_frame a write-only variableVittorio Giovara2015-07-20
|
* libvpxenc: Do not entangle coded_frameVittorio Giovara2015-07-20
| | | | Keep coded_frame.key_frame a write-only variable.