Commit Graph

47 Commits

Author SHA1 Message Date
Anton Khirnov
d4d9068cdf h264: move mb_{x,y} into the per-slice context 2015-03-21 11:27:14 +01:00
Anton Khirnov
0edbe6faa7 h264: move mb_xy into the per-slice context 2015-03-21 11:27:14 +01:00
Anton Khirnov
bd3e460b73 h264: move direct_cache into the per-slice context 2015-03-21 11:27:14 +01:00
Anton Khirnov
6479c79f55 h264: move mvd_cache into the per-slice context 2015-03-21 11:27:14 +01:00
Anton Khirnov
a67f8ae9a2 h264: move mvd_table into the per-slice context 2015-03-21 11:27:14 +01:00
Anton Khirnov
e7226984ac h264: move [{top,left}_]cbp into the per-slice context 2015-03-21 11:27:13 +01:00
Anton Khirnov
95eb35f305 h264: move the ref lists variables into the per-slice context 2015-03-21 11:27:13 +01:00
Anton Khirnov
066aafced4 h264: move direct_spatial_mv_pred into the per-slice context 2015-03-21 11:27:13 +01:00
Anton Khirnov
56febc993b h264: move the slice type variables into the per-slice context 2015-03-21 11:27:13 +01:00
Anton Khirnov
99a35d1ccb h264: move neighbor_transform_size into the per-slice context 2015-03-21 11:27:13 +01:00
Anton Khirnov
e6287f077c h264: move {mv,ref}_cache into the per-slice context 2015-03-21 11:27:13 +01:00
Anton Khirnov
f69574cf7a h264: move non_zero_count_cache into the per-slice context 2015-03-21 11:27:12 +01:00
Anton Khirnov
64c81b2cd0 h264: move *_samples_available into the per-slice context 2015-03-21 11:27:12 +01:00
Anton Khirnov
7d8154edd5 h264: move intra4x4_pred_mode[_cache] into the per-slice context 2015-03-21 11:27:12 +01:00
Anton Khirnov
8b00f4df20 h264: move some neighbour information into the per-slice context 2015-03-21 11:27:12 +01:00
Anton Khirnov
5355ed6b20 h264: move {prev,next}_mb_skipped into the per-slice context 2015-03-21 11:27:12 +01:00
Anton Khirnov
d231e84b06 h264: move the quantizers into the per-slice context 2015-03-21 11:27:12 +01:00
Vittorio Giovara
e0c16e4e32 mpegvideo: move mpegvideo formats-related defines to mpegutils.h 2014-03-16 23:04:41 +01:00
Diego Biurrun
2a61592573 avcodec: Remove some commented-out debug cruft 2013-08-20 19:59:50 +02:00
Anton Khirnov
23e85be58f h264: add a parameter to the CHROMA444 macro.
This way it does not look like a constant.
2013-03-21 10:21:02 +01:00
Anton Khirnov
e962bd08ee h264: add a parameter to the CHROMA422 macro.
This way it does not look like a constant.
2013-03-21 10:20:58 +01:00
Anton Khirnov
6d2b6f21eb h264: add a parameter to the CABAC macro.
This way it does not look like a constant.
2013-03-21 10:20:52 +01:00
Anton Khirnov
7bece9b22f h264: add a parameter to the FRAME_MBAFF macro.
This way it does not look like a constant.
2013-03-21 10:20:39 +01:00
Anton Khirnov
da6be8fcec h264: add a parameter to the MB_FIELD macro.
This way it does not look like a constant.
2013-03-21 10:20:35 +01:00
Anton Khirnov
759001c534 lavc decoders: work with refcounted frames. 2013-03-08 07:38:30 +01:00
Anton Khirnov
2c54155407 h264: deMpegEncContextize
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>
2013-02-15 16:35:16 +01:00
Diego Biurrun
1de53d006b h264: K&R formatting cosmetics for header files (part II/II) 2012-05-10 13:13:44 +02:00
Diego Biurrun
58c42af722 doxygen: misc consistency, spelling and wording fixes 2011-12-12 23:06:23 +01:00
Baptiste Coudurier
76741b0e56 h264: 4:2:2 intra decoding support
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-10-21 01:00:41 -07:00
Mans Rullgard
4d1418cd4f h264: fix signed overflows in x*0x01010101 expressions
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-09 12:27:19 +01:00
Diego Biurrun
806212498a h264: move fill_decode_neighbors()/fill_decode_caches() to h264_mvpred.h
This fixes a bunch of unused function warnings.
2011-07-14 04:09:49 +02:00
Diego Biurrun
028216b2c2 h264: move decode_mb_skip() from h264.h to h.264_mvpred.h
This resolves a circular dependency between the headers.
2011-07-12 20:36:50 +02:00
Diego Biurrun
657ccb5ac7 Eliminate FF_COMMON_FRAME macro.
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.
2011-07-11 00:19:00 +02:00
Jason Garrett-Glaser
ef0c594801 H.264: merge fill_rectangle into P-SKIP MV prediction, to match B-SKIP 2011-07-08 16:12:12 -07:00
Jason Garrett-Glaser
5136ba7c69 H.264: faster P-SKIP decoding
Inline the relevant parts of fill_decode_caches into P-SKIP mv prediction to
avoid calling the whole thing.
2011-07-08 16:11:15 -07:00
Jason Garrett-Glaser
bbdd52ed34 H.264: av_always_inline some more functions
These weren't getting inlined all the time in all gcc versions.
2011-07-08 16:09:35 -07:00
Mans Rullgard
21accb3bb2 h264: remove assert() immediately following return statement
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-03 03:09:15 +01:00
Mans Rullgard
2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Diego Biurrun
ba87f0801d Remove explicit filename from Doxygen @file commands.
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
2010-04-20 14:45:34 +00:00
Michael Niedermayer
aa5ee59eee Simplify code in mv_pred.
Not benchmarked as this is petty much just code removial.

Originally committed as revision 22066 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-26 00:08:27 +00:00
Michael Niedermayer
358b5b1a59 Get rid of mb2b8_xy and b8_stride, change arrays organized based on b8_stride to
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
2010-02-25 23:44:42 +00:00
Måns Rullgård
19769ece3b H264: use alias-safe macros
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
2010-02-18 16:24:31 +00:00
Michael Niedermayer
580920f8dc Remove 2 checks from fetch_diagonal_mv() that apparently serve no purpose.
Originally committed as revision 21314 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 02:28:26 +00:00
Michael Niedermayer
26c83a4161 Move a few things into a deeper if() in fetch_diagonal_mv().
Originally committed as revision 21313 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 02:07:12 +00:00
Michael Niedermayer
350fc614b4 Remove code that handles the case of a MB pair to our right being available.
Thats not possible except maybe in FMO which noone uses anyway.
iam also not sure if this wasnt missing a part_width.

Originally committed as revision 21312 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 01:23:19 +00:00
Michael Niedermayer
e2dd8586d8 Add forgotton multiple inclusion guards to h264_mvpred.h.
Originally committed as revision 21220 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-15 03:41:28 +00:00
Michael Niedermayer
188d3c510d Split motion vector prediction off h264.c/h.
Originally committed as revision 21174 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 21:36:26 +00:00