summaryrefslogtreecommitdiffstats
path: root/libavcodec
Commit message (Collapse)AuthorAgeFilesLines
* sgienc: Make sure to initialize skipped header portionsVittorio Giovara2015-12-071-3/+5
| | | | | | | Fix fate tests with asan. Introduced during bytestream2 porting (in revision 62cc8f4d79dad119e8efeaae080a58a8dcb1e89d). Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* lavc: Drop exporting 2-pass encoding statsVittorio Giovara2015-12-075-12/+37
| | | | | | | | | | | | | | These variables are coming from mpegvideoenc where are supposedly used as bit counters on various frame properties. However their use is unclear as they lack documentation, are available only from a very small subset of encoders, and they are hardly used in the wild. Also frame_bits in aacenc is employed in a similar way. Remove this functionality from AVCodecContex, these variable are mostly frame properties, and too few encoders support setting them with anything useful. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* lavc: Deprecate coder_type and its symbolsVittorio Giovara2015-12-0710-15/+181
| | | | | | | | | | Most option values are simply unused or ignored and in practice the majory of codecs only need to check whether to enable rle or not. Add appropriate codec private options which better expose the allowed features. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* h264: do not call frame_start() for missing framesAnton Khirnov2015-12-071-18/+32
| | | | | We do not need to do a full setup like for a real frame, just allocate a buffer and set cur_pic(_ptr).
* aacdec: fix aac_static_table_init() prototypeAnton Khirnov2015-12-071-1/+1
|
* avpacket: use ERANGE instead of EOVERFLOWAnton Khirnov2015-12-071-1/+1
| | | | EOVERFLOW seems to be unavailable on certain platforms.
* lavc: export Dirac parsing API used by the ogg demuxer as publicAnton Khirnov2015-12-063-85/+172
| | | | Also, stop using AVCodecContext for storing the stream parameters.
* qsvenc: export CPB props side dataAnton Khirnov2015-12-061-0/+10
|
* nvenc: export CPB props side dataAnton Khirnov2015-12-061-0/+9
|
* mpegvideo_enc: export vbv_delay in side dataAnton Khirnov2015-12-063-0/+21
| | | | Deprecate AVCodecContext.vbv_delay
* mpegvideo_enc: export CPB props side dataAnton Khirnov2015-12-061-0/+9
|
* libx264: export CPB props side dataAnton Khirnov2015-12-061-0/+8
|
* libvpxenc: export CPB props side dataAnton Khirnov2015-12-061-0/+13
|
* libopenh264enc: export CPB props side dataAnton Khirnov2015-12-063-0/+40
|
* lavc: add a packet side data type for VBV-like parametersAnton Khirnov2015-12-062-0/+68
|
* lavc: add stream-global packet side dataAnton Khirnov2015-12-062-1/+18
| | | | This is similar to what is done for AVStream.
* avpacket: add a function for wrapping existing data as side dataAnton Khirnov2015-12-063-11/+45
|
* h264: derive the delay from the level when it's not presentAnton Khirnov2015-12-062-11/+37
| | | | | | | | | | | Fall back to maximum DPB size if the level is unknown. This should be more spec-compliant and does not depend on the caller setting has_b_frames before opening the decoder. The old behaviour, when the delay is supplied by the caller setting has_b_frames, can still be obtained by setting strict_std_compliance below normal.
* h264: set frame_num in start_frame(), not decode_slice_header()Anton Khirnov2015-12-061-3/+1
| | | | | That is a more appropriate place for it, since it is not allowed to change between slices.
* h264: eliminate default_ref_listAnton Khirnov2015-12-063-49/+22
| | | | | | | | | | | | | According to the spec, the reference list for a slice should be constructed by first generating an initial (what we now call "default") reference list and then optionally applying modifications to it. Our code has an optimization where the initial reference list is constructed for the first inter slice and then rebuilt for other slices if needed. This, however, adds complexity to the code, requires an extra 2.5kB array in the codec context and there is no reason to think that it has any positive effect on performance. Therefore, simplify the code by generating the reference list from scratch for each slice.
* hevcdsp: add x86 SIMD for MCAnton Khirnov2015-12-058-15/+1125
|
* hevc: change the stride of the MC buffer to be in bytes instead of elementsAnton Khirnov2015-12-052-1/+13
| | | | | | Currently, the frame stride is passed in bytes, while the MC buffer size is in int16_t elements, This can be confusing, so pass both strides in bytes.
* hevcdsp: split the pred functions by widthAnton Khirnov2015-12-054-94/+174
| | | | This should allow for more efficient SIMD.
* hevcdsp: split the epel functions by widthAnton Khirnov2015-12-054-39/+89
| | | | This should allow for more efficient SIMD.
* hevcdsp: split the qpel functions by width instead of by the subpixel fractionAnton Khirnov2015-12-054-29/+108
| | | | | | | This should allow for more efficient SIMD. Keep the C versions as they are now, to allow the compiler to inline the interpolation coefficients.
* log: Use a do {} while (0) for dlogLuca Barbato2015-12-051-1/+1
| | | | Avoid the warning `-Wempty-body`.
* imgconvert: Re-enable the deprecation warningsLuca Barbato2015-12-051-1/+1
| | | | | | The end-marked was typoed in f7edcac040f73635fc1127489c9bb29ca8b43532
* avpicture: Suppress warning from deprecated codeLuca Barbato2015-12-052-0/+8
|
* aac: Provide more information on the failure messageLuca Barbato2015-12-051-1/+3
| | | | Bug-Id: 761
* g723: Add missing headerLuca Barbato2015-12-051-0/+2
| | | | Unbreak make check.
* lavc: G.723.1 encoderMohamed Naufal2015-11-308-10/+1314
| | | | | | Additional improvements by Michael Niedermayer <michaelni@gmx.at>. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* g723_1: Move sharable functions to a separate fileVittorio Giovara2015-11-304-373/+443
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* g723_1: Rename files to better reflect their purposeVittorio Giovara2015-11-303-5/+5
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* g723_1: Handle values at the ends of the table in lsp2lpc()Michael Niedermayer2015-11-302-2/+3
| | | | | | | | Fixes out of array reads. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* pgssubdec: fix API compability layerPetri Hintukainen2015-11-261-10/+10
| | | | | | | Copy pointers to AVPicture after memory has been allocated. Fixes NULL pointers in AVPicture after a17a7661906ba295d67afd80ac0770422e1b02b3. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* texturedsp: Explicitly cast RGBA parameters to unsignedVittorio Giovara2015-11-241-1/+4
| | | | | Silences warnings when using -Wshift-overflow (GCC 6+). Found-by: James Almer <jamrial@gmail.com>
* texturedspenc: Avoid using separate variablesVittorio Giovara2015-11-241-7/+3
| | | | Use the result directly, removing an unneeded cast.
* textureencdsp: cosmetics: Use normal static const for tablesVittorio Giovara2015-11-241-4/+4
|
* sgi: Correctly propagate meaningful error valuesVittorio Giovara2015-11-242-7/+8
|
* sgienc: Support encoding high bit depth images with RLEVittorio Giovara2015-11-241-10/+11
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* sgienc: Use a local RLE encoding functionVittorio Giovara2015-11-243-17/+54
| | | | | | SGI RLE encoding is slighlty different than the one provided by rle module (especially at high bit depth). The pixel count function however does not change, so it is simply made library-public.
* sgienc: Port to bytestream2Vittorio Giovara2015-11-241-31/+35
|
* sgienc: Do not end RLE lines with 0sVittorio Giovara2015-11-241-2/+1
| | | | | | | | This is never mentioned in the specifications, and decoders work just as fine without it. Update the fate references since the compressed file is smaller. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* libvpxenc: remove some unused ctrl id mappingsJames Zern2015-11-231-12/+4
| | | | | | | | | VP8E_UPD_ENTROPY, VP8E_UPD_REFERENCE, VP8E_USE_REFERENCE were removed from libvpx and the remaining values were never used here Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Zern <jzern@google.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* dcadec: Do not check for overreads in auxiliary dataTim Walker2015-11-231-6/+6
| | | | | | | | The auxiliary data length field is not reliable, and incorrect overread errors could be returned for valid, real-world bitstreams. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* lavc: Deprecate avctx.rtp_callback fieldVittorio Giovara2015-11-203-1/+18
| | | | | | | | | | | | | | | | | | | | | This function returns the encoded data of a frame, one slice at a time directly when that slice is encoded, instead of waiting for the full frame to be done. However this field has a debatable usefulness, since it looks like it is just a convoluted way to get data at lowest possible latency, or a somewhat hacky way to store h263 in RFC-2190 rtp encapsulation. Moreover when multi-threading is enabled (which is by default) the order of returned slices is not deterministic at all, making the use of this function not reliable at all (or at the very least, more complicated than it should be). So, for the reasons stated above, and being used by only a single encoder family (mpegvideo), this field is deemed unnecessary, overcomplicated, and not really belonging to libavcodec. Libavformat features a complete implementation of RFC-2190, for any other case. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* qsvenc: expose additional encoding optionsAnton Khirnov2015-11-205-1/+97
|
* qsvenc: support more RC methodsAnton Khirnov2015-11-202-18/+127
|
* qsvenc: factor out common optionsAnton Khirnov2015-11-204-24/+13
|
* qsvenc: fix setting maxrate for VBRAnton Khirnov2015-11-201-1/+1
|
OpenPOWER on IntegriCloud