summaryrefslogtreecommitdiff
path: root/libavcodec
Commit message (Collapse)AuthorAge
* roqvideodec: use av_frame_copyHendrik Leppkes2015-10-26
| | | | | CC: libav-stable@libav.org Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* hap: Set avctx.bits_per_coded_sampleTom Butterworth2015-10-25
| | | | | | Fixes an issue where alpha is ignored in some players. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* screenpresso: Drop parameter change checkVittorio Giovara2015-10-25
| | | | | Size can never change, allowing us to use ff_reget_buffer, and to simplify the code a little.
* mpegvideo_enc: Fix encoding videos with less frames than the delay of the ↵Alexis Ballier2015-10-25
| | | | | | | | | | | | encoder When the encoder is fed with less frames than its delay, the picture list looks like { NULL, NULL, ..., frame, frame, frame }. When flushing the encoder (input frame == NULL), we need to ensure the picture list is shifted enough so that we do not return an empty packet, which would mean the encoder has finished, while it has not encoded any frame. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* mpegvideo_enc: Merge ifs with identical conditionsMichael Niedermayer2015-10-25
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* mpegvideo_enc: Factor new_picture unref outMichael Niedermayer2015-10-25
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* innoHeim/Rsupport Screen Capture Codec decoderVittorio Giovara2015-10-23
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* kvazaar: Add libkvazaar HEVC encoderArttu Ylä-Outinen2015-10-23
| | | | | Signed-off-by: Arttu Ylä-Outinen <arttu.yla-outinen@tut.fi> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* libx264: Make sure the extradata are paddedLuca Barbato2015-10-23
|
* lavc: Deprecate AVPicture structure and related functionsVittorio Giovara2015-10-22
| | | | | | | | | | | | | | | | | This structure served as a bridge between data pointers and frames, but it suffers from several limitations: - it is not refcounted and data must be copied to every time - it cannot be expanded without ABI break due to being used on the stack - its functions are just wrappers to imgutils which add a layer of unneeded indirection, and maintenance burden - it allows hacks like embedding uncompressed data in packets - its use is often confusing to our users AVFrame provides a much better API, and, if a full blown frame is not needed, it is just as simple and more straightfoward to use data and linesize arrays directly. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* utils: Use data buffers directly instead of an AVPictureVittorio Giovara2015-10-22
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* lavc: Add data and linesize to AVSubtitleRectVittorio Giovara2015-10-21
| | | | | | | | | | | | Use the new fields directly instead of the ones from AVPicture. This removes a layer of indirection which serves no pratical purpose whatsoever, and will help in removing AVPicture structure completely later. Every subtitle encoder/decoder seamlessly points to the new arrays, so it is possible to deprecate AVSubtitleRect.pict. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* Replace any remaining avpicture function with imgutilsVittorio Giovara2015-10-21
| | | | | | avpicture_get_size() -> av_image_get_buffer_size() Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* nuv: Replace avpicture functions with imgutilsVittorio Giovara2015-10-21
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* dpx: Replace avpicture functions with imgutilsVittorio Giovara2015-10-21
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* roqvideodec: Replace avpicture functions with imgutilsVittorio Giovara2015-10-21
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* rawdec: Replace avpicture functions with imgutilsLuca Barbato2015-10-21
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* rawenc: Replace avpicture functions with imgutilsLuca Barbato2015-10-21
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* msrle: Use AVFrame instead of AVPictureVittorio Giovara2015-10-21
| | | | | | | Callers always use a frame and cast it to AVPicture, change ff_msrle_decode() to accept an AVFrame directly instead. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* qsvenc: add an API for allocating opaque surfacesAnton Khirnov2015-10-16
|
* qsvenc: cosmetics, reindentAnton Khirnov2015-10-16
|
* qsvenc: set the timestamp for PIX_FMT_QSV frames as wellAnton Khirnov2015-10-16
|
* qsvenc: support passing arbitrary external buffers to the encoderAnton Khirnov2015-10-16
|
* wrapped_avframe: Drop a now-unused variableLuca Barbato2015-10-16
|
* mpeg12: Unbreak building stale codeLuca Barbato2015-10-16
| | | | Broken in 2d59159508c5c1830cc5da907a9454e229077320
* aac: Make codec init run under ff_thread_onceDerek Buitenhuis2015-10-15
| | | | | | This makes AAC init threadsafe. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* lavc: AV-prefix a few left out capabilitiesVittorio Giovara2015-10-15
|
* h264: Run VLC init under pthread_onceDerek Buitenhuis2015-10-14
| | | | | | | This makes the h.264 decoder threadsafe to initialize. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* dxva: Include last the internal headerLuca Barbato2015-10-14
| | | | | It redefines _WIN32_WINNT, possibly causing problems with the w32pthreads.h header.
* mimic: drop AVPicture usagewm42015-10-14
| | | | | | | Work on the AVFrame references directly. Instead of setting up a flipped/swapped "view" on the pictures, flip/swap them when returning decoded frames to the API user.
* libschroedinger: Properly use AVFrame APIVittorio Giovara2015-10-14
| | | | | | | | Rather than copying data buffers around, allocate a proper frame, and use the standard AVFrame functions. This effectively makes the decoder capable of direct rendering. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* qtrle: Properly use AVFrame APIVittorio Giovara2015-10-14
| | | | | | | Rather than copying data buffers around, just add a reference to the current frame. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* avcodec: Do not lock during init if there is no init functionDerek Buitenhuis2015-10-13
| | | | | Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* wrapped_avframe: Initial implementationLuca Barbato2015-10-10
|
* libopenh264enc: Added max_nal_size optionMario Gasparoni2015-10-09
| | | | | | Also added dynamic slice_mode option, needed for the max_nal_size. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* cabac: Make CABAC states hardcodedAnton Khirnov2015-10-08
| | | | | | | There is not much reason to generate such a small table at runtime. Signed-off-by: Derek Buitenhuis <derekb@vimeo.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* dcadec: reorganise context dataAlexandra Khirnova2015-10-07
| | | | | | | | | place primary audio coding header data into DCAAudioHeader structure to make DCAContext clearer and move channel related data to DCAChan structure to make them easier to use by extensions Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* g2m: Relax resolution change constraintsVittorio Giovara2015-10-07
| | | | | | | Do not fail when original resolution is smaller than current one, as the frame buffer is resized automatically. Signed-off-by: Vittorio Giovara <vittorio.giovara at gmail.com>
* mmaldec: be more tolerant against MMAL not returning decoded outputwm42015-10-04
| | | | | | | | | | | | | | | | | | | | | | | | | In some situations, MMAL won't return a decoded frame for certain input frames. This can happen if a frame fails to decode, or if a packet does not actually contain a complete frame. In these situations, we would deadlock (or actually timeout) waiting for an expected output frame, which is not ideal. On the other hand, there are situations where we definitely have to block to avoid deadlocks. (This mess is a consequence of trying to map MMAL's asynchronous and flexible dataflow to libavcodec, which is more static and rigid.) Solve this by doing a blocking wait only if the amount of buffered data is too big. The whole purpose of the blocking wait is to avoid excessive buffering of input data, so we can skip it if it appears to be low. The consequence is that libavcodec can gracefully return no frame to the API user. We want to track the number of full packets to make our heuristic work. But MMAL buffers are fixed-size, requiring splitting large packets. This is why the previous commit is needed. We use the ..._FRAME_END flag to remember packet boundaries, but MMAL does not preserve these buffer flags when returning buffers to the user. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* mmaldec: refactor to have more context per MMAL input bufferwm42015-10-04
| | | | | | | | | | | | | | The next commit needs 1 bit of additional information per MMAL buffer sent to the MMAL input port. This information will be needed when the buffer is recycled (i.e. returned by the input port's callback). Normally, we could use MMAL_BUFFER_HEADER_FLAG_USER0, but that is unexpectedly not preserved. Do this by storing a pointer to FFBufferEntry in the MMAL buffer's user data, instead of an AVBufferRef. This also changes the lifetime of FFBufferEntry. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* avcodec: Do not lock during open for codecs marked as having threadsafe initDerek Buitenhuis2015-10-04
| | | | | Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* rangecoder: Use AV_RB16 instead of bytestream_get_be16Vittorio Giovara2015-10-04
| | | | | | | | Silence an incompatible-pointer-types-discards-qualifiers warning from clang. rangecoder.c:58:34: warning: passing 'uint8_t **' (aka 'unsigned char **') to parameter of type 'const uint8_t **' (aka 'const unsigned char **') discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers]
* hevc: Simplify logical checkVittorio Giovara2015-10-04
| | | | | | The intended meaning is "if this block is the first block in a slice then its left boundary is a slice boundary". Silence a logical-not-parentheses warning from gcc.
* h264: Use the correct argument context in debug logVittorio Giovara2015-10-04
|
* h263: Drop uninitialized variable use from log messageVittorio Giovara2015-10-04
|
* dvbsubdec: Fix function return typeVittorio Giovara2015-10-04
|
* dv: Mark internal frame reference as constVittorio Giovara2015-10-04
| | | | | | Silence a warning due to frame assignment in dvenc. All uses of the reference in dvdec are read only, except the ones in the main decoding function, so use the frame pointer directly there.
* dcadec: Always initialize return variableVittorio Giovara2015-10-04
| | | | Silence an uninitialized warning from clang.
* d3d11va: make av_d3d11va_alloc_context() available at all timesAnton Khirnov2015-10-03
| | | | The public API should not depend on the build configuration.
* d3d11va: check for malloc failureAnton Khirnov2015-10-03
|