aboutsummaryrefslogtreecommitdiff
path: root/libavcodec/h264_cavlc.c
AgeCommit message (Collapse)Author
2011-10-11h264: fix invalid shifts in init_cavlc_level_tab()Mans Rullgard
The level_code expression includes a shift which is invalid in those cases where the value is not used. Moving the calculation to the branch where the result is used avoids these. Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-11Eliminate FF_COMMON_FRAME macro.Diego Biurrun
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-03H.264: faster write_back_*Jason Garrett-Glaser
Avoid aliasing, unroll loops, and inline more functions.
2011-06-134:4:4 H.264 decoding supportJason Garrett-Glaser
Note: this is 4:4:4 from the 2007 spec revision, not the previous (now deprecated) 4:4:4 mode in H.264.
2011-06-13Roll back 4:4:4 H.264 for nowJason Garrett-Glaser
Needs some ARM/PPC asm modifications.
2011-06-134:4:4 H.264 decoding supportJason Garrett-Glaser
Note: this is 4:4:4 from the 2007 spec revision, not the previous (now deprecated) 4:4:4 mode in H.264.
2011-05-10Add support for higher QP values in h264.Oskar Arvidsson
In high bit depth, the QP values may now be up to (51 + 6*(bit_depth-8)). Preparatory patch for high bit depth h264 decoding support. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-05-10Add the notion of pixel size in h264 related functions.Oskar Arvidsson
In high bit depth the pixels will not be stored in uint8_t like in the normal case, but in uint16_t. The pixel size is thus 1 in normal bit depth and 2 in high bit depth. Preparatory patch for high bit depth h264 decoding support. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-05-02Replace deprecated FF_*_TYPE symbols with AV_PICTURE_TYPE_*.Stefano Sabatini
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-05-02Replace deprecated av_get_pict_type_char() with av_get_picture_type_char().Stefano Sabatini
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-03-19Replace FFmpeg with Libav in licence headersMans Rullgard
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-20Revert 2a1f431d38ea9c05abb215d70c7dc09cdb6888ab, it broke H264 lossless.Ronald S. Bultje
2011-01-20Set gray (128) U/V planes for chroma-less samples. Fixes two fate samplesRonald S. Bultje
when played with -flags emu_edge.
2011-01-15H.264/SVQ3: make chroma DC work the same way as luma DCJason Garrett-Glaser
No speed improvement, but necessary for some future stuff. Also opens up the possibility of asm chroma dc idct/dequant. Originally committed as revision 26349 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-14H.264: switch to x264-style tracking of luma/chroma DC NNZJason Garrett-Glaser
Useful so that we don't have to run the hierarchical DC iDCT if there aren't any coefficients. Opens up some future opportunities for optimization as well. Originally committed as revision 26337 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-14H.264: split luma dc idct out and implement MMX/SSE2 versionsJason Garrett-Glaser
About 2.5x the speed. NOTE: the way that the asm code handles large qmuls is a bit suboptimal. If x264-style dequant was used (separate shift and qmul values), it might be possible to get some extra speed. Originally committed as revision 26336 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-07H.264: 8% faster CAVLC zero-run decodingJason Garrett-Glaser
Originally committed as revision 24736 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20Remove explicit filename from Doxygen @file commands.Diego Biurrun
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-03-10Check level_prefix a bit (this just checks the max our bitreader can handle,Michael Niedermayer
as i did nt find a limit in the spec) This should stop cavlc_decode_residual() on a zero bitstream Originally committed as revision 22429 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-28Remove some unneeded fill_rectangle() for 16x16 blocks.Michael Niedermayer
Originally committed as revision 22124 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-17Move check for and call of predict_field_decoding_flag() from the mb code toMichael Niedermayer
the row code. This function would only be needed on a MB basis for MBAFF+FMO Originally committed as revision 21860 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-15Split setting neighboring MBs from fill_decode_caches()Michael Niedermayer
no speed change. Originally committed as revision 21842 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24Branchless setting of MB_TYPE_8x8DCT.Michael Niedermayer
Not benchmarked as i failed to find a sample that uses this one. But it should be faster. Originally committed as revision 21435 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24Remove cruft.Michael Niedermayer
Originally committed as revision 21434 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24a[b-1] -> (a-1)[b].Michael Niedermayer
Helps gcc not to add seperate -1 instructions. Originally committed as revision 21432 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24Optimize suffix_length computation, 1 cpu cycle speedup.Michael Niedermayer
Originally committed as revision 21431 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24Simplify suffix_length computation, same speed.Michael Niedermayer
Originally committed as revision 21430 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24Optimize level_code computation, 6cpu cycles speedup.Michael Niedermayer
Originally committed as revision 21428 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-241 cpu cycle faster suffix_length calculation.Michael Niedermayer
Originally committed as revision 21425 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-21Move dquant check into qscale overflow check.Michael Niedermayer
This should be faster (couldnt meassue a difference), and its less picky on slightly out of spec dquant. Originally committed as revision 21373 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20Merge multiple IS_* macro uses where possible.Michael Niedermayer
Originally committed as revision 21340 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18Fix compilation with -O0.Michael Niedermayer
Originally committed as revision 21308 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18filter_mb_fast needs cbp_table to be set.Michael Niedermayer
Originally committed as revision 21290 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-17Split fill_caches() between filter and decoder.Michael Niedermayer
Originally committed as revision 21271 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-17Rearchitecturing the stiched up goose part 1Michael Niedermayer
Run loop filter per row instead of per MB, this also should make it much easier to switch to per frame filtering and also doing so in a seperate thread in the future if some volunteer wants to try. Overall decoding speedup of 1.7% (single thread on pentium dual / cathedral sample) This change also allows some optimizations to be tried that would not have been possible before. Originally committed as revision 21270 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16Replace cabac checks in inline functions from h264.h with constants.Michael Niedermayer
No benchmark because its just replacing variables with litteral constants (so no risk for slowdown outside gcc silliness) and i need sleep. Originally committed as revision 21237 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13Move golomb_to_int*cbp tables back to h264_data.h as svq3.c used them.Michael Niedermayer
Yes i did compile&test, no svq3.c was not recompiled. Originally committed as revision 21180 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13Split cavlc out of h264.c.Michael Niedermayer
Seems to speed the code up a little... The placement of many generic functions between h264.c and h264.h is still open Currently they are a little randomly placed between them. Originally committed as revision 21178 to svn://svn.ffmpeg.org/ffmpeg/trunk