summaryrefslogtreecommitdiff
path: root/libavcodec
Commit message (Collapse)AuthorAge
* options_table: Add aliases for color propertiesVittorio Giovara2016-06-27
| | | | All option names now match the ones provided by the av_color_*_name().
* pixdesc: Add aliases to SMPTE color propertiesVittorio Giovara2016-06-27
| | | | | Drop ST from names and symbols, it does not add anything distinctive or descriptive.
* vaapi_encode: Maintain a pool of bitstream output buffersMark Thompson2016-06-26
| | | | | | | | | Previously we would allocate a new one for every frame. This instead maintains an AVBufferPool of them to use as-needed. Also makes the maximum size of an output buffer adapt to the frame size - the fixed upper bound was a bit too easy to hit when encoding large pictures at high quality.
* libavcodec: fix constness in clobber test avcodec_open2() wrappersClément Bœsch2016-06-26
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* omx: Don't return > 0 from omx_encode_frameMartin Storsjö2016-06-24
| | | | | | | The encode function is supposed to just return 0 on success. This stems from a mixup with the return value of decode functions. Signed-off-by: Martin Storsjö <martin@martin.st>
* libopenh264enc: Fix inconsistent whitespaceMartin Storsjö2016-06-24
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* msmpeg4: Remove commented-out debug logging codeDiego Biurrun2016-06-24
|
* msmpeg4: Remove some broken, commented-out cruftDiego Biurrun2016-06-24
|
* h264: Eliminate unused but set variableDiego Biurrun2016-06-23
| | | | libavcodec/h264_slice.c:1384:9: warning: variable 'droppable' set but not used
* vaapi_encode: Fix fallback when input does not match any formatMark Thompson2016-06-21
| | | | Just a typo. Add a comment to make it clearer what it's doing.
* dxva2_h264: Remove an unused variableMartin Storsjö2016-06-21
| | | | | | | This was introduced by mistake in 39cdbb12aa214 (only one of the added variables were really needed). Signed-off-by: Martin Storsjö <martin@martin.st>
* lavc: export the timestamps when decoding in AVFrame.ptsAnton Khirnov2016-06-21
| | | | | | | | | | | Currently it's exported as AVFrame.pkt_pts, which is also the only use for that field. The reason it is done like this is that lavc used to export various codec-specific "timing" information in AVFrame.pts, which is not done anymore. Since it is confusing to the callers to have a separate field which is used only for decoder timestamps and nothing else, deprecate pkt_pts and use just AVFrame.pts everywhere.
* qsvenc: support getting the session from an AVHWFramesContextAnton Khirnov2016-06-21
|
* qsvdec: support getting the session from an AVHWFramesContextAnton Khirnov2016-06-21
|
* qsvdec: move reading the user-provided session to qsv_decode_init()Anton Khirnov2016-06-21
| | | | This is a more appropriate place for it.
* lavc: allow using AVCodecContext.hw_frames_ctx for decodingAnton Khirnov2016-06-21
| | | | | For now it will only be used by the default get_buffer2 callback for allocating hw frames.
* truemotion2rt: Use ff_set_dimensionsVittorio Giovara2016-06-21
|
* pixdesc: Add new SMPTE 431, 432, and 2085 color propertiesVittorio Giovara2016-06-21
| | | | | | Appeared in H.264 2016/02. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* pixfmt: Add ARIB STD-B76 color transfer characteristicNeil Birkbeck2016-06-21
| | | | | | | | | | | | | | Adding hybrid log-gamma (https://en.wikipedia.org/wiki/Hybrid_Log-Gamma) based on the standardization in ARIB STD-B67: http://www.arib.or.jp/english/html/overview/doc/2-STD-B67v1_0.pdf The choice of enum value of 18 is consistent with HEVC: http://phenix.it-sudparis.eu/jct/doc_end_user/current_document.php?id=10481 And also with latest proposal for color format in mkv: https://mailarchive.ietf.org/arch/search/?email_list=cellar&gbt=1&q=Colour+Format+proposal Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* h264: handle frame recovery in h264_field_start()Anton Khirnov2016-06-21
| | | | | | This is a more appropriate place for this. H264Context.recovery_frame is shared between frame threads, so modifying it where it is right now is invalid.
* h264: discard slices of redundant pictures right after parsing the slice headerAnton Khirnov2016-06-21
| | | | | Going through the whole decoder initialization process for a slice we are not going to decode is unnecessary and potentially dangerous.
* h264: always set redundant_pic_count during slice header parsingAnton Khirnov2016-06-21
| | | | | It is always checked in the surrounding code, so this make sure we don't see a value from an old slice.
* h264: call the hwaccel frame_start() from h264_field_start()Anton Khirnov2016-06-21
| | | | This is a more appropriate place for it.
* h264: fix the check for mixed IDR/non-IDR slicesAnton Khirnov2016-06-21
|
* h264: do not pass H264Context to h264_slice_header_parse()Anton Khirnov2016-06-21
| | | | | This should make it more clear that this function does not need any decoder-global state other than the parameter sets.
* h264: fix warnings in fill_filter_caches_inter()Anton Khirnov2016-06-21
| | | | | | The code does some weird casting to a 2-dimensional sub-array of ref2frm. This is not necessary, since only one dimension is needed there.
* h264: drop tests whether the codec id is AV_CODEC_ID_H264Anton Khirnov2016-06-21
| | | | Those are unused remnants of the old SVQ3 code.
* h264_cabac: drop an always true conditionAnton Khirnov2016-06-21
|
* h264: add H264_ prefix to the NAL unit typesAnton Khirnov2016-06-21
| | | | | This will prevent conflicts e.g. in code that deals with both h264 and hevc.
* h264_sei: drop an unnecessary h264dec.h includeAnton Khirnov2016-06-21
| | | | | The code does not depend on the h264 decoder anymore and only needs information from h264_ps
* lavc: drop unnecessary h264dec.h includesAnton Khirnov2016-06-21
|
* h264: tighten the valid range for ref_frame_countAnton Khirnov2016-06-21
| | | | | This field (which the spec calls max_num_ref_frames) must be less than or equal to MaxDpbFrames, which is at most 16.
* h264: move the parameter set definitions to a new header fileAnton Khirnov2016-06-21
| | | | | The PS parsing code is independent from the decoder, so it makes more sense for it to have its own separate header.
* svq3: stop using H264PictureAnton Khirnov2016-06-21
| | | | | The SVQ3 decoder has been decoupled from the H.264 decoder, so it can now use its own data type.
* h264: create a new header for common h264 definitionsAnton Khirnov2016-06-21
| | | | | | Move the NAL unit types into it. This will allow to stop including the whole decoder-specific h264dec.h in some code that is unrelated to the decoder and only needs some enum values.
* h264: rename h264.[ch] to h264dec.[ch]Anton Khirnov2016-06-21
| | | | This is more consistent with the naming of other decoders.
* h264: factor out setting frame properties / side dataAnton Khirnov2016-06-21
| | | | | | Right now this code is mixed with selecting the next output frame. Move it to a separate function called from h264_field_start(), which is a more appropriate place for this.
* h264: drop unused NAL_FF_IGNOREAnton Khirnov2016-06-21
|
* h264: move a per-field block from decode_slice_header() to field_start()Anton Khirnov2016-06-21
| | | | This is a more appropriate place for it.
* h264: only allow ending a field/starting a new one before finish_setup()Anton Khirnov2016-06-21
| | | | | Doing this after ff_thread_finish_setup() is called is invalid and can conflict with reads from the other thread.
* h264: store {curr,max}_pic_num in the per-slice contextAnton Khirnov2016-06-21
| | | | | | | While the value of those variables will be constant for the whole frame, they are only used in two functions called from slice header decoding. Moving them to the per-slice context allows us to make the H264Context passed to slice_header_parse() constant.
* h264: decode the poc values from the slice header into the per-slice contextAnton Khirnov2016-06-21
| | | | | Copy them into the decoder-global context in field_start(). This avoids modifying the decoder-global context during bitstream parsing.
* h264: set mb_aff_frame in frame_start()Anton Khirnov2016-06-21
| | | | | Avoid unnecessary modification of the decoder-global state in per-slice code.
* h264: move the block starting a new field out of slice_header_parse()Anton Khirnov2016-06-21
| | | | | | | | | There is no bitstream parsing in that block and messing with decoder-global state is not something that belongs into header parsing. Nothing else in this function depends on the value of current_slice, except for two validity checks. Those checks are also moved out of slice_header_parse().
* h264: pass a H2645NAL to slice header decodingAnton Khirnov2016-06-21
| | | | | | Replace the decoder-global nal_unit_type/nal_ref_idc variables with the per-NAL ones. The decoder-global ones still cannot be removed because they are used by hwaccels.
* Add TrueMotion 2.0 Real Time decoderPaul B Mahol2016-06-20
| | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* Add MagicYUV decoderPaul B Mahol2016-06-20
| | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* ffv1: Error out on unsupported formatJerome Martinez2016-06-18
| | | | Transparency is supported only by YUV and within specific bit depths.
* h264: Support AV_PKT_DATA_NEW_EXTRADATAVittorio Giovara2016-06-17
|
* lavc: Document AV_PKT_DATA_NEW_EXTRADATAVittorio Giovara2016-06-17
|