summaryrefslogtreecommitdiff
path: root/libavcodec/h264.c
Commit message (Collapse)AuthorAge
...
* h264: drop redundant initialization of the scaling matricesAnton Khirnov2015-04-05
| | | | It will always be initialized when actually parsing the PPS.
* h264: factor out common code from init() and init_thread_copy()Anton Khirnov2015-04-05
|
* h264: drop redundant initialization in init()Anton Khirnov2015-04-05
| | | | | There is no real advantage to initializing any of those in init, assuming yuv420, before the real stream parameters are known.
* h264: initialize cur_chroma_format_idcAnton Khirnov2015-04-05
| | | | | | This makes sure the various DSP contexts get properly initialized in ff_h264_set_parameter_from_sps() whatever the value of raw_bits_per_sample.
* h264: disable ER by defaultAnton Khirnov2015-04-03
| | | | | The way it is currently designed is fundamentally unsafe and cannot be reasonably fixed without completely rewriting it.
* h264: drop some mpegvideo remnants from draw_horiz_band()Anton Khirnov2015-03-21
| | | | This code makes no sense for h.264.
* h264: drop the now unused per-slice H264ContextsAnton Khirnov2015-03-21
|
* h264: use the main H264Context as the parent for all slice contextsAnton Khirnov2015-03-21
| | | | There is now no need to have per-slice copies of the H264Context.
* h264: move rbsp_buffer into the per-slice contextAnton Khirnov2015-03-21
|
* h264: move remaining ER stuff into the per-slice contextAnton Khirnov2015-03-21
|
* error_resilience: do not require mbintra/skip tablesAnton Khirnov2015-03-21
| | | | h264dec does not use them at all and only allocates them for ER.
* h264: move top_borders into the per-slice contextAnton Khirnov2015-03-21
| | | | | Also change the method for allocating to the same one as used by edge_emu_buffer.
* h264: move the scratch buffers into the per-slice contextAnton Khirnov2015-03-21
| | | | | | | Also change the method for allocating them. Instead of two possible alloc calls from different places, just ensure they are allocated at the start of each slice. This should be simpler and less bug-prone than the previous method.
* h264.c: constify all uses of H264Context in slice and lower-level functionsAnton Khirnov2015-03-21
| | | | | All the variables modified by this code are either per-MB arrays or have been moved to the per-slice context
* h264: use a separate GetBitContext for slice dataAnton Khirnov2015-03-21
|
* h264: do not abuse the context as a temporary storage in get_last_needed_nal()Anton Khirnov2015-03-21
| | | | Use a local variable instead.
* h264: remove some remnants of data partitioningAnton Khirnov2015-03-21
|
* h264: move mb_{x,y} into the per-slice contextAnton Khirnov2015-03-21
|
* h264: move mb_xy into the per-slice contextAnton Khirnov2015-03-21
|
* h264: move redundant_pic_count into the per-slice contextAnton Khirnov2015-03-21
|
* h264: move mvd_table into the per-slice contextAnton Khirnov2015-03-21
|
* h264: move the ref lists variables into the per-slice contextAnton Khirnov2015-03-21
|
* h264: move direct_spatial_mv_pred into the per-slice contextAnton Khirnov2015-03-21
|
* h264: move the slice type variables into the per-slice contextAnton Khirnov2015-03-21
|
* h264: move {mv,ref}_cache into the per-slice contextAnton Khirnov2015-03-21
|
* h264: move non_zero_count_cache into the per-slice contextAnton Khirnov2015-03-21
|
* h264: move *_samples_available into the per-slice contextAnton Khirnov2015-03-21
|
* h264: move intra4x4_pred_mode[_cache] into the per-slice contextAnton Khirnov2015-03-21
|
* h264: split weighted pred-related vars into per-slice contextAnton Khirnov2015-03-21
|
* h264: initialize H264Context.avctx in init_thread_copyAnton Khirnov2015-02-21
| | | | | This prevents using a wrong (first thread's) AVCodecContext if decoding a frame in the first pass over all threads fails.
* h264: Do not share rbsp_buffer across threadsMichael Niedermayer2015-01-28
| | | | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org> CC: libav-stable@libav.org
* h264: drop any pretense of support for data partitioningAnton Khirnov2015-01-27
| | | | | | | | | | It does not work correctly and apparently never did. There is no indication that this (mis)feature is ever used in the wild or even that any software other than the reference supports it. Since the code that attempts to support it adds some nontrivial complexity and has resulted in several bugs in the past, it is better to just drop it.
* h264: do not reset the ref lists in flush_change()Anton Khirnov2015-01-27
| | | | | They are always constructed anew when needed, so there is no need to reset them explicitly.
* h264: move parser-only variables to their own contextAnton Khirnov2015-01-27
|
* error_resilience: move the MECmpContext initialization into ER codeAnton Khirnov2015-01-27
| | | | | | | Currently, it needs to be initialized by the ER caller (which is currently either a mpegvideo decoder or h264dec). However, since none of those decoders use MECmpContext for anything except ER, it makes more sense to handle it purely inside ER.
* h264: simplify code in flush_dpb()Anton Khirnov2015-01-27
| | | | | There is no point in clearing reference explicitly, since that will be done as a part of ff_h264_unref_picture() right below.
* h264: restore a block mistakenly removed in e10fd08aAnton Khirnov2014-12-27
| | | | | CC: libav-stable@libav.org Bug-ID: 781
* h264: proper cleanup in ff_h264_alloc_tables() if DPB alloc failsMichael Niedermayer2014-12-03
| | | | CC: libav-devel@libav.org
* h264: Fix memory leak on ff_h264_decode_init() failureDale Curtis2014-12-03
| | | | CC: libav-devel@libav.org
* display: fix order of operandsVittorio Giovara2014-11-13
| | | | | CC: libav-stable@libav.org Bug-Id: CID 1238828 / CID 1238832
* lavc: deprecate the use of AVCodecContext.time_base for decodingAnton Khirnov2014-10-15
| | | | | | | | | | | When decoding, this field holds the inverse of the framerate that can be written in the headers for some codecs. Using a field called 'time_base' for this is very misleading, as there are no timestamps associated with it. Furthermore, this field is used for a very different purpose during encoding. Add a new field, called 'framerate', to replace the use of time_base for decoding.
* h264: reset ret to avoid propagating minor failuresMichael Niedermayer2014-09-29
| | | | | | | | Unbreak 772d150a6e82542c06b0c251e73dd299d98d1027. CC: libav-stable@libav.org Bug-Id: 750 / 905753 Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* cosmetics: Write NULL pointer equality checks more compactlyGabriel Dume2014-08-15
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* h264: fix interpretation of interleved stereo modesFelix Abecassis2014-08-07
| | | | | | Column and row frame packing arrangements were inverted. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* dsputil: Split motion estimation compare bits off into their own contextDiego Biurrun2014-07-17
|
* h264: K&R formatting cosmeticsLuca Barbato2014-07-17
| | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de> Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* h264: parse display orientation SEI messageVittorio Giovara2014-07-09
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* h264: error out from decode_nal_units() when AV_EF_EXPLODE is setVittorio Giovara2014-06-23
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* h264: Refactor decode_nal_unitsLuca Barbato2014-04-06
|
* h264: Split h264 slice decoding from nal decodingLuca Barbato2014-03-23
|