summaryrefslogtreecommitdiff
path: root/libavcodec
Commit message (Collapse)AuthorAge
...
* dxva2_h264: Unbreak compilation after 3176217c6Martin Storsjö2016-04-25
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* ape: Unbreak adaptcoeffs computationLuca Barbato2016-04-24
| | | | | | And simplify and explain the expression. Fault introduced in f3fdef108eb06b1e71b29152bf6822519e787efe
* h264: eliminate max_contextsAnton Khirnov2016-04-24
| | | | It is always equal to nb_slice_ctx.
* h264: allocate some tables per slice contexts, not threadsAnton Khirnov2016-04-24
| | | | | This is more correct and avoids wasting space when frame threading is used.
* h264: remove an artificial restriction on the number of slice threadsAnton Khirnov2016-04-24
| | | | | This limit is now unnecessary, we can easily support an arbitrary number of threads.
* h264: remove pointless setting of some variables in loop_filterAnton Khirnov2016-04-24
| | | | Those should already be set to the correct values.
* h264: remove a pointless commentAnton Khirnov2016-04-24
|
* h264: make slice threading work with deblocking_filter=1Anton Khirnov2016-04-24
| | | | | | | | | | | | In such a case, decode the MBs in parallel without the loop filter, then execute the filter serially. The ref2frm array was previously moved to H264SliceContext. That was incorrect, since it applies to all the slices and should properly be in H264Context (it did not actually break decoding, since this distinction only becomes relevant with slice threading and deblocking_filter=1, which was not implemented before this commit). The ref2frm array is thus moved back to H264Context.
* h264: remove H264Context.pict_typeAnton Khirnov2016-04-24
| | | | | It is not used for anything internally, just exported in the output frames. So remove the indirection and set it directly in frame_start().
* h264: drop a pointless indirectionAnton Khirnov2016-04-24
|
* h264: remove unused H264SliceContext.rbsp_bufferAnton Khirnov2016-04-24
|
* h264: merge ff_h264_free_context() into h264_decode_end()Anton Khirnov2016-04-24
| | | | It is no longer called from outside the h264 decoder.
* h264: eliminate low_delayAnton Khirnov2016-04-24
| | | | | | It is always unconditionally initialized in decode_postinit() and then immediately used in one place further below. All the other places where it is accessed are just useless fluff.
* h264: remove a stale commentAnton Khirnov2016-04-24
| | | | This comment used to apply to code that was removed.
* h264_refs: remove an unused parameter from ff_h264_fill_mbaff_ref_list()Anton Khirnov2016-04-24
|
* h264_refs: make the H264Context const where possibleAnton Khirnov2016-04-24
|
* h264_refs: reorder functions to avoid forward declarationsAnton Khirnov2016-04-24
|
* h264: eliminate copy_fieldsAnton Khirnov2016-04-24
| | | | | It is very fragile against fields being moved and hides what is actually being copied. Copy all the fields explicitly instead.
* h264_parser: remove the remaining dependencies on the h264 decoderAnton Khirnov2016-04-24
|
* h264: decouple extradata parsing from the decoderAnton Khirnov2016-04-24
| | | | This will allow decoupling the parser from the decoder.
* h264: decouple h264_sei from the h264 decoderAnton Khirnov2016-04-24
| | | | | Make the SEI parsing independent of the H264Context, to allow decoupling the parser from the decoder.
* h264: factor out calculating the POC count into a separate fileAnton Khirnov2016-04-24
| | | | This will allow decoupling the parser from the decoder.
* h264_parser: move the H264DSPContext to the parser contextAnton Khirnov2016-04-24
|
* h264: decouple h264_ps from the h264 decoderAnton Khirnov2016-04-24
| | | | | | | | | Make the SPS/PPS parsing independent of the H264Context, to allow decoupling the parser from the decoder. The change is modelled after the one done earlier for HEVC. Move the dequant buffers to the PPS to avoid complex checks whether they changed and an expensive copy for frame threads.
* h264_parser: eliminate H264SliceContext usageAnton Khirnov2016-04-24
| | | | It is no longer needed for anything.
* h264_parse: make sure the ref count is zeroed on all failure pathsAnton Khirnov2016-04-24
|
* h264: factor out parsing the reference count into a separate fileAnton Khirnov2016-04-24
| | | | This will allow decoupling the parser from the decoder.
* h264: stop testing whether the reference count changes in ff_set_ref_count()Anton Khirnov2016-04-24
| | | | It is no longer necessary after 741b494fa8cd28a7d096349bac183893c236e3f9
* h264: move reading direct_spatial_mv_pred out of ff_set_ref_count()Anton Khirnov2016-04-24
| | | | | It has nothing to do with the reference count and so does not belong in this function.
* h264_parser: switch to h2645_parse for NAL unescapingAnton Khirnov2016-04-24
| | | | Remove now unused ff_h264_decode_nal().
* h264_mp4toannexb_bsf: do not fail on annex B extradataAnton Khirnov2016-04-24
| | | | | Just pass through the bitstream as is. This is the same as what is done for HEVC already.
* libx264: Forbid inverted Stereo3D modeVittorio Giovara2016-04-21
|
* libx264: Allow Stereo3D monoscopic valueVittorio Giovara2016-04-21
|
* ape: Avoid undefined behaviourLuca Barbato2016-04-19
| | | | | | Avoid the clang warning "warning: shifting a negative signed value is undefined"
* indeo3: Avoid undefined behaviourLuca Barbato2016-04-19
| | | | | | Avoid the clang warning "warning: shifting a negative signed value is undefined"
* libxvid: Create extradata in init using a dummy frameDerek Buitenhuis2016-04-19
| | | | | | | | | | | Modifying global header extradata in encode_frame is an API violation and only happens to work currently because mov writes its header at the end of the file. Heavily based off of a patch from 2012 by Nicolas George. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* Generate the lists of enabled protocols/bsfs from configure.Anton Khirnov2016-04-19
|
* lavc: move the vaapi encoders further down in the list of codecsAnton Khirnov2016-04-15
| | | | | | | Right now they are the first encoders for those codecs in the list, so they are selected when the caller requests a codec by id. Since they require special treatment, they should not be selected by default if there are other encoders (e.g. libx264/5) available.
* vaapi_h265: Add -qp option, use it to replace use of -global_qualityMark Thompson2016-04-15
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* vaapi_h265: Add constant-bitrate encode supportMark Thompson2016-04-15
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* vaapi_h264: Add encode quality option (for quality-speed tradeoff)Mark Thompson2016-04-15
| | | | | | Only supported on VAAPI 0.36 and higher. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* vaapi_h264: Add -qp option, use it to replace use of -global_qualityMark Thompson2016-04-15
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* vaapi_encode: Add support for codec-local optionsMark Thompson2016-04-15
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* vaapi_h264: Add constant-bitrate encode supportMark Thompson2016-04-15
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* vaapi_encode: Refactor slightly to allow easier setting of global optionsMark Thompson2016-04-15
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* libavcodec: Document that encoders may use the framerate field in AVCodecContextMartin Storsjö2016-04-12
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* omx: Add support for zerocopy input of framesMartin Storsjö2016-04-12
| | | | | | | | | | | This can only be used if the input data happens to be laid out exactly correctly. This might not be supported on all encoders, so only enable it with an option, but enable it automatically on raspberry pi, where it is known to be supported. Signed-off-by: Martin Storsjö <martin@martin.st>
* omx: Add support for broadcom OMX on raspberry piMartin Storsjö2016-04-12
| | | | | | | | | | | | | | | | The raspberry pi uses the alternative API/ABI for OMX; this makes such builds incompatible with all the normal OpenMAX implementations. Since this can't easily be detected at configure time (one can build for raspberry pi's OMX just fine using the generic, pristine Khronos OpenMAX IL headers, no need for their own extensions), require a separate configure switch for it instead. The broadcom host library can't be unloaded once loaded and started; the deinit function that it provides is a no-op, and after started, it has got background threads running, so dlclosing it makes it crash. Signed-off-by: Martin Storsjö <martin@martin.st>
* libavcodec: Add H264/MPEG4 encoders based on OpenMAX ILMartin Storsjö2016-04-12
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* mmaldec: Use imgutils.h for copying framesMartin Storsjö2016-04-12
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>