Commit Graph

261 Commits

Author SHA1 Message Date
Paul B Mahol
ae2c33b0c2 cosmetics: remove superfluous curly brackets
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-23 03:09:07 +01:00
Michael Niedermayer
ed45636e16 ffv1enc: switch to ff_alloc_packet2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-22 19:03:18 +01:00
Michael Niedermayer
e01f478dd2 ffv1enc: Check context_model
Fixes crash

Found-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-20 00:29:34 +01:00
Paul B Mahol
1eabd71c2b ffv1: PIX_FMT_YUV444P10 support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-07 05:11:40 +01:00
Paul B Mahol
65491fa3d5 ffv1: PIX_FMT_YUV444P9 & PIX_FMT_YUV422P9 support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-07 05:11:40 +01:00
Michael Niedermayer
e2cc39b609 Merge remote-tracking branch 'qatar/master'
* qatar/master: (40 commits)
  swf: check return values for av_get/new_packet().
  wavpack: Don't shift minclip/maxclip
  rtpenc: Expose the max packet size via an avoption
  rtpenc: Move max_packet_size to a context variable
  rtpenc: Add an option for not sending RTCP packets
  lavc: drop encode() support for video.
  snowenc: switch to encode2().
  snowenc: don't abuse input picture for storing information.
  a64multienc: switch to encode2().
  a64multienc: don't write into output buffer when there's no output.
  libxvid: switch to encode2().
  tiffenc: switch to encode2().
  tiffenc: properly forward error codes in encode_frame().
  lavc: drop libdirac encoder.
  gifenc: switch to encode2().
  libvpxenc: switch to encode2().
  flashsvenc: switch to encode2().
  Remove libpostproc.
  lcl: don't overwrite input memory.
  swscale: take first/lastline over/underflows into account for MMX.
  ...

Conflicts:
	.gitignore
	Makefile
	cmdutils.c
	configure
	doc/APIchanges
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/libdiracenc.c
	libavcodec/libxvidff.c
	libavcodec/qtrleenc.c
	libavcodec/tiffenc.c
	libavcodec/utils.c
	libavformat/mov.c
	libavformat/movenc.c
	libpostproc/Makefile
	libpostproc/postprocess.c
	libpostproc/postprocess.h
	libpostproc/postprocess_altivec_template.c
	libpostproc/postprocess_internal.h
	libpostproc/postprocess_template.c
	libswscale/swscale.c
	libswscale/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-24 02:57:18 +01:00
Anton Khirnov
278d88689b ffv1enc: switch to encode2(). 2012-02-23 13:51:29 +01:00
Michael Niedermayer
6cb2085278 Merge remote-tracking branch 'qatar/master'
* qatar/master: (27 commits)
  ppc: Add ff_ prefix to nonstatic symbols
  sh4: Add ff_ prefix to nonstatic symbols
  mpegvideo: Add ff_ prefix to nonstatic functions
  rtjpeg: Add ff_ prefix to nonstatic symbols
  rv: Add ff_ prefix to nonstatic symbols
  vp56: Add ff_ prefix to nonstatic symbols
  vorbis: Add ff_ prefix to nonstatic symbols
  msmpeg4: Add ff_ prefix to nonstatic symbols
  vc1: Add ff_ prefix to nonstatic symbols
  msmpeg4: Add ff_ prefixes to nonstatic symbols
  snow: Add ff_ prefix to nonstatic symbols
  mpeg12: Add ff_ prefix to nonstatic symbols
  mpeg4: Add ff_ prefixes to nonstatic symbols
  lagarith: Add ff_ prefix to lag_rac_init
  libavcodec: Add ff_ prefix to j_rev_dct*
  dsputil: Add ff_ prefix to inv_zigzag_direct16
  libavcodec: Prefix fdct_ifast, fdct_ifast248
  dsputil: Add ff_ prefix to the dsputil*_init* functions
  libavcodec: Add ff_ prefix to some nonstatic symbols
  vlc/rl: Add ff_ prefix to the nonstatic symbols
  ...

Conflicts:
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/dnxhddec.c
	libavcodec/ffv1.c
	libavcodec/h263.h
	libavcodec/h263dec.c
	libavcodec/h264.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo_enc.c
	libavcodec/nuv.c
	libavcodec/ppc/dsputil_ppc.c
	libavcodec/proresdsp.c
	libavcodec/svq3.c
	libavcodec/version.h
	libavformat/dv.h
	libavformat/dvenc.c
	libavformat/matroskadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-16 01:34:37 +01:00
Martin Storsjö
9cf0841ef3 dsputil: Add ff_ prefix to the dsputil*_init* functions
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:06:34 +02:00
Michael Niedermayer
25893ad6c9 ffv1: Warn the user if transparency is stored.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-15 20:35:14 +01:00
Paul B Mahol
83e2e9315a ffv1: PIX_FMT_GRAY8 support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-15 00:41:40 +01:00
Carl Eugen Hoyos
2396206fb4 ffv1: Assume encoding all bits is wanted if bits_per_raw_sample == 0. 2012-02-11 23:45:04 +01:00
Carl Eugen Hoyos
cadd9ab6aa Cosmetics: Move a block in ffv1's encode_init().
Makes the next patch smaller.
2012-02-11 23:42:58 +01:00
Paul B Mahol
6833fe4342 ffv1: PIX_FMT_GRAY16 support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-06 21:03:24 +01:00
Paul B Mahol
9b9bf5ab73 ffv1: cosmetics: indentation
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-02 21:11:36 +01:00
Paul B Mahol
ec09230c9a ffv1dec: PIX_FMT_YUV440P support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-01 19:25:58 +01:00
Paul B Mahol
917803babd ffv1enc: PIX_FMT_YUV440P support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-01 19:25:58 +01:00
Paul B Mahol
0a3a69e8d7 ffv1dec: use correct linesize
Apparently this did not break anything.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-31 23:24:32 +01:00
Paul B Mahol
c8eba9f9d5 ffv1dec: PIX_FMT_YUVA444P support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-31 21:45:34 +01:00
Paul B Mahol
b0a30ea7c8 ffv1enc: PIX_FMT_YUVA444P support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-31 21:44:59 +01:00
Paul B Mahol
ab7da16ea4 ffv1dec: PIX_FMT_YUVA420P support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-31 21:44:26 +01:00
Paul B Mahol
7054629f04 ffv1enc: PIX_FMT_YUVA420P support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-31 21:43:41 +01:00
Michael Niedermayer
4b03d96022 ffv1dec: use PIX_FMT_0RGB32 when there is no transparency plane
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-28 17:41:27 +01:00
Michael Niedermayer
2027d073ae ffv1dec: transparency plane support.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-28 17:40:39 +01:00
Michael Niedermayer
492aab8589 ffv1enc: PIX_FMT_0RGB32 support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-28 17:39:25 +01:00
Michael Niedermayer
f7b160e829 ffv1enc: Store transparency plane.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-28 17:38:04 +01:00
Laurent Aimar
46b004959b ffv1: Fixed size given to init_get_bits() in decoder.
init_get_bits() takes a number of bits and not a number of bytes as
its size argument.

Signed-off-by: Alex Converse <alex.converse@gmail.com>
2011-09-09 15:00:28 -07:00
Laurent Aimar
8362a0ffed Fixed size given to init_get_bits() in ffv1 decoder.
init_get_bits() takes a number of bits and not a number of bytes as
its size argument.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-09 22:19:56 +02:00
Michael Niedermayer
faba79e080 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mxfdec: Include FF_INPUT_BUFFER_PADDING_SIZE when allocating extradata.
  H.264: tweak some other x86 asm for Atom
  probe: Fix insane flow control.
  mpegts: remove invalid error check
  s302m: use nondeprecated audio sample format API
  lavc: use designated initialisers for all codecs.
  x86: cabac: add operand size suffixes missing from 6c32576

Conflicts:
	libavcodec/ac3enc_float.c
	libavcodec/flacenc.c
	libavcodec/frwu.c
	libavcodec/pictordec.c
	libavcodec/qtrleenc.c
	libavcodec/v210enc.c
	libavcodec/wmv2dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-30 06:46:08 +02:00
Anton Khirnov
ec6402b7c5 lavc: use designated initialisers for all codecs.
It's more readable and less prone to breakage.
2011-07-29 08:42:34 +02:00
Michael Niedermayer
976a8b2179 Merge remote-tracking branch 'qatar/master'
* qatar/master: (40 commits)
  H.264: template left MB handling
  H.264: faster fill_decode_caches
  H.264: faster write_back_*
  H.264: faster fill_filter_caches
  H.264: make filter_mb_fast support the case of unavailable top mb
  Do not include log.h in avutil.h
  Do not include pixfmt.h in avutil.h
  Do not include rational.h in avutil.h
  Do not include mathematics.h in avutil.h
  Do not include intfloat_readwrite.h in avutil.h
  Remove return statements following infinite loops without break
  RTSP: Doxygen comment cleanup
  doxygen: Escape '\' in Doxygen documentation.
  md5: cosmetics
  md5: use AV_WL32 to write result
  md5: add fate test
  md5: include correct headers
  md5: fix test program
  doxygen: Drop array size declarations from Doxygen parameter names.
  doxygen: Fix parameter names to match the function prototypes.
  ...

Conflicts:
	libavcodec/x86/dsputil_mmx.c
	libavformat/flvenc.c
	libavformat/oggenc.c
	libavformat/wtv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-04 00:45:21 +02:00
Mans Rullgard
6728aaf6d8 ffv1: remove unused tables
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-03 03:16:00 +01:00
Michael Niedermayer
294e5475c2 ffv1: fix undefined behavior with insane widths.
The new tables is large enough to prevent this together with our image size checks.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-06-13 20:42:14 +02:00
Michael Niedermayer
189db9c982 ffv1: fix 16bits multithreading
fixes ticket237

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-26 01:55:12 +02:00
Michael Niedermayer
72153419b5 Merge remote branch 'qatar/master'
* qatar/master: (33 commits)
  rtpdec_qdm2: Don't try to parse data packet if no configuration is received
  ac3enc: put the counting of stereo rematrixing bits in the same place to make the code easier to understand.
  ac3enc: clean up count_frame_bits() and count_frame_bits_fixed()
  mpegvideo: make FF_DEBUG_DCT_COEFF output coeffs via av_log() instead of just via AVFrame.
  srtdec: make sure we don't write past the end of buffer
  wmaenc: improve channel count and bitrate error handling in encode_init()
  matroskaenc: make sure we don't produce invalid file with no codec ID
  matroskadec: check that pointers were initialized before accessing them
  lavf: fix function name in compute_pkt_fields2 av_dlog message
  lavf: fix av_find_best_stream when providing a wanted stream.
  lavf: fix av_find_best_stream when decoder_ret is given and using a related stream.
  ffmpeg: factorize quality calculation
  tiff: add support for SamplesPerPixel tag in tiff_decode_tag()
  tiff: Prefer enum TiffCompr over int for TiffContext.compr.
  mov: Support edit list atom version 1.
  configure: Enable libpostproc automatically if GPL code is enabled.
  Cosmetics: fix prototypes in oggdec
  oggdec: fix memleak with continuous streams.
  matroskaenc: add missing new line in av_log() call
  dnxhdenc: add AVClass in private context.
  ...

swscale changes largely rewritten by me or replaced by baptsites due to lots of bugs in ronalds code.
Above code is also just in case its not obvios to a large extended duplicates that where cherry picked
from ffmpeg.

Conflicts:
	configure
	ffmpeg.c
	libavformat/matroskaenc.c
	libavutil/pixfmt.h
	libswscale/ppc/swscale_template.c
	libswscale/swscale.c
	libswscale/swscale_template.c
	libswscale/utils.c
	libswscale/x86/swscale_template.c
	tests/fate/h264.mak
	tests/ref/lavfi/pixdesc_le
	tests/ref/lavfi/pixfmts_copy_le
	tests/ref/lavfi/pixfmts_null_le
	tests/ref/lavfi/pixfmts_scale_le
	tests/ref/lavfi/pixfmts_vflip_le

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-13 04:40:40 +02:00
Michael Niedermayer
7b874dcc00 ffv1: Add PIX_FMT_YUV420P9 support.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-12 17:48:42 +02:00
Michael Niedermayer
7a3a259840 ffv1dec: output PIX_FMT_YUV422P10 and PIX_FMT_YUV420P10 when possible.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-12 17:35:30 +02:00
Diego Biurrun
0a6b1a9f21 Replace int_fast integer types with their sized standard posix counterparts.
The _fast integer types provide no realworld benefits, but may introduce
portability issues and are just plain ugly.
2011-05-12 12:05:54 +02:00
Michael Niedermayer
b0e1d0d9ee ffv1enc: support PIX_FMT_YUV420P10 & PIX_FMT_YUV422P10
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-08 19:53:39 +02:00
Stefano Sabatini
4737a59373 ffv1: set internal frame defaults
Another fix missed before the vsrc_buffer changes.
2011-05-08 19:27:57 +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
8772156be0 Merge remote branch 'qatar/master'
* qatar/master:
  APIChanges: document git revision for CODEC_CAP_SLICE_THREADS addition.
  Introduce slice threads flag.
  FATE: allow forcing thread-type when doing threaded fate runs.
  Use av_log_ask_for_sample() where appropriate.
  error: sort, pack, and align error code and string definitions
  The stabilization period after version bumps should be one month, not one week.
  applehttp: Expose the stream bitrate via metadata
  doc: Add some initial docs on the applehttp demuxer
  Provide a fallback version of the libm function trunc
  libavdevice: Define _XOPEN_SOURCE for usleep
  lavc: provide deprecated avcodec_thread_init until next major version
  lavc: provide the opt.h header until the next bump
  error: change AVERROR_EOF value
  error: remove AVERROR_NUMEXPECTED
  error: add error code AVERROR_OPTION_NOT_FOUND, and use it in opt.c

Conflicts:
	libavcodec/h264.c
	libavutil/error.c
	libavutil/error.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-22 03:54:30 +02:00
Ronald S. Bultje
94f7451a3a Introduce slice threads flag.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-04-21 19:42:19 -04:00
Michael Niedermayer
676d380f2a Fix undefined behavior in ffv1 with insane widths.
The new tables is large enough to prevent this together with our image size checks.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-01 12:49:52 +02:00
Michael Niedermayer
4fa0e24736 Merge remote-tracking branch 'newdev/master'
* newdev/master: (33 commits)
  Fix an infinite loop when RoQ encoded generated a frame with a size greater than the maximum valid size.
  Add kbdwin.o to AC3 decoder
  Detect byte-swapped AC-3 and support decoding it directly.
  cosmetics: indentation
  Always copy input data for AC3 decoder.
  ac3enc: make sym_quant() branch-free
  cosmetics: indentation
  Add a CPU flag for the Atom processor.
  id3v2: skip broken tags with invalid size
  id3v2: don't explicitly skip padding
  Make sure kbhit() is in conio.h
  fate: update wmv8-drm reference
  vc1: make P-frame deblock filter bit-exact.
  configure: Add the -D parameter to the dlltool command
  amr: Set the AVFMT_GENERIC_INDEX flag
  amr: Set the pkt->pos field properly to the start of the packet
  amr: Set the codec->bit_rate field based on the last packet
  rtsp: Specify unicast for TCP interleaved streams, too
  Set the correct target for mingw64 dlltool
  applehttp: Change the variable for stream position in seconds into int64_t
  ...

Conflicts:
	ffmpeg.c
	ffplay.c
	libavcodec/ac3dec.c
	libavformat/avio.h
	libavformat/id3v2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-23 02:42:56 +01:00
Mans Rullgard
027f60f32b ffv1: allocate correct size for sample buffer
This fixes a typo in the size calculation for the sample buffer
introduced in cbabccc367.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-20 22:17:20 +00: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 Elio Pettenò
e7e2df27f8 Add ff_ prefix to data symbols of encoders, decoders, hwaccel, parsers, bsf.
None of these symbols should be accessed directly, so declare them as
hidden.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit d36beb3f69)
2011-01-28 03:15:34 +01:00
Diego Elio Pettenò
d36beb3f69 Add ff_ prefix to data symbols of encoders, decoders, hwaccel, parsers, bsf.
None of these symbols should be accessed directly, so declare them as
hidden.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-26 16:08:45 +00:00
Michael Niedermayer
b276854d06 Fix indention of one forgotten line in ffv1.c
Originally committed as revision 25935 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-12 02:54:21 +00:00
Stefano Sabatini
58b4e5407d Fix FFv1 decoder buffer releasing.
Previously it was releasing the buffer which was returned to the user,
which was resulting in a crash in case of direct rendering.

Originally committed as revision 25678 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-04 22:45:46 +00:00
Michael Niedermayer
a0e7079a20 Fix 10l leak in ffv1.
Originally committed as revision 25595 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-28 12:15:50 +00:00
Michael Niedermayer
73cbf86830 Try to find a bit better initial states in ffv1 2pass.
Difference in filesizes to foreman ffv1 version=2, context=1 coder=1
18637016 adv-pass2-g300.avi
18638806 adv-pass1-g300.avi
18640534 ref-pass2-g300.avi
18918214 adv-pass2-g1.avi
18982048 ref-pass2-g1.avi
21516230 adv-pass1-g1.avi

Originally committed as revision 25594 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-28 12:15:47 +00:00
Michael Niedermayer
0ae0faa7c0 Keep track of how many slices*gops where encoded in ffv1 2 pass.
Originally committed as revision 25593 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-28 12:15:44 +00:00
Michael Niedermayer
3f0671a2d3 factorize variable declaration in ffv1.
Originally committed as revision 25592 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-28 12:15:40 +00:00
Michael Niedermayer
b7b5bccb8d FFV1 initial state 2pass code.
Originally committed as revision 25584 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-26 23:01:17 +00:00
Michael Niedermayer
28a3f525c9 Read & write initial_states for ffv1
Originally committed as revision 25583 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-26 23:01:14 +00:00
Michael Niedermayer
99a5e93526 Add initial_states array to ffv1.
Originally committed as revision 25582 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-26 23:01:11 +00:00
Michael Niedermayer
672e7e391a Add rc_stat2 to ffv1 this will be needed for finding good initial contexts in 2 pass mode.
Originally committed as revision 25581 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-26 23:01:07 +00:00
Michael Niedermayer
19721b23e3 Optimize state initialization in ffv1 clear_state().
Originally committed as revision 25580 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-26 23:01:04 +00:00
Michael Niedermayer
c42c1007c7 Only allocate stats_out when needed in ffv1
Originally committed as revision 25579 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-26 23:01:00 +00:00
Michael Niedermayer
2a317c6be4 Factorize litteral constents in ffv1 into STATS_OUT_SIZE.
Originally committed as revision 25578 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-26 23:00:57 +00:00
Michael Niedermayer
349d72870f Make 1pass statistic collection in ffv1 put_symbol_inline() conditional to avoid slowdown when more statistic collection code is added.
Originally committed as revision 25577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-26 23:00:49 +00:00
Michael Niedermayer
fc3128c9d5 Increase ffv1 encoding speed from 65 to 80 fps by forcing some inlining.
Originally committed as revision 25571 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-26 01:59:14 +00:00
Michael Niedermayer
e1f51b8821 Add quant_table_index to ffv1 PlaneContext and use it instead of duplicating the currents implementation of calculating it.
Originally committed as revision 25570 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-26 01:59:03 +00:00
Michael Niedermayer
ce3716bf05 Move ffv1 state transition table sorting to its own function.
Originally committed as revision 25563 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-24 16:55:42 +00:00
Michael Niedermayer
19591033f7 Fix the case with swaping states 127 and 129 in ffv1
Originally committed as revision 25562 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-24 12:35:42 +00:00
Michael Niedermayer
98d2f7a47f Optimize state transition table sorting in ffv1
Originally committed as revision 25561 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-24 12:31:12 +00:00
Michael Niedermayer
bc29ae4a77 2 pass mode for ffv1 to optimally order the range coder states.
Originally committed as revision 25560 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-24 12:31:09 +00:00
Michael Niedermayer
6019cd9ff2 Factorize state_transition init out.
Originally committed as revision 25559 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-24 12:31:00 +00:00
Michael Niedermayer
c868524b9a Replace 5 by named constant MAX_CONTEXT_INPUTS in ffv1.c
Originally committed as revision 25529 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-19 17:26:27 +00:00
Michael Niedermayer
d721141f54 Move shared functions out of CONFIG_FFV1_ENCODER ifdef
Originally committed as revision 25511 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-16 21:31:16 +00:00
Michael Niedermayer
d56839fc6d Store slice position and size per keyframe in ffv1.2
Originally committed as revision 25478 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-15 02:05:06 +00:00
Michael Niedermayer
1da7257739 Fix indention of ffv1.c after previous commits.
Originally committed as revision 25477 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-14 22:10:50 +00:00
Michael Niedermayer
e42393d168 Store quant table index per plane and slice.
Originally committed as revision 25476 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-14 22:03:41 +00:00
Michael Niedermayer
f08ed90d94 Assert that the context doesnt overflow in ffv1.
Originally committed as revision 25475 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-14 22:03:38 +00:00
Michael Niedermayer
e2b2f8454c Rectangular slice support for ffv1.2
Originally committed as revision 25474 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-14 22:03:32 +00:00
Michael Niedermayer
c5ac275b2e Allow storing multiple quant tables in extradata that can then be selected per keyframe in ffv1.
Originally committed as revision 25439 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-10 21:04:45 +00:00
Michael Niedermayer
0f27aca7b3 Store global things in extradata for ffv1 ver=2.
ver=2 is not set yet so this does not affect output.

Originally committed as revision 25438 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-10 21:04:41 +00:00
Michael Niedermayer
228adaab8d Make sure version is not decreased for 16bit per sample colorspaces in ffv1.
Originally committed as revision 25437 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-10 21:04:38 +00:00
Michael Niedermayer
4f22b3bbbf Factorize quant table read and write code in ffv1.c
Originally committed as revision 25436 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-10 21:04:34 +00:00
Måns Rullgård
cbabccc367 ffv1: remove VLAs
Originally committed as revision 23802 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-26 15:53:25 +00:00
Thad Ward
741b5fd44a Set an opaque alpha value when decoding rgba ffv1.
Patch by Thad Ward coderjoe69¤yahoo°com

Originally committed as revision 23757 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-24 15:22:33 +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
00bbc09309 Store range coder state transition table.
Use a better table, 2% compression gain for foreman

Originally committed as revision 22763 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-01 18:51:08 +00:00
Stefano Sabatini
72415b2adb Define AVMediaType enum, and use it instead of enum CodecType, which
is deprecated and will be dropped at the next major bump.

Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 23:30:55 +00:00
Michael Niedermayer
ef768b0c32 Disallow VLC coding with more than 8 bits as there are several bugs
in that code that could lead to broken files.
AC coding is unaffected.

Originally committed as revision 22638 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-22 21:12:31 +00:00
Michael Niedermayer
5d7bc46c2d Throw out last experimental warning that was printed for colorspaces with more than
8 bits per component. This does no good except scaring users away.

Originally committed as revision 22633 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-22 15:04:11 +00:00
Michael Niedermayer
0e22d68834 Remove the word "experimental"
Originally committed as revision 22629 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-22 14:26:17 +00:00
Reimar Döffinger
2ba8301769 Mark all pix_fmts and supported_framerates compound literals as const.
Makes no difference for gcc but at least icc can put them in .rodata then.

Originally committed as revision 19789 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-06 16:09:21 +00:00
Lars Täuber
7c6208d4c0 Use "FFmpeg video codec #1" instead of "FFmpeg codec #1" as codec long name.
patch by  Lars Täuber, lars.taeuber gmx net

Originally committed as revision 19749 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-30 21:19:37 +00:00
Lars Täuber
2fee538a16 Fix comments after switching from CABAC to range coder in r3658.
Patch by Lars Täuber, lars D taeuber A gmx D net

Originally committed as revision 19720 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-26 21:25:43 +00:00
Carl Eugen Hoyos
84c1b149b2 Fix typo.
Originally committed as revision 19639 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-14 16:41:21 +00:00
Michael Niedermayer
f83c57735e indent
Originally committed as revision 18679 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-24 13:38:28 +00:00
Michael Niedermayer
68f8d33bec Support >8bit per component YUV in FFV1.
decoding becomes slower, encoding becomes faster, with gcc on duron.
some inlining overrides like av_flatten are added to keep inlining similar
to before.

Originally committed as revision 18674 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-24 04:10:32 +00:00
Michael Niedermayer
217d34e307 Force speed irrelevant calls to get/put_symbol() to be noinline.
We need to change decode_line to always_inline because gcc decided not to inline
it anymore once we force some calls to get/put_symbol() to be non inlined and
this decision of gcc would lead to a 10% overall speed loss.
100k smaller object file, no speed change

Originally committed as revision 18673 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-24 01:50:09 +00:00
Michael Niedermayer
3788e661f1 Optimize sign handling in get_symbol().
Originally committed as revision 18672 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-24 00:26:49 +00:00
Michael Niedermayer
223d996aaf Fix a possibly exploitable buffer overflow.
Originally committed as revision 18640 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-21 12:00:39 +00:00
Michael Niedermayer
6081c30b81 Remove 2 unneeded variables from common_init() found by CSA.
Originally committed as revision 18560 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 14:59:04 +00:00
Stefano Sabatini
9106a698e7 Rename bitstream.h to get_bits.h.
Originally committed as revision 18494 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 16:20:26 +00:00
Stefano Sabatini
b275500706 Split bitstream.h, put the bitstream writer stuff in the new file
put_bits.h.

Originally committed as revision 18461 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 08:35:26 +00:00
Thilo Borgmann
7a00bbad21 Implement avcodec_decode_video2(), _audio3() and _subtitle2() which takes an
AVPacket argument rather than a const uint8_t *buf + int buf_size. This allows
passing of packet-specific flags from demuxer to decoder, such as the keyframe
flag, which appears necessary to playback corePNG P-frames.

Patch by Thilo Borgmann thilo.borgmann googlemail com, see also the thread
"Google Summer of Code participation" on the mailinglist.

Originally committed as revision 18351 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 15:59:50 +00:00
Diego Biurrun
bad5537e2c Use full internal pathname in doxygen @file directives.
Otherwise doxygen complains about ambiguous filenames when files exist
under the same name in different subdirectories.

Originally committed as revision 16912 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-01 02:00:19 +00:00
Aurelien Jacobs
199436b952 moves mid_pred() into mathops.h (with arch specific code split by directory)
Originally committed as revision 16681 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-18 22:57:40 +00:00
Aurelien Jacobs
b250f9c66d Change semantic of CONFIG_*, HAVE_* and ARCH_*.
They are now always defined to either 0 or 1.

Originally committed as revision 16590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-13 23:44:16 +00:00
Diego Biurrun
f544a5fc84 Replace generic CONFIG_ENCODERS preprocessor conditionals by more specific
CONFIG_FOO_ENCODER conditionals where appropriate.

Originally committed as revision 15174 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-03 12:33:21 +00:00
Stefan Gehrer
b3bf98aa56 move ff_log2_run to bitstream.c and reuse in ffv1.c
Originally committed as revision 13989 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-26 16:39:21 +00:00
Stefano Sabatini
fe4bf37455 Make AVCodec long_names definition conditional depending on CONFIG_SMALL.
Originally committed as revision 13759 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-12 21:50:13 +00:00
Carl Eugen Hoyos
d1845b4c84 Fix compilation for buggy icc.
Originally committed as revision 13273 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-24 07:19:12 +00:00
Carl Eugen Hoyos
eacced45c4 Replace some occurrences of -1 with PIX_FMT_NONE.
Fixes icc warning #188: enumerated type mixed with another type

Originally committed as revision 13130 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-11 22:28:43 +00:00
Stefano Sabatini
038f846e41 Add long names to some AVCodec declarations.
patch by Stefano Sabatini, stefano.sabatini-lala poste it

Originally committed as revision 13010 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-28 10:21:58 +00:00
Zuxy Meng
98a6fff98c Apply 'cold' attribute to init/uninit functions in libavcodec
Originally committed as revision 12525 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-21 03:11:20 +00:00
Michael Niedermayer
fb2cf1bcf0 const
Originally committed as revision 11724 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-01 04:14:04 +00:00
Oliver Pfister
3caffb7d80 fix mem leak
patch by Oliver Pfister: [oliver pfister gmx ch]

Originally committed as revision 9491 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-05 20:47:58 +00:00
Diego Biurrun
e5a389a1b7 license header consistency cosmetics
Originally committed as revision 9484 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-05 10:40:25 +00:00
Diego Biurrun
2029f312e8 Remove redundant #inclusion of common.h, avcodec.h already #includes it.
Originally committed as revision 8967 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-10 09:00:44 +00:00
Diego Biurrun
71e445fca3 Replace deprecated PIX_FMT names by the newer variants.
Originally committed as revision 7867 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-07 01:48:09 +00:00
Måns Rullgård
849f10351d rename always_inline to av_always_inline and move to common.h
Originally committed as revision 7256 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-12-08 00:35:08 +00:00
Diego Biurrun
c26abfa541 Rename ABS macro to FFABS.
Originally committed as revision 6666 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-11 23:17:58 +00:00
Diego Biurrun
b78e7197a8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
and fix GPL/LGPL version mismatches.

Originally committed as revision 6577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-07 15:30:46 +00:00
Måns Rullgård
62bb489b13 add some #ifdef CONFIG_ENCODERS/DECODERS
Originally committed as revision 6356 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-27 19:54:07 +00:00
Michael Niedermayer
c3e462a8ca set supported pixel formats for a few encoders (fixes crashes with grayscale)
Originally committed as revision 6303 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-20 21:17:37 +00:00
Loren Merritt
0c2aaa882d memory leak.
Originally committed as revision 5331 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-04-28 23:16:42 +00:00
Michael Niedermayer
b548f2b91b ffv1 and ffvhuff havnt changed since a long time and noone proposed any
changes within 1 month after my warning so they are officially no longer
experimental and we will gurantee decodeability of files encoded with
the currenzt ffv1/ffvhuff in the future

Originally committed as revision 5288 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-04-14 10:37:40 +00:00
Michael Niedermayer
ee7388c934 fix segfault on broken streams
Originally committed as revision 4966 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-09 09:38:03 +00:00
Diego Biurrun
5509bffa88 Update licensing information: The FSF changed postal address.
Originally committed as revision 4842 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-12 22:43:26 +00:00
Diego Biurrun
115329f160 COSMETICS: Remove all trailing whitespace.
Originally committed as revision 4749 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-17 18:14:38 +00:00
Michael Niedermayer
9cd8179818 #defines for strict_std_compliance and split between inofficial extensions and non standarized things
Originally committed as revision 4205 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-08 20:15:42 +00:00
Mike Melanson
160d679c07 Ministry of English Composition, reporting for duty (and the word is "skipped", not "skiped"; "skiped" would rhyme with "hyped")
Originally committed as revision 4153 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-24 17:21:11 +00:00
Michael Niedermayer
53513831da -strict -1 comment fix
Originally committed as revision 3976 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-02-24 16:39:03 +00:00
Milan Cutka
d6c80d3633 Fixed decoding of 410p ffv1 files patch by (Milan Cutka <cutka szm sk>)
Originally committed as revision 3964 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-02-17 19:03:12 +00:00
Michael Niedermayer
934982c4ac avoid buf_size == 0 checks in every decoder
Originally committed as revision 3872 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-01-23 18:09:06 +00:00
Michael Niedermayer
0ecca7a49f various security fixes and precautionary checks
Originally committed as revision 3822 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-01-12 00:16:25 +00:00
Michael Niedermayer
caa336b4cc common.c -> bitstream.c (and the single non bitstream func -> utils.c)
common.h -> common.h/bitstream.h

Originally committed as revision 3777 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-12-29 17:50:25 +00:00
Michael Niedermayer
d34a07466f switch ffv1 to the put/get_symbol() from snow
Originally committed as revision 3659 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-10-31 12:22:00 +00:00
Michael Niedermayer
880eae9c50 switch ffv1 from CABAC to the range coder
Originally committed as revision 3658 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-10-31 10:08:50 +00:00
Michael Niedermayer
a6c01275ad get/set_sr_golomb() cleanup
Originally committed as revision 3451 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-10 19:40:55 +00:00
Alex Beregszaszi
d58a6d8537 put the warning to the right place to avoid crashes
Originally committed as revision 3448 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-10 15:38:14 +00:00
Alex Beregszaszi
4579adb00c new signed golomb routines
Originally committed as revision 3444 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-08 17:59:22 +00:00
Michael Niedermayer
fa2522d700 10l (segfault)
Originally committed as revision 3375 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-08-03 01:07:19 +00:00
Michael Niedermayer
53db1cae1c data_size = 0 cleanup
Originally committed as revision 3146 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-05-21 14:37:16 +00:00
Michael Niedermayer
c172913a24 cleanup
Originally committed as revision 3103 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-05-02 19:18:20 +00:00
Michael Niedermayer
eea8c08fa8 cleanup & memleak fix
Originally committed as revision 3095 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-04-30 17:42:58 +00:00
Laurent Aimar
e5017ab870 h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
Originally committed as revision 2932 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-03-26 19:35:53 +00:00
Alex Beregszaszi
fe455f3328 get_bit_count -> put_bits_count
Originally committed as revision 2752 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-02-06 15:27:31 +00:00
Michael Niedermayer
598401ceea fix context=1
remove always_inline, gcc fails to inline other more important inline functions otherwise ...

Originally committed as revision 2483 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-11-06 22:05:22 +00:00
Michel Bardiaux
9b87956678 av_log() patch by (Michel Bardiaux <mbardiaux at peaktime dot be>)
Originally committed as revision 2469 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-11-03 13:26:22 +00:00
Michael Niedermayer
2cbb7820c9 ffv1 rgb support
Originally committed as revision 2463 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-11-01 17:38:25 +00:00
Dan Christiansen
dc7cb06ae0 gcc->C99 and warning fixes patch by (Dan Christiansen <danchr at daimi dot au dot dk>)
Originally committed as revision 2399 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-19 21:05:41 +00:00