summaryrefslogtreecommitdiff
path: root/libavcodec/h264_direct.c
Commit message (Collapse)AuthorAge
* cosmetics: Fix spelling mistakesVittorio Giovara2016-05-04
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* 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: 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: use a smaller struct for the ref listsAnton Khirnov2015-03-21
| | | | | | There is no need to store a whole H264Picture, with a full AVFrame embedded in it. This should allow getting rid of the embedded AVFrame later.
* h264_direct: constify all uses of H264ContextAnton 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: 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 the ref lists variables into the per-slice contextAnton Khirnov2015-03-21
|
* h264: move map_col_to_list0[_field] into the per-slice contextAnton Khirnov2015-03-21
|
* h264: move dist_scale_factor[_field] into the per-slice contextAnton Khirnov2015-03-21
|
* h264: move col_{parity,fieldoff} into the per-slice contextAnton Khirnov2015-03-21
|
* h264: move direct_spatial_mv_pred into the per-slice contextAnton Khirnov2015-03-21
|
* h264: move sub_mb_type 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
|
* libavcodec: Make use of av_clip functionsPeter Meerwald2015-02-21
| | | | | Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* h264: Fix direct temporal mvs for bottom-field-first poc orderRonald S. Bultje2014-07-20
| | | | | | | | Such files can be created using the --bff x264 option. Sample-Id: h264_direct_temporal_mvs_bff.mkv Signed-off-by: Luca Barbato <lu_zero@gentoo.org> Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* 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: Remove some commented-out, broken cruftDiego Biurrun2014-07-16
|
* h264 does not depend on mpegvideo any moreVittorio Giovara2014-03-16
|
* mpegvideo: move mpegvideo formats-related defines to mpegutils.hVittorio Giovara2014-03-16
|
* h264: move relevant fields from Picture to H264PictureVittorio Giovara2014-03-16
|
* avcodec: Remove some commented-out debug cruftDiego Biurrun2013-08-20
|
* h264: add a parameter to the FRAME_MBAFF macro.Anton Khirnov2013-03-21
| | | | This way it does not look like a constant.
* lavc decoders: work with refcounted frames.Anton Khirnov2013-03-08
|
* Remove unnecessary dsputil.h #includesDiego Biurrun2013-02-26
|
* h264: deMpegEncContextizeAnton Khirnov2013-02-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | Most of the changes are just trivial are just trivial replacements of fields from MpegEncContext with equivalent fields in H264Context. Everything in h264* other than h264.c are those trivial changes. The nontrivial parts are: 1) extracting a simplified version of the frame management code from mpegvideo.c. We don't need last/next_picture anymore, since h264 uses its own more complex system already and those were set only to appease the mpegvideo parts. 2) some tables that need to be allocated/freed in appropriate places. 3) hwaccels -- mostly trivial replacements. for dxva, the draw_horiz_band() call is moved from ff_dxva2_common_end_frame() to per-codec end_frame() callbacks, because it's now different for h264 and MpegEncContext-based decoders. 4) svq3 -- it does not use h264 complex reference system, so I just added some very simplistic frame management instead and dropped the use of ff_h264_frame_start(). Because of this I also had to move some initialization code to svq3. Additional fixes for chroma format and bit depth changes by Janne Grunau <janne-libav@jannau.net> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* miscellaneous typo fixesDiego Biurrun2012-12-21
|
* ff_h264_direct_ref_list_init: fix B slice check.Michael Niedermayer2012-12-18
| | | | | | Fixes null pointer dereference. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
* h264: increase dist_scale_factor for up to 32 referencesJanne Grunau2012-12-18
| | | | | Compute dist_scale_factor_field only for MBAFF since that is the only case in which it is used.
* h264: use mbaff ref indices in fill_colmap() only for mbaff referencesMichael Niedermayer2012-12-18
| | | | | | Prevents writing beyond array bounds. Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* h264: Fix invalid interlaced/progressive MB combinations for direct mode ↵Michael Niedermayer2012-03-13
| | | | | | | | prediction. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* Replace AVFrame pointer type punning by proper struct member assignments.Diego Biurrun2012-03-01
|
* Replace AVFrame pointer casts by proper struct member accesses.Diego Biurrun2012-03-01
|
* w32threads: support for frame multithreadingSteven Walters2011-10-16
| | | | | | | | Replace our incomplete w32threads implementation with x264's pthreads w32threads wrapper. Relicensed to LGPL with kind permission by Pegasys Inc. Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* Fix assert() calls that need updates after FF_COMMON_FRAME macro elimination.Diego Biurrun2011-09-21
| | | | This fixes build failures with -DDEBUG in CPPFLAGS.
* Eliminate FF_COMMON_FRAME macro.Diego Biurrun2011-07-11
| | | | | FF_COMMON_FRAME holds the contents of the AVFrame structure and is also copied to struct Picture. Replace by an embedded AVFrame structure in struct Picture.
* H264/MPEG frame-level multi-threading.Alexander Strange2011-06-02
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* Replace deprecated FF_*_TYPE symbols with AV_PICTURE_TYPE_*.Stefano Sabatini2011-05-02
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-19
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Remove explicit filename from Doxygen @file commands.Diego Biurrun2010-04-20
| | | | | | | | Passing an explicit filename to this command is only necessary if the documentation in the @file block refers to a file different from the one the block resides in. Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Get rid of mb2b8_xy and b8_stride, change arrays organized based on b8_stride toMichael Niedermayer2010-02-25
| | | | | | | ones based on mb_stride in h264. about 20 cpu cycles faster overall per MB Originally committed as revision 22065 to svn://svn.ffmpeg.org/ffmpeg/trunk
* H264: use alias-safe macrosMåns Rullgård2010-02-18
| | | | | | | This eliminates all aliasing violation warnings in h264 code. No measurable speed difference with gcc-4.4.3 on i7. Originally committed as revision 21881 to svn://svn.ffmpeg.org/ffmpeg/trunk
* 10l ;; gcc 2.95 compilation fix by mikeMichael Niedermayer2010-02-15
| | | | Originally committed as revision 21830 to svn://svn.ffmpeg.org/ffmpeg/trunk
* 10l use pack16to32(), should fix big endian h264 failures.Michael Niedermayer2010-02-15
| | | | Originally committed as revision 21829 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Cosmetics, vertical align.Michael Niedermayer2010-02-14
| | | | Originally committed as revision 21817 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Move setting MB_TYPE_L0L1 for direct MBs up, this is simpler.Michael Niedermayer2010-02-13
| | | | Originally committed as revision 21794 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Simplify if()Michael Niedermayer2010-02-13
| | | | Originally committed as revision 21791 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Init sub_mb_type cleanly.Michael Niedermayer2010-02-13
| | | | Originally committed as revision 21790 to svn://svn.ffmpeg.org/ffmpeg/trunk
* 100l Forgoten hunk.unbreak compile before someone notices.Michael Niedermayer2010-02-13
| | | | Originally committed as revision 21789 to svn://svn.ffmpeg.org/ffmpeg/trunk