summaryrefslogtreecommitdiff
path: root/libavcodec/h264_direct.c
Commit message (Collapse)AuthorAge
* Merge commit 'c242bbd8b6939507a1a6fb64101b0553d92d303f'Michael Niedermayer2013-02-26
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'c242bbd8b6939507a1a6fb64101b0553d92d303f': Remove unnecessary dsputil.h #includes Conflicts: libavcodec/ffv1.c libavcodec/h261dec.c libavcodec/h261enc.c libavcodec/h264pred.c libavcodec/lpc.h libavcodec/mjpegdec.c libavcodec/rectangle.h libavcodec/x86/idct_sse2_xvid.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Remove unnecessary dsputil.h #includesDiego Biurrun2013-02-26
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-02-16
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: h264: deMpegEncContextize Conflicts: libavcodec/dxva2_h264.c libavcodec/h264.c libavcodec/h264.h libavcodec/h264_cabac.c libavcodec/h264_cavlc.c libavcodec/h264_loopfilter.c libavcodec/h264_mb_template.c libavcodec/h264_parser.c libavcodec/h264_ps.c libavcodec/h264_refs.c libavcodec/h264_sei.c libavcodec/svq3.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | h264_direct: silence several warning: assignment from incompatible pointer type"Michael Niedermayer2012-12-26
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '511cf612ac979f536fd65e14603a87ca5ad435f3'Michael Niedermayer2012-12-21
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '511cf612ac979f536fd65e14603a87ca5ad435f3': miscellaneous typo fixes Conflicts: libavcodec/4xm.c libavcodec/lagarith.c libavcodec/parser.c libavcodec/ratecontrol.c libavcodec/shorten.c libavcodec/vda_h264.c libavformat/dvenc.c libavformat/wtv.c tools/patcheck Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * miscellaneous typo fixesDiego Biurrun2012-12-21
| |
* | Merge commit 'ed2d7d5868a4a5d914f1e5488d63ea696a3b2937'Michael Niedermayer2012-12-19
|\| | | | | | | | | | | | | | | * commit 'ed2d7d5868a4a5d914f1e5488d63ea696a3b2937': ff_h264_direct_ref_list_init: fix B slice check. h264: increase dist_scale_factor for up to 32 references Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-12-18
|\| | | | | | | | | | | | | | | | | | | | | * qatar/master: configure: formatting cosmetics h264: use mbaff ref indices in fill_colmap() only for mbaff references Conflicts: libavcodec/h264_direct.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | ff_h264_direct_ref_list_init: fix B slice check.Michael Niedermayer2012-11-18
| | | | | | | | | | | | | | Fixes null pointer dereference. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-03-14
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: doc/general: update supported devices table. doc/general: add missing @tab to codecs table. h264: Fix invalid interlaced/progressive MB combinations for direct mode prediction. avconv: reindent avconv: link '-passlogfile' option to libx264 'stats' AVOption. libx264: add 'stats' private option for setting 2pass stats filename. libx264: fix help text for slice-max-size option. http: Clear the auth state on redirects http: Retry auth if it failed due to being stale rtsp: Resend new keepalive commands if they used stale auth rtsp: Retry authentication if failed due to being stale httpauth: Parse the stale field in digest auth dxva2_vc1: pass the overlap flag to the decoder dxva2_vc1: fix decoding of BI frames FATE: add shorthand to wavpack test dfa: convert to bytestream2 API anm decoder: move buffer allocation from decode_init() to decode_frame() h264: improve parsing of broken AVC SPS Conflicts: ffmpeg.c libavcodec/anm.c libavcodec/dfa.c libavcodec/h264.c libavcodec/h264_direct.c libavcodec/h264_ps.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-03-03
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (29 commits) amrwb: remove duplicate arguments from extrapolate_isf(). amrwb: error out early if mode is invalid. h264: change underread for 10bit QPEL to overread. matroska: check buffer size for RM-style byte reordering. vp8: disable mmx functions with sse/sse2 counterparts on x86-64. vp8: change int stride to ptrdiff_t stride. wma: fix invalid buffer size assumptions causing random overreads. Windows Media Audio Lossless decoder rv10/20: Fix slice overflow with checked bitstream reader. h263dec: Disallow width/height changing with frame threads. rv10/20: Fix a buffer overread caused by losing track of the remaining buffer size. rmdec: Honor .RMF tag size rather than assuming 18. g722: Fix the QMF scaling r3d: don't set codec timebase. electronicarts: set timebase for tgv video. electronicarts: parse the framerate for cmv video. ogg: don't set codec timebase electronicarts: don't set codec timebase avs: don't set codec timebase wavpack: Fix an integer overflow ... Conflicts: libavcodec/arm/vp8dsp_init_arm.c libavcodec/fraps.c libavcodec/h264.c libavcodec/mpeg4videodec.c libavcodec/mpegvideo.c libavcodec/msmpeg4.c libavcodec/pnmdec.c libavcodec/qpeg.c libavcodec/rawenc.c libavcodec/ulti.c libavcodec/vcr1.c libavcodec/version.h libavcodec/wmalosslessdec.c libavformat/electronicarts.c libswscale/ppc/yuv2rgb_altivec.c tests/ref/acodec/g722 tests/ref/fate/ea-cmv Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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
| |
* | h264: Fix invalid interlaced progressive MB combinations for direct mode ↵Michael Niedermayer2011-11-21
| | | | | | | | | | | | | | | | prediction. Fixes Ticket312 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-10-17
|\| | | | | | | | | | | | | | | | | | | | | | | * qatar/master: w32threads: support for frame multithreading avcodec: remove stray @deprecated comment Conflicts: libavcodec/utils.c libavcodec/w32thread.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | h264: fix fill_colmap() to not store entries mbaff style when the reference ↵Michael Niedermayer2011-10-06
| | | | | | | | | | | | is not mbaff at all Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-09-21
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: swfdec: Add support for sample_rate_code 0 (5512 Hz) dct-test: factor out some common code and do whas was likely intended doc: library versions need to be bumped in version.h Revert "ffmpeg: get rid of useless AVInputStream.nb_streams." Remove some forgotten AVCodecContext.palctrl usage. lavc/utils: move avcodec_init() higher in the file. lavc: replace some deprecated FF_*_TYPE with AV_PICTURE_TYPE_* ac3dec: actually use drc_scale private option lavc: undeprecate AVPALETTE_SIZE and AVPALETTE_COUNT macros alsa: add missing header msmpeg4: remove leftover unused debug variable declaration Fix assert() calls that need updates after FF_COMMON_FRAME macro elimination. Fix av_dlog invocations with wrong or missing logging context. vf_yadif: add support to yuva420p vf_yadif: correct documentation on the parity parameter vf_yadif: copy buffer properties like aspect for second frame as well oma: support for encrypted files id3v2: add support for non-text and GEOB type tag frames des: add possibility to calculate DES-CBC-MAC with small buffer Conflicts: ffmpeg.c libavcodec/dct-test.c libavformat/mpegts.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Fix assert() calls that need updates after FF_COMMON_FRAME macro elimination.Diego Biurrun2011-09-21
| | | | | | | | This fixes build failures with -DDEBUG in CPPFLAGS.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-07-12
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: changelog: misc typo and wording fixes H.264: add filter_mb_fast support for >8-bit decoding doc: Remove outdated comments about gcc 2.95 and gcc 3.3 support. lls: use av_lfg instead of rand() in test program build: remove unnecessary dependency on libs from 'all' target H.264: avoid redundant alpha/beta calculations in loopfilter H.264: optimize intra/inter loopfilter decision mpegts: fix Continuity Counter error detection build: remove unnecessary FFLDFLAGS variable vp8/mt: flush worker thread, not application thread context, on seek. mt: proper locking around release_buffer calls. DxVA2: unbreak build after [657ccb5ac75ce34e62bd67f228d9bd36db72189e] hwaccel: unbreak build Eliminate FF_COMMON_FRAME macro. Conflicts: Changelog Makefile doc/developer.texi libavcodec/avcodec.h libavcodec/h264.c libavcodec/mpeg4videodec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | replace deprecated FF_*_TYPE symbols with AV_PICTURE_TYPE_*Stefano Sabatini2011-05-02
| |
* | Fake-Merge remote-tracking branch 'ffmpeg-mt/master'Michael Niedermayer2011-03-22
|/
* 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