1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-28 20:53:54 +02:00
Commit Graph

192 Commits

Author SHA1 Message Date
Michael Niedermayer
59eb12faff Merge remote branch 'qatar/master'
* qatar/master: (30 commits)
  AVOptions: make default_val a union, as proposed in AVOption2.
  arm/h264pred: add missing argument type.
  h264dsp_mmx: place bracket outside #if/#endif block.
  lavf/utils: fix ff_interleave_compare_dts corner case.
  fate: add 10-bit H264 tests.
  h264: do not print "too many references" warning for intra-only.
  Enable decoding of high bit depth h264.
  Adds 8-, 9- and 10-bit versions of some of the functions used by the h264 decoder.
  Add support for higher QP values in h264.
  Add the notion of pixel size in h264 related functions.
  Make the h264 loop filter bit depth aware.
  Template dsputil_template.c with respect to pixel size, etc.
  Template h264idct_template.c with respect to pixel size, etc.
  Preparatory patch for high bit depth h264 decoding support.
  Move some functions in dsputil.c into a new file dsputil_template.c.
  Move the functions in h264idct into a new file h264idct_template.c.
  Move the functions in h264pred.c into a new file h264pred_template.c.
  Preparatory patch for high bit depth h264 decoding support.
  Add pixel formats for 9- and 10-bit yuv420p.
  Choose h264 chroma dc dequant function dynamically.
  ...

Conflicts:
	doc/APIchanges
	ffmpeg.c
	ffplay.c
	libavcodec/alpha/dsputil_alpha.c
	libavcodec/arm/dsputil_init_arm.c
	libavcodec/arm/dsputil_init_armv6.c
	libavcodec/arm/dsputil_init_neon.c
	libavcodec/arm/dsputil_iwmmxt.c
	libavcodec/arm/h264pred_init_arm.c
	libavcodec/bfin/dsputil_bfin.c
	libavcodec/dsputil.c
	libavcodec/h264.c
	libavcodec/h264.h
	libavcodec/h264_cabac.c
	libavcodec/h264_cavlc.c
	libavcodec/h264_loopfilter.c
	libavcodec/h264_ps.c
	libavcodec/h264_refs.c
	libavcodec/h264dsp.c
	libavcodec/h264idct.c
	libavcodec/h264pred.c
	libavcodec/mlib/dsputil_mlib.c
	libavcodec/options.c
	libavcodec/ppc/dsputil_altivec.c
	libavcodec/ppc/dsputil_ppc.c
	libavcodec/ppc/h264_altivec.c
	libavcodec/ps2/dsputil_mmi.c
	libavcodec/sh4/dsputil_align.c
	libavcodec/sh4/dsputil_sh4.c
	libavcodec/sparc/dsputil_vis.c
	libavcodec/utils.c
	libavcodec/version.h
	libavcodec/x86/dsputil_mmx.c
	libavformat/options.c
	libavformat/utils.c
	libavutil/pixfmt.h
	libswscale/swscale.c
	libswscale/swscale_internal.h
	libswscale/swscale_template.c
	tests/ref/seek/lavf_avi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-11 05:47:02 +02:00
Oskar Arvidsson
fcc0224e4f Add support for higher QP values in h264.
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-10 07:24:35 -04:00
Oskar Arvidsson
6e3ef511d7 Add the notion of pixel size in h264 related functions.
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-10 07:24:33 -04:00
Baptiste Coudurier
8811679c8e SVQ3: Move svq3 specific fields to their own context.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-05 15:43:46 +02:00
Stefano Sabatini
ce5e49b0c2 replace deprecated FF_*_TYPE symbols with AV_PICTURE_TYPE_* 2011-05-02 16:41:41 +02:00
Stefano Sabatini
975a1447f7 Replace deprecated FF_*_TYPE symbols with AV_PICTURE_TYPE_*.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-05-02 12:18:44 +02:00
Michael Niedermayer
d7e5aebae7 Merge remote branch 'qatar/master'
* qatar/master: (23 commits)
  ac3enc: correct the flipped sign in the ac3_fixed encoder
  Eliminate pointless '#if 1' statements without matching '#else'.
  Add AVX FFT implementation.
  Increase alignment of av_malloc() as needed by AVX ASM.
  Update x86inc.asm from x264 to allow AVX emulation using SSE and MMX.
  mjpeg: Detect overreads in mjpeg_decode_scan() and error out.
  documentation: extend documentation for ffmpeg -aspect option
  APIChanges: update commit hashes for recent additions.
  lavc: deprecate FF_*_TYPE macros in favor of AV_PICTURE_TYPE_* enums
  aac: add headers needed for log2f()
  lavc: remove FF_API_MB_Q cruft
  lavc: remove FF_API_RATE_EMU cruft
  lavc: remove FF_API_HURRY_UP cruft
  pad: make the filter parametric
  vsrc_movie: add key_frame and pict_type.
  vsrc_movie: fix leak in request_frame()
  lavfi: add key_frame and pict_type to AVFilterBufferRefVideo.
  vsrc_buffer: add sample_aspect_ratio fields to arguments.
  lavfi: add fieldorder filter
  scale: make the filter parametric
  ...

Conflicts:
	Changelog
	doc/filters.texi
	ffmpeg.c
	libavcodec/ac3dec.h
	libavcodec/dsputil.c
	libavfilter/avfilter.h
	libavfilter/vf_scale.c
	libavfilter/vf_yadif.c
	libavfilter/vsrc_buffer.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-27 03:51:04 +02:00
Diego Biurrun
e6ff064845 Eliminate pointless '#if 1' statements without matching '#else'. 2011-04-26 20:18:27 +02:00
Michael Niedermayer
a50f0bea25 H264: Split out hl_motion and template it, this seems a bit faster
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-10 22:33:42 +02:00
Michael Niedermayer
e7077f5e7b H264: replace pixel_size by pixel_shift
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-10 22:33:42 +02:00
Oskar Arvidsson
d268bed209 Add support for higher QP values in h264.
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: Michael Niedermayer <michaelni@gmx.at>
2011-04-10 22:33:42 +02:00
Oskar Arvidsson
dc172ecc6e Add the notion of pixel size in h264 related functions.
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: Michael Niedermayer <michaelni@gmx.at>
2011-04-10 22:33:41 +02:00
Michael Niedermayer
d375c10400 Fake-Merge remote-tracking branch 'ffmpeg-mt/master' 2011-03-22 22:36:57 +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
Janne Grunau
94e3e83f13 h264: Add Intra and Constrained Baseline profiles to avctx.profile
(cherry picked from commit fe9a3fbe42)
2011-02-02 03:40:50 +01:00
Janne Grunau
fe9a3fbe42 h264: Add Intra and Constrained Baseline profiles to avctx.profile 2011-02-01 20:37:02 +01:00
Diego Elio Pettenò
123241214c Make ff_h264_decode_rbsp_trailing static to h264.c
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
(cherry picked from commit 8529731961)
2011-01-26 03:43:31 +01:00
Diego Elio Pettenò
8529731961 Make ff_h264_decode_rbsp_trailing static to h264.c
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-01-25 21:48:03 +01:00
Ronald S. Bultje
772225c041 Revert 2a1f431d38, it broke H264 lossless.
(cherry picked from commit 66c6b5e2a5)
2011-01-21 20:36:01 +01:00
Ronald S. Bultje
66c6b5e2a5 Revert 2a1f431d38, it broke H264 lossless. 2011-01-20 17:24:44 -05:00
Jason Garrett-Glaser
2a1f431d38 H.264/SVQ3: make chroma DC work the same way as luma DC
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-15 01:10:46 +00:00
Jason Garrett-Glaser
5657d14094 H.264: switch to x264-style tracking of luma/chroma DC NNZ
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-14 21:36:16 +00:00
Jason Garrett-Glaser
19fb234e4a H.264: split luma dc idct out and implement MMX/SSE2 versions
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
2011-01-14 21:34:25 +00:00
Eli Friedman
9049fa5479 Add av_unused to decode_mb_skip declaration to fix the following warning:
libavcodec/h264.h:1260: warning: ‘decode_mb_skip’ defined but not used
patch by Eli Friedman, eli.friedman gmail com

Originally committed as revision 24069 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-06 07:40:35 +00:00
Michael Niedermayer
733f5990d0 Factorize ff_generate_sliding_window_mmcos() out.
Originally committed as revision 24056 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-05 12:42:19 +00:00
Måns Rullgård
49bd8e4b84 Fix grammar errors in documentation
Originally committed as revision 23904 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-30 15:38:06 +00:00
Howard Chu
82f1ffc7ba Cleanup prev commit, flag variable should start with 0
Originally committed as revision 23364 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-28 20:14:14 +00:00
Howard Chu
23584bec87 Parse avctx->extradata if available.
Fixes many "non-existing PPS referenced" error messages

Originally committed as revision 23363 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-28 18:50:39 +00:00
Howard Chu
05e953193d Factorize ff_h264_decode_extradata().
Patch by Howard Chu, hyc highlandsun com

Originally committed as revision 23340 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-26 19:00:59 +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
Diego Biurrun
d02bb3ecf1 Move static function fill_filter_caches() from h264.h to h264.c.
The function is only used within that file, so it makes sense to place
it there. This fixes many warnings of the type:
h264.h:1170: warning: ‘fill_filter_caches’ defined but not used

Originally committed as revision 22876 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-13 22:15:49 +00:00
Michael Niedermayer
1052b76f0f Fix implicit weight for b frames in mbaff.
Originally committed as revision 22733 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 21:05:11 +00:00
Benoit Fouet
32e543f866 Replace @returns by @return.
Originally committed as revision 22729 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 15:50:57 +00:00
Måns Rullgård
4693b031a3 Move H264 dsputil functions into their own struct
This moves the H264-specific functions from DSPContext to the new
H264DSPContext.  The code is made conditional on CONFIG_H264DSP
which is set by the codecs requiring it.

The qpel and chroma MC functions are not moved as these are used by
non-h264 code.

Originally committed as revision 22565 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-16 01:17:00 +00:00
Måns Rullgård
404793f4ac H264: fix signed overflow in constant multiplication
This fixes libavcodec/h264.h:1100: warning: integer overflow in expression

Originally committed as revision 22558 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 23:00:53 +00:00
Måns Rullgård
84dc2d8afa Remove DECLARE_ALIGNED_{8,16} macros
These macros are redundant.  All uses are replaced with the generic
DECLARE_ALIGNED macro instead.

Originally committed as revision 22233 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 14:24:59 +00:00
Michael Niedermayer
38768cb70a Port Optimizations about *_type init from decode to filter code.
1 cpu cycle faster

Originally committed as revision 22193 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 02:00:05 +00:00
Michael Niedermayer
b46b5ac9f8 Optimize *_type init, 1.5 cpu cycles faster.
Originally committed as revision 22192 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 01:03:15 +00:00
Michael Niedermayer
3d9137c883 Reorder indexes in weight tables.
5 cpu cycles faster.

Originally committed as revision 22183 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 21:10:08 +00:00
Michael Niedermayer
bd8868e092 Move all context fields that are not used in the mb and block layers
to the end of the structure.
4 cpu cycles faster in 3k cpu cycles

Originally committed as revision 22181 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 20:36:56 +00:00
Michael Niedermayer
65f3c029b9 remove unused left_border field from context.
Originally committed as revision 22179 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 19:44:27 +00:00
Michael Niedermayer
af2b0df40f Note about luma/chroma_weight tables and their datatype.
Originally committed as revision 22177 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 19:31:58 +00:00
Michael Niedermayer
d7f5e520bf move svq3 specific fields to the end of the context
Originally committed as revision 22171 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 16:47:40 +00:00
Michael Niedermayer
70118abd68 Merge weight & offset tables, 15 cpu cycles faster.
Originally committed as revision 22169 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 14:41:43 +00:00
Michael Niedermayer
f57880d244 Another 3 useless zeroing instructions.
Originally committed as revision 22162 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 02:20:48 +00:00
Michael Niedermayer
16b802fe93 Load the whole left side of mv&ref only when needed.
30 cpu cycles faster

Originally committed as revision 22161 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 01:38:27 +00:00
Michael Niedermayer
ce9c691616 Merge h->slice_table[left_xy[0/1] ] checks, 4 cpu cycles speedup
Originally committed as revision 22086 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-27 04:09:48 +00:00
Michael Niedermayer
82fb5bb2ee Split *_type setting up, 4 cpu cycles faster.
Originally committed as revision 22085 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-27 03:46:16 +00:00
Michael Niedermayer
cf41a02b1b Only load the topleft mv/ref when the topright is unavailable.
8 cpu cycles faster.

Originally committed as revision 22079 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-26 15:26:11 +00:00
Michael Niedermayer
cf7b67bc40 Remove some useless operations from the code setting left_cbp.
maybe 0.5 cpu cycles faster

Originally committed as revision 22078 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-26 15:03:00 +00:00