summaryrefslogtreecommitdiff
path: root/libavcodec/h264_direct.c
Commit message (Collapse)AuthorAge
* 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
* Restructure spatial direct MV generation so that the zero predictior shortcutMichael Niedermayer2010-02-13
| | | | | | | is closer at the top. 50-130 cpu cycles faster depending on which kind of direct MBs are meassured. Originally committed as revision 21788 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Split spatial and temporal direct MV generation.Michael Niedermayer2010-02-13
| | | | | | | | A little faster and needed for future optimizations. This sadly leads to some code duplication (which i hope i can factor out again after the optimizations on the direcr mv code are done) Originally committed as revision 21787 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Special case for spatial direct MV predictor being 0.Michael Niedermayer2010-02-13
| | | | | | a little less than 200 cpu cycles faster with the cathedral sample. Originally committed as revision 21785 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Pack MVs together from the begin for spatial direct, this simplifies the codeMichael Niedermayer2010-02-13
| | | | | | and is a bit faster (5-10 cpu cycles depending on what is meassured). Originally committed as revision 21784 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Reorder and factorize mb_type ifs, 1 cpu cycle faster and simpler.Michael Niedermayer2010-02-09
| | | | Originally committed as revision 21694 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Set partitioning to 16x16 for spatial direct MBs with mixed interlacing.Michael Niedermayer2010-02-08
| | | | | | | 11cylcles slower MV generation 98cycles faster MC Originally committed as revision 21691 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Detect spatial direct MBs partitioned smaller than 16x16 that can be partitionedMichael Niedermayer2010-02-08
| | | | | | | | as 16x16 (except ones changing interlacing relative to the colocated MB). 20 cycles slower during MV generation 175 cycles faster during MC Originally committed as revision 21690 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Detect equal 4x4 blocks in spatial direct MBs.Michael Niedermayer2010-02-08
| | | | | | | 19 cycles slower MV generation 575 cycles faster MC Originally committed as revision 21689 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Branchless calculation of ref_offset.Michael Niedermayer2010-02-08
| | | | | | 7 cpu cycles faster. Originally committed as revision 21685 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Remove incorrect fixme, i see no case that is missing.Michael Niedermayer2010-02-08
| | | | Originally committed as revision 21684 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Replace call to pred_motion() in direct spatial mv pred by codeMichael Niedermayer2010-02-08
| | | | | | | and simplify cases that cannot happen away. 8 cpu cycles faster Originally committed as revision 21683 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Set x264_build so that checks are simpler.Michael Niedermayer2010-02-08
| | | | Originally committed as revision 21681 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Zero a/b only in the branch where they need to be zeroed.Michael Niedermayer2010-02-07
| | | | Originally committed as revision 21679 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Merge mv&ref related code for spatial direct MV code.Michael Niedermayer2010-02-07
| | | | | | a bit more than 10 cpu cycles faster. Originally committed as revision 21678 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Precalculate a few variables for direct mv prediction for interlaced MBs.Michael Niedermayer2010-02-07
| | | | Originally committed as revision 21677 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Set direct MB partitioning for 16x8 and 8x16 colocated MBs to the respective ↵Michael Niedermayer2010-02-07
| | | | | | true partitioning. Originally committed as revision 21675 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Factorize setting sub_mb_type out.Michael Niedermayer2010-02-07
| | | | Originally committed as revision 21674 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Remove FIXMEs for cases that are disallowed by the spec.Michael Niedermayer2010-02-07
| | | | Originally committed as revision 21669 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Skip the fill_colmap() case thats for MBAFF if we dont have an MBAFF frame.Michael Niedermayer2010-02-07
| | | | Originally committed as revision 21667 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fix colocated map.Michael Niedermayer2010-02-07
| | | | Originally committed as revision 21664 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fix reference selection for colocated MBs from frames to fields.Michael Niedermayer2010-02-07
| | | | Originally committed as revision 21663 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add assert(sps.direct_8x8_inference_flag) to FIXME comment.Michael Niedermayer2010-02-07
| | | | Originally committed as revision 21662 to svn://svn.ffmpeg.org/ffmpeg/trunk