Commit Graph

986 Commits

Author SHA1 Message Date
Michael Niedermayer
610c67df37 mpegvideo: remove last_picture_ptr / h264 assert.
This assert is no longer true since h264 error concealment needs
last_picture_ptr to be set.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-06 16:49:49 +02:00
Michael Niedermayer
e6690b6a56 mpegvideo.c: convert some asserts to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-06 16:40:22 +02:00
Michael Niedermayer
b5da7d4c1a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avformat: Drop pointless "format" from container long names
  swscale: bury one more piece of inline asm under HAVE_INLINE_ASM.
  wv: K&R formatting cosmetics
  configure: Add missing descriptions to help output
  h264_ps: declare array of colorspace strings on its own line.
  fate: amix: specify f32 sample format for comparison
  tiny_psnr: support 32-bit float samples
  eamad/eatgq/eatqi: call special EA IDCT directly
  eamad: remove use of MpegEncContext
  mpegvideo: remove unnecessary inclusions of faandct.h
  af_asyncts: avoid overflow in out_size with large delta values
  af_asyncts: add first_pts option

Conflicts:
	configure
	libavcodec/eamad.c
	libavcodec/h264_ps.c
	libavformat/crcenc.c
	libavformat/ffmdec.c
	libavformat/ffmenc.c
	libavformat/framecrcenc.c
	libavformat/md5enc.c
	libavformat/nutdec.c
	libavformat/rawenc.c
	libavformat/yuv4mpeg.c
	tests/tiny_psnr.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-30 23:28:31 +02:00
Mans Rullgard
87cf481aa8 mpegvideo: remove unnecessary inclusions of faandct.h
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-29 21:28:45 +01:00
Michael Niedermayer
039e9fe01c Merge remote-tracking branch 'qatar/master'
* qatar/master: (29 commits)
  lavfi: reclassify showfiltfmts as a TESTPROG
  graph2dot: fix printf format specifier
  swscale: yuv2planeX 8bit >=sse2 functions need aligned stack on x86-32.
  vp8: loopfilter >=sse2 functions need aligned stack on x86-32.
  amr: remove shift out of the AMR_BIT() macro.
  dsputilenc: group yasm and inline asm function pointer assignment.
  mov: use forward declaration of a function instead of a table.
  Clarify Doxygen comment for FF_API_* #defines.
  configure: simplify get_version()
  Create version.h headers for libraries that lack them
  gitignore: Use full path instead of relative path to specify patterns
  mpegvideo: remove VLAs
  Add XTEA encryption support in libavutil
  Add Blowfish encryption support in libavutil
  eval: Add the isinf() function and tests for it
  flacdec: move lpc filter to flacdsp
  flacdec: split off channel decorrelation as flacdsp
  avplay: Add an option for not limiting the input buffer size
  FATE: add a test for WMA cover art.
  FATE: add a test for apetag cover art
  ...

Conflicts:
	.gitignore
	configure
	ffplay.c
	libavcodec/Makefile
	libavcodec/error_resilience.c
	libavcodec/mpegvideo.c
	libavcodec/ratecontrol.c
	libavdevice/avdevice.h
	libavfilter/Makefile
	libavfilter/filtfmts.c
	libavfilter/version.h
	libavformat/mov.c
	libavformat/version.h
	libavutil/Makefile
	libavutil/avutil.h
	libavutil/version.h
	libswscale/swscale.h
	libswscale/x86/swscale_mmx.c
	tests/fate/libavutil.mak
	tests/lavfi-regression.sh
	tools/graph2dot.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-04 21:03:28 +02:00
Ronald S. Bultje
89b81a1c88 mpegvideo: remove VLAs
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-04 15:10:57 +03:00
Lou Logan
6851130fd6 cosmetics: minor libavcodec spelling errors
Also update some common misspelled words in patcheck

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-29 14:54:15 +02:00
Ronald S. Bultje
17fad33f81 Change all uses of restrict to use av_restrict instead.
Defining restrict results - for some compilers - in changing other
uses of the restrict keyword also, e.g. __declspec(restrict) gets
changed to __declspec(__restrict) on MSVC. This causes compilation
failures. Therefore, using a private namespace macro instead is
more reliable and robust.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-17 00:38:39 +02:00
Michael Niedermayer
317ca0d3f7 mpegvideo: fix out of heap array accesses
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-06 19:26:21 +02:00
Michael Niedermayer
5e50a5724b Revert "removing lowres support"
There have been multiple user complaints about loosing this feature
while its not clear the 3% speedloss claims where real or fabricated.
My own testing indicates no statistically significant speed difference
both with mpeg2 and mpeg4, and if at all the code with lowres support
is a tiny bit faster than without.

This reverts commit 92ef4be4ab, reversing
changes made to 2e07f42957.

Conflicts:

	cmdutils.c
	libavcodec/arm/vp8dsp_init_arm.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo.h
	libavutil/arm/Makefile

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-25 13:40:12 +02:00
Michael Niedermayer
70d54392f5 lowres2 support.
The new lowres support is limited to decoders where lowres decoding
is possible in high quality.
I was not able to measure any speed difference, but if one is found
the 2-3 lines that might affect speed can be made compile time conditional

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-22 22:26:55 +02:00
Michael Niedermayer
92ef4be4ab Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ARM: allow runtime masking of CPU features
  dsputil: remove unused functions
  mov: Treat keyframe indexes as 1-origin if starting at non-zero.
  mov: Take stps entries into consideration also about key_off.
  Remove lowres video decoding

Conflicts:
	ffmpeg.c
	ffplay.c
	libavcodec/arm/vp8dsp_init_arm.c
	libavcodec/libopenjpegdec.c
	libavcodec/mjpegdec.c
	libavcodec/mpegvideo.c
	libavcodec/utils.c
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-22 22:26:42 +02:00
Mans Rullgard
2bcbd98459 Remove lowres video decoding
This feature is complex, of questionable utility, and slows down
normal decoding.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-04-21 18:56:19 +01:00
Michael Niedermayer
2c0559d5e2 mpegvideo: increase buffer sizes.
Fixes buffer overflow

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-24 14:54:12 +01:00
Michael Niedermayer
59a4b73531 pthread/mpegvideo: detect and block attempts to init frames after setup.
This fixes race conditions that ultimately lead to memory corruption.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-24 00:32:18 +01:00
Michael Niedermayer
e2d110d8d2 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rv34: Handle only complete frames in frame-mt.
  MPV: set reference frame pointers to NULL when allocation of dummy pictures fails
  configure: die if x11grab dependencies are unavailable
  zerocodec: factorize loop
  avconv: fix the resampling safety factors for output audio buffer allocation
  avconv: move audio output buffer allocation to a separate function
  avconv: make the async buffer global and free it in exit_program()

Conflicts:
	ffmpeg.c
	libavcodec/mpegvideo.c
	libavcodec/rv34.c
	libavcodec/zerocodec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-23 21:20:06 +01:00
Janne Grunau
5ab506a5c8 MPV: set reference frame pointers to NULL when allocation of dummy pictures fails 2012-03-23 17:50:46 +01:00
Michael Niedermayer
967bdb8572 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  resample: allocate a large enough output buffer
  fate: fix enc_dec_pcm tests with remote target
  wmaenc: remove bit-exact hack
  FATE: remove WMA acodec tests
  FATE: add WMAv1 and WMAv2 encode/decode tests with fuzzy comparison
  FATE: add AC-3 and E-AC-3 encode/decode tests with fuzzy comparison
  qtrle: Use bytestream2 functions to prevent buffer overreads.
  vqavideo: check malloc return values
  x11grab: fix a memory leak exposed by valgrind
  threads: fix old frames returned after avcodec_flush_buffers()
  MPV: always mark dummy frames as reference
  h264: fix deadlocks on incomplete reference frame decoding.
  mpeg4: report frame decoding completion at ff_MPV_frame_end().
  mimic: don't use self as reference, and report completion at end of decode().

Conflicts:
	libavcodec/h264.c
	libavcodec/qtrle.c
	libavcodec/resample.c
	libavcodec/vqavideo.c
	libavdevice/x11grab.c
	tests/ref/seek/wmav1_asf
	tests/ref/seek/wmav2_asf

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-17 23:16:05 +01:00
Janne Grunau
7b60799aa8 MPV: always mark dummy frames as reference
If the dummy frame are not created from a reference frame they could
be deleted untimely resulting in multithreaded decoder waiting on
the current frame to finish.
Noticed by Ronald S. Bultje in the RV34 decoder with a broken file.
2012-03-16 23:35:32 +01:00
Ronald S. Bultje
c6ccb96bc9 mpeg4: report frame decoding completion at ff_MPV_frame_end().
Prevents hangs on corrupt input.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-03-16 15:30:53 -07:00
Michael Niedermayer
268098d8b2 Merge remote-tracking branch 'qatar/master'
* 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>
2012-03-03 00:23:10 +01:00
Diego Biurrun
47c0ac96aa Replace AVFrame pointer casts by proper struct member accesses. 2012-03-01 23:11:11 +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ö
efd29844eb mpegvideo: Add ff_ prefix to nonstatic functions
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:07:23 +02: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
Martin Storsjö
e96b4a53df vlc/rl: Add ff_ prefix to the nonstatic symbols
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:06:26 +02:00
Reimar Döffinger
3fe00cac71 Fix bitexact intra mismatch control.
The DC coefficient should be included, too.
This probably was missed because DC quantizer is always
even for MPEG-1/2 but this function is also used for MPEG-4.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-02-10 23:18:52 +01:00
Reimar Döffinger
5338566eaf mpegvideodec: minor simplifications.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-02-10 23:18:52 +01:00
Michael Niedermayer
f2b20b7a8b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  pixdesc: mark pseudopaletted formats with a special flag.
  avconv: switch to avcodec_encode_video2().
  libx264: implement encode2().
  libx264: split extradata writing out of encode_nals().
  lavc: add avcodec_encode_video2() that encodes from an AVFrame -> AVPacket
  cmdutils: update copyright year to 2012.
  swscale: sign-extend integer function argument to qword on x86-64.
  x86inc: support yasm -f win64 flag also.
  h264: manually save/restore XMM registers for functions using INIT_MMX.
  x86inc: allow manual use of WIN64_SPILL_XMM.
  aacdec: Use correct speaker order for 7.1.
  aacdec: Remove incorrect comment.
  aacdec: Simplify output configuration.
  Remove Sun medialib glue code.
  dsputil: set STRIDE_ALIGN to 16 for x86 also.
  pngdsp: swap argument inversion.

Conflicts:
	cmdutils.c
	configure
	doc/APIchanges
	ffmpeg.c
	libavcodec/aacdec.c
	libavcodec/dsputil.h
	libavcodec/libx264.c
	libavcodec/mlib/dsputil_mlib.c
	libavcodec/utils.c
	libavfilter/vf_scale.c
	libavutil/avutil.h
	libswscale/mlib/yuv2rgb_mlib.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-09 01:27:12 +01:00
Diego Biurrun
0144fe6995 Remove Sun medialib glue code.
It is obscure, most likely unused and not bit-exact compared to
libavcodec due to a different IDCT transform algorithm.
2012-02-08 08:52:30 +01:00
Michael Niedermayer
05ebe51e00 mpeg/h264: update thread context even if it is not initialized.
Fixes decoding of Ticket952

Tested-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-31 21:43:04 +01:00
Michael Niedermayer
b2be1dabb1 mpegvideo: Draw edges based on the pictures linesize instead of the contexts.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-24 15:36:38 +01:00
Michael Niedermayer
b5a69e79c5 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtpdec: Use our own SSRC in the SDES field when sending RRs
  Finalize changelog for 0.8 Release
  Prepare for 0.8 Release
  threads: change the default for threads back to 1
  threads: update slice_count and slice_offset from user context
  aviocat: Remove useless includes
  doc/APIChanges: fill in missing dates and hashes
  Revert "avserver: fix build after the next bump."
  mpegaudiodec: switch error detection check to AV_EF_BUFFER
  lavf: rename fer option and document resulting (f_)err_detect options
  lavc: rename err_filter option to err_detect and document it
  mpegvideo: fix invalid memory access for small video dimensions
  movenc: Reorder entries in the MOVIentry struct, for tigheter packing
  rtsp: Remove extern declarations for variables that don't exist
  aviocat: Flush the output before closing

Conflicts:
	Changelog
	RELEASE
	libavcodec/mpegaudiodec.c
	libavcodec/pthread.c
	libavformat/options.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-21 23:11:27 +01:00
John Brooks
9b6aafba6c mpegvideo: fix invalid memory access for small video dimensions
When either video dimension is only one macroblock, subtractions
based on v_edge_pos and the macroblock size may be negative. In
that situation, an unsigned comparison isn't sufficent to test for
MV overruns, because a limit of (unsigned)-1 will let any other
value pass.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-01-21 08:28:08 +01:00
Michael Niedermayer
0e7fc3cafe Merge remote-tracking branch 'qatar/master'
* qatar/master: (22 commits)
  rv34: frame-level multi-threading
  mpegvideo: claim ownership of referenced pictures
  aacsbr: prevent out of bounds memcpy().
  ipmovie: fix pts for CODEC_ID_INTERPLAY_DPCM
  sierravmd: fix audio pts
  bethsoftvideo: Use bytestream2 functions to prevent buffer overreads.
  bmpenc: support for PIX_FMT_RGB444
  swscale: fix crash in fast_bilinear code when compiled with -mred-zone.
  swscale: specify register type.
  rv34: use get_bits_left()
  avconv: reinitialize the filtergraph on resolution change.
  vsrc_buffer: error on changing frame parameters.
  avconv: fix -copyinkf.
  fate: Update file checksums after the mov muxer change in a78dbada55
  movenc: Don't store a nonzero creation time if nothing was set by the caller
  bmpdec: support for rgb444 with bitfields compression
  rgb2rgb: allow conversion for <15 bpp
  doc: fix stray reference to FFmpeg
  v4l2: use C99 struct initializer
  v4l2: poll the file descriptor
  ...

Conflicts:
	avconv.c
	libavcodec/aacsbr.c
	libavcodec/bethsoftvideo.c
	libavcodec/kmvc.c
	libavdevice/v4l2.c
	libavfilter/vsrc_buffer.c
	libswscale/swscale_unscaled.c
	libswscale/x86/input.asm
	tests/ref/acodec/alac
	tests/ref/acodec/pcm_s16be
	tests/ref/acodec/pcm_s24be
	tests/ref/acodec/pcm_s32be
	tests/ref/acodec/pcm_s8
	tests/ref/lavf/mov
	tests/ref/vsynth1/dnxhd_1080i
	tests/ref/vsynth1/mpeg4
	tests/ref/vsynth1/qtrle
	tests/ref/vsynth1/svq1
	tests/ref/vsynth2/dnxhd_1080i
	tests/ref/vsynth2/mpeg4
	tests/ref/vsynth2/qtrle
	tests/ref/vsynth2/svq1

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-11 02:44:43 +01:00
Janne Grunau
3ab7700018 mpegvideo: claim ownership of referenced pictures
Under certain conditions pictures could be released before they were
returned with frame-threading. Broken mv computation in the upcoming
rv34 frame-threading patch was caused by this.

To prevent contexts from running out of available pictures the loop
releasing "unused" pictures has to be run for B frames too.
2012-01-10 22:51:56 +01:00
Michael Niedermayer
757473831c Merge remote-tracking branch 'qatar/master'
* qatar/master: (29 commits)
  cabac: Move code only used within the CABAC test program into the test program.
  vp56: Drop unnecessary cabac.h #include.
  h264-test: Initialize AVCodecContext.av_class.
  build: Skip compiling network.h and rtsp.h if networking is not enabled.
  cosmetics: drop some pointless parentheses
  Disable annoying warning without changing behavior
  faq: Solutions for common problems with sample paths when running FATE.
  avcodec: attempt to clarify the CODEC_CAP_DELAY documentation
  avcodec: fix avcodec_encode_audio() documentation.
  FATE: xmv-demux test; exercise the XMV demuxer without decoding the perceptual codecs inside.
  vqf: recognize more metadata chunks
  FATE test: BMV demuxer and associated video and audio decoders.
  FATE: indeo4 video decoder test.
  FATE: update xxan-wc4 test to a sample with more code coverage.
  Change the recent h264_mp4toannexb bitstream filter test to output to an elementary stream rather than a program stream.
  g722enc: validate AVCodecContext.trellis
  g722enc: set frame_size, and also handle an odd number of input samples
  g722enc: split encoding into separate functions for trellis vs. no trellis
  mpegaudiodec: Use clearer pointer math
  tta: Fix returned error code at EOF
  ...

Conflicts:
	libavcodec/h264.c
	libavcodec/indeo3.c
	libavcodec/interplayvideo.c
	libavcodec/ivi_common.c
	libavcodec/libxvidff.c
	libavcodec/mpegvideo.c
	libavcodec/ppc/mpegvideo_altivec.c
	libavcodec/tta.c
	libavcodec/utils.c
	libavfilter/vsrc_buffer.c
	libavformat/Makefile
	tests/fate/indeo.mak
	tests/ref/acodec/g722

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-08 03:34:22 +01:00
Diego Biurrun
3dc99a18d4 cosmetics: drop some pointless parentheses 2012-01-07 22:13:07 +01:00
Michael Niedermayer
7d8f115843 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mpegenc: use avctx->slices as number of slices
  v410enc: fix undefined signed left shift caused by integer promotion
  Release notes: mention cleaned up header includes
  fix Changelog file
  Fix a bunch of typos.
  Drop some pointless void* return value casts from av_malloc() invocations.
  wavpack: fix typos in previous cosmetic clean-up commit
  wavpack: cosmetics: K&R pretty-printing
  avconv: remove the 'codec framerate is different from stream' warning
  wavpack: determine sample_fmt before requesting a buffer
  bmv audio: implement new audio decoding API
  mpegaudiodec: skip all channels when skipping granules
  mpegenc: simplify muxrate calculation

Conflicts:
	Changelog
	avconv.c
	doc/RELEASE_NOTES
	libavcodec/h264.c
	libavcodec/mpeg12.c
	libavcodec/mpegaudiodec.c
	libavcodec/mpegvideo.c
	libavformat/mpegenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 03:06:45 +01:00
Janne Grunau
881a5e047d mpegenc: use avctx->slices as number of slices
Adds a new member to MpegEncContext to hold the number of used slice
contexts. Fixes segfaults with '-threads 17 -thread_type slice' and
fate-vsynth{1,2}-mpeg{2,4}thread{,_ilace} with --disable-pthreads.
2012-01-02 19:20:23 +01:00
Michael Niedermayer
b72544370a mpegvideo: fix visualization buffer size.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-27 05:53:58 +01:00
Michael Niedermayer
484e59a0a0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avs: call release_buffer() at the end.
  Add minor bumps and APIchanges entries for lavc/lavfi changes.
  mpegvideo.c: K&R formatting and cosmetics.
  avconv: avoid memcpy in vsrc_buffer when possible.
  avconv: implement get_buffer()/release_buffer().
  lavfi: add a new function av_buffersrc_buffer().
  lavfi: add avfilter_copy_frame_props()
  lavc: add format field to AVFrame
  lavc: add width and height fields to AVFrame
  lavc: add a sample_aspect_ratio field to AVFrame
  doxy: add website-alike style to the html output
  FAQ: add an entry for common error when using -profile

Conflicts:
	avconv.c
	cmdutils.c
	doc/APIchanges
	libavcodec/avcodec.h
	libavcodec/mpegvideo.c
	libavcodec/utils.c
	libavcodec/version.h
	libavfilter/Makefile
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/src_movie.c
	libavfilter/vsrc_buffer.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-26 04:10:47 +01:00
Konstantin Todorov
c65dfac466 mpegvideo.c: K&R formatting and cosmetics.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-12-25 10:07:19 -08:00
Michael Niedermayer
7c29313b38 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  APIchanges: fill in revision for AVFrame.age deprecation
  avcodec: deprecate AVFrame.age
  4xm: remove unneeded check for remaining unused data.
  lavf: force threads to 1 in avformat_find_stream_info()
  swscale: fix overflows in vertical scaling at top/bottom edges.
  lavf: add OpenMG audio muxer.
  omadec: split data that will be used in the muxer to a separate file.
  lavf: rename oma.c -> omadec.c
  tmv decoder: set correct pix_fmt

Conflicts:
	Changelog
	doc/APIchanges
	libavcodec/mpegvideo.c
	libavcodec/version.h
	libavformat/oma.c
	libavformat/version.h
	libswscale/swscale.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-19 02:34:18 +01:00
Mans Rullgard
8400b126ac avcodec: deprecate AVFrame.age
This was intended as an optimisation for skipped blocks in MPEG2
P-frames and never used elsewhere.  Removing this "optimisation"
speeds up MPEG2 decoding by 1-2% (ARM Cortex-A9).

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-18 22:14:33 +00:00
Michael Niedermayer
21270cffae h263dec: Fix regression / crash with lowres.
Fixes Ticket757
Bug Found by: ami_stuff

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-15 04:59:21 +01:00
Michael Niedermayer
dcca7d66bd Revert "mpegvideo: remove abort() in ff_find_unused_picture()"
This reverts commit 4f820131fa.

It is better to abort() than to have remotly exploitable arbitrary code
execution bugs. Even more so that this abort has never been triggered
by any input people threw at it.
If after more extensive testing its removial is found safe we can remove
the abort() later.
2011-12-15 00:15:18 +01:00
Michael Niedermayer
e462257242 Merge remote-tracking branch 'qatar/master'
* qatar/master: (23 commits)
  applehttp: Properly clean up if unable to probe a segment
  applehttp: Avoid reading uninitialized memory
  fate: Replace misleading "aac" in the name of an ADTS test with "adts".
  fate: Drop pointless "-an" from pictor test command.
  fate: split off image codec FATE tests into their own file
  fate: split off WMA codec FATE tests into their own file
  fate: split off lossless video and audio FATE tests into their own files
  fate: split off qtrle codec FATE tests into their own file
  fate: split off Ut Video codec FATE tests into their own file
  fate: split off screen codec FATE tests into their own file
  fate: split off Real Inc. codec FATE tests into their own file
  fate: split off AC-3 codec FATE tests into their own file
  mpegvideo: remove abort() in ff_find_unused_picture()
  rv40: NEON optimised loop filter strength selection
  rv40: rearrange loop filter functions
  configure: cosmetics: sort some lists where appropriate
  swscale_mmx: drop no longer required parameters from VSCALEX macros
  swscale: Mark yuv2planeX_8_mmx as MMX2; it contains MMX2 instructions.
  build: conditionally compile x86 H.264 chroma optimizations
  v410 encoder and decoder
  ...

Conflicts:
	Changelog
	configure
	doc/developer.texi
	doc/general.texi
	libavcodec/arm/asm.S
	libavcodec/avcodec.h
	libavcodec/v410dec.c
	libavcodec/v410enc.c
	libavcodec/version.h
	libavcodec/x86/Makefile
	libavcodec/x86/dsputil_mmx.c
	libswscale/x86/swscale_mmx.c
	tests/Makefile
	tests/fate2.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-14 23:58:10 +01:00
Andrey Utkin
4f820131fa mpegvideo: remove abort() in ff_find_unused_picture()
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-12-14 18:17:21 +01:00
Michael Niedermayer
8bc7fe4daf Merge remote-tracking branch 'qatar/master'
* qatar/master:
  doxygen: misc consistency, spelling and wording fixes
  vcr1: drop unnecessary emms_c() calls without MMX code
  Replace all uses of av_close_input_file() with avformat_close_input().
  lavf: add avformat_close_input().
  lavf: deprecate av_close_input_stream().
  lavf doxy: add some basic demuxing documentation.
  lavf doxy: add some general lavf information.
  lavf doxy: add misc utility functions to a group.
  lavf doxy: add av_guess_codec/format to the encoding group.
  lavf doxy: add core functions to a doxy group.
  Add basic libavdevice documentation.
  lavc: convert error_recognition to err_recognition.
  avconv: update -map option help text
  x86: Require 7 registers for the cabac asm
  x86: bswap: remove test for bswap instruction
  bswap: make generic implementation more compiler-friendly
  h264: remove useless cast
  proresdec: fix decode_slice() prototype

Conflicts:
	configure
	doc/APIchanges
	ffprobe.c
	libavcodec/avcodec.h
	libavcodec/celp_math.h
	libavcodec/h264.c
	libavfilter/src_movie.c
	libavformat/anm.c
	libavformat/avformat.h
	libavformat/version.h
	libavutil/avstring.h
	libavutil/bswap.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-13 00:39:48 +01:00
Diego Biurrun
58c42af722 doxygen: misc consistency, spelling and wording fixes 2011-12-12 23:06:23 +01:00
Dustin Brody
5b22d6e132 lavc: convert error_recognition to err_recognition.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-12-12 19:42:50 +01:00
Michael Niedermayer
8e2bab5d4b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  drawtext: remove typo
  pcm-mpeg: implement new audio decoding api
  w32thread: port fixes to pthread_cond_broadcast() from x264.
  doc: add editor configuration section with Vim and Emacs settings
  dxva2.h: include d3d9.h to define LPDIRECT3DSURFACE9
  avformat/utils: Drop unused goto label.
  doxygen: Replace '\' by '@' in Doxygen markup tags.
  cosmetics: drop some completely pointless parentheses
  cljr: simplify CLJRContext
  drawtext: introduce rand(min, max)
  drawtext: introduce explicit draw/hide variable
  rtmp: Use nb_invokes for all invoke commands

Conflicts:
	libavcodec/mpegvideo.c
	libavfilter/vf_drawtext.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-08 00:23:37 +01:00
Diego Biurrun
ee41963f19 cosmetics: drop some completely pointless parentheses 2011-12-07 15:29:13 +01:00
Michael Niedermayer
ff4800c16b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Code cleanup - mpegvideo.c - 500-1000line
  rv40: NEON optimised weighted prediction
  rv40: NEON optimised chroma MC
  ARM: move NEON H264 chroma mc to a separate file
  rv34: NEON optimised inverse transform functions

Conflicts:
	libavcodec/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-07 02:04:00 +01:00
Konstantin Todorov
4d9ec050a2 Code cleanup - mpegvideo.c - 500-1000line
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-12-06 11:32:38 -08:00
Michael Niedermayer
707138593a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  adpcmenc: cosmetics: pretty-printing
  ac3dec: cosmetics: pretty-printing
  yuv4mpeg: cosmetics: pretty-printing
  shorten: remove dead initialization
  roqvideodec: set AVFrame reference before reget_buffer.
  bmp: fix some 1bit samples.
  latmdec: add fate test for audio config change
  oma: PCM support
  oma: better format detection with small probe buffer
  oma: clearify ambiguous if condition
  wavpack: Properly clip samples during lossy decode
  Code clean-up for crc.c, lfg.c, log.c, random_see.d, rational.c and tree.c.
  Cleaned pixdesc.c file in libavutil
  zmbv.c: coding style clean-up.
  xan.c: coding style clean-up.
  mpegvideo.c: code cleanup - first 500 lines.

Conflicts:
	Changelog
	libavcodec/adpcmenc.c
	libavcodec/bmp.c
	libavcodec/zmbv.c
	libavutil/log.c
	libavutil/pixdesc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-05 00:11:57 +01:00
Konstantin Todorov
363114e813 mpegvideo.c: code cleanup - first 500 lines.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-12-03 14:03:27 -08:00
Michael Niedermayer
e4de71677f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  aac_latm: reconfigure decoder on audio specific config changes
  latmdec: fix audio specific config parsing
  Add avcodec_decode_audio4().
  avcodec: change number of plane pointers from 4 to 8 at next major bump.
  Update developers documentation with coding conventions.
  svq1dec: avoid undefined get_bits(0) call
  ARM: h264dsp_neon cosmetics
  ARM: make some NEON macros reusable
  Do not memcpy raw video frames when using null muxer
  fate: update asf seektest
  vp8: flush buffers on size changes.
  doc: improve general documentation for MacOSX
  asf: use packet dts as approximation of pts
  asf: do not call av_read_frame
  rtsp: Initialize the media_type_mask in the rtp guessing demuxer
  Cleaned up alacenc.c

Conflicts:
	doc/APIchanges
	doc/developer.texi
	libavcodec/8svx.c
	libavcodec/aacdec.c
	libavcodec/ac3dec.c
	libavcodec/avcodec.h
	libavcodec/nellymoserdec.c
	libavcodec/tta.c
	libavcodec/utils.c
	libavcodec/version.h
	libavcodec/wmadec.c
	libavformat/asfdec.c
	tests/ref/seek/lavf_asf

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-03 03:00:30 +01:00
Justin Ruggles
560f773c7d avcodec: change number of plane pointers from 4 to 8 at next major bump.
Add AV_NUM_DATA_POINTERS to simplify the bump transition.
This will allow for supporting more planar audio channels without having to
allocate separate pointer arrays.
2011-12-02 17:40:40 -05:00
Michael Niedermayer
15a686b714 h263: make default color black, like flv
Fixes Ticket126

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-20 20:40:22 +01:00
Michael Niedermayer
dbb38bc389 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  swscale: Fix stack alignment for SSE
  avcodec: move some AVCodecContext fields to an internal struct.
  avcodec: use av_opt_set() instead of deprecated av_set_string3()
  avcodec: fix some const warnings
  avcodec: remove pointless AVOption, internal_buffer_count
  imgutils: Fix illegal read.

Conflicts:
	doc/APIchanges
	libavcodec/avcodec.h
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-20 02:46:06 +01:00
Justin Ruggles
f3a29b750a avcodec: move some AVCodecContext fields to an internal struct.
A new field, AVCodecContext.internal is used to hold a new struct
AVCodecInternal, which has private fields that are not codec-specific and are
used by general libavcodec functions.

Moved internal_buffer, internal_buffer_count, and is_copy.
2011-11-19 10:01:05 -05:00
Sebastien Zwickert
ac3dbb4d58 hwaccel: OS X Video Decoder Acceleration (VDA) support.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-11-14 16:07:32 +01:00
Michael Niedermayer
80f716cd45 mpeg4videodec: fix lml4 and frame threading without -vsync 0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-10 13:51:38 +01:00
Sebastien Zwickert
d66ee6ac48 HWAccel: adds Video Decoder Acceleration (VDA) module for Mac OS X.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-02 15:47:27 +01:00
Michael Niedermayer
fe906830fd Revert "mpeg12: move closed_gop from MpegEncContext to Mpeg1Context"
This reverts commit 3fc0830432.
The revert is done because the reasoning behind the commit was
flawed, closed_gop is not mpeg1/2 specific.

Conflicts:

	libavcodec/mpeg12.c
	libavcodec/mpeg12.h
2011-10-24 01:04:14 +02:00
Michael Niedermayer
2b0cdb7364 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Move id3v2 tag writing to a separate file.
  swscale: add missing colons to x86 assembly yuv2planeX.
  g722: split decoder and encoder into separate files
  cosmetics: remove extra spaces before end-of-statement semi-colons
  vorbisdec: check output buffer size before writing output
  wavpack: calculate bpp using av_get_bytes_per_sample()
  ac3enc: Set max value for mode options correctly
  lavc: move get_b_cbp() from h263.h to mpeg4videoenc.c
  mpeg12: move closed_gop from MpegEncContext to Mpeg1Context
  mpeg12: move full_pel from MpegEncContext to Mpeg1Context
  mpeg12: move Mpeg1Context from mpeg12.c to mpeg12.h
  mpegvideo: remove some unused variables from MpegEncContext.

Conflicts:
	libavcodec/mpeg12.c
	libavformat/mp3enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-24 01:01:21 +02:00
Anton Khirnov
3fc0830432 mpeg12: move closed_gop from MpegEncContext to Mpeg1Context
It's MPEG-1/2 specific.
2011-10-23 14:15:56 +02:00
Michael Niedermayer
dd8ffc1925 Merge remote-tracking branch 'qatar/master'
* qatar/master: (47 commits)
  lavc: hide private symbols.
  lavc: deprecate img_get_alpha_info().
  lavc: use avpriv_ prefix for ff_toupper4.
  lavc: use avpriv_ prefix for ff_copy_bits and align_put_bits.
  lavc: use avpriv_ prefix for ff_ac3_parse_header.
  lavc: use avpriv_ prefix for ff_frame_rate_tab.
  lavc: rename ff_find_start_code to avpriv_mpv_find_start_code
  lavc: use avpriv_ prefix for ff_split_xiph_headers.
  lavc: use avpriv_ prefix for ff_dirac_parse_sequence_header.
  lavc: use avpriv_ prefix for some dv symbols used in lavf.
  lavc: use avpriv_ prefix for some flac symbols used in lavf.
  lavc: use avpriv_ prefix for some mpeg4audio symbols used in lavf.
  lavc: use avpriv_ prefix for some mpegaudio symbols used in lavf.
  lavc: use avpriv_ prefix for ff_aac_parse_header().
  lavf: hide private symbols.
  lavf: use avpriv_ prefix for some dv functions.
  lavf: use avpriv_ prefix for ff_new_chapter().
  avcodec: add CODEC_CAP_DELAY note to avcodec_decode_audio3() documentation
  avcodec: clarify the CODEC_CAP_DELAY note in avcodec_decode_video2()
  avcodec: clarify documentation of CODEC_CAP_DELAY
  ...

Conflicts:
	configure
	doc/general.texi
	libavcodec/Makefile
	libavcodec/aacdec.c
	libavcodec/allcodecs.c
	libavcodec/avcodec.h
	libavcodec/dv.c
	libavcodec/dvdata.c
	libavcodec/dvdata.h
	libavcodec/libspeexenc.c
	libavcodec/mpegvideo.c
	libavcodec/version.h
	libavformat/avidec.c
	libavformat/dv.c
	libavformat/dv.h
	libavformat/flvenc.c
	libavformat/mov.c
	libavformat/mp3enc.c
	libavformat/oggparsespeex.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-21 02:01:26 +02:00
Anton Khirnov
0842d58998 lavc: use avpriv_ prefix for ff_toupper4.
It's used in lavf.
2011-10-20 21:06:58 +02:00
Anton Khirnov
773375c3d0 lavc: rename ff_find_start_code to avpriv_mpv_find_start_code
It's used in lavf.
2011-10-20 21:06:58 +02:00
Michael Niedermayer
284aa07932 flv: Initialize initial frame to 16
Fixes Ticket563

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-18 14:56:59 +02:00
Michael Niedermayer
266172aaf9 Merge remote-tracking branch 'qatar/master'
* 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>
2011-10-17 02:29:40 +02:00
Steven Walters
27237d524e w32threads: support for frame multithreading
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>
2011-10-16 21:45:16 +02:00
Michael Niedermayer
86602d1c79 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vp6: Reset the internal state when aborting key frames header parsing
  vp56: Release old pictures after a resolution changes
  vp6: Check for huffman tree build errors
  vp56: Check for missing reference frame data
  cinepak: Fix invalid read access on extra data
  vmd: fix segfaults on corruped streams
  cook: Fix js_vlc_bits value validation for joint stereo
  segafilm: Check for memory allocation failures in segafilm demuxer.
  segafilm: Fix potential division by 0 on corrupted streams in the demuxer
  Fixed segfault on corrupted sega streams in the demuxer.
  Fixed deference of NULL pointer in motionpixels decoder.
  libx264: support 9- and 10-bit output.
  h264: correct implicit_weight for field-interlaced pictures.
  mpegvideo: set correct offset for edge emulation buffer.
  mpegvideo: fix position of bottom edge.

Conflicts:
	libavcodec/motionpixels.c
	libavcodec/mpegvideo.c
	libavcodec/version.h
	libavcodec/vmdav.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-07 03:38:50 +02:00
Ronald S. Bultje
330deb7592 mpegvideo: set correct offset for edge emulation buffer.
Using the old code, half of it was unused and the other half was too
small for e.g. >8bpp interlaced data, causing random buffer overruns.
2011-10-05 04:01:23 -07:00
Ronald S. Bultje
0884dd5a1b mpegvideo: fix position of bottom edge.
It was wrong in colorspaces where horizontal and vertical chroma
subsampling are not the same, e.g. 422.
2011-10-05 04:01:23 -07:00
Michael Niedermayer
7322483d72 mpegvideo: increase emu edge buffer size
This fixes a crash with 422 H.264

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-01 01:16:25 +02:00
Michael Niedermayer
2aaf32f52f mpegvideo: support encoding with chroma intra tables that differ from luma.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-25 12:29:20 +02:00
Michael Niedermayer
3e1a7ae44a Merge remote-tracking branch 'qatar/master'
* 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>
2011-09-21 21:25:43 +02:00
Anton Khirnov
e5b29c1f6b lavc: replace some deprecated FF_*_TYPE with AV_PICTURE_TYPE_* 2011-09-21 13:51:53 +02:00
Diego Biurrun
95a06eb4d5 Fix assert() calls that need updates after FF_COMMON_FRAME macro elimination.
This fixes build failures with -DDEBUG in CPPFLAGS.
2011-09-21 09:57:32 +02:00
Michael Niedermayer
4ca6a151e0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avconv: print the codecs names in the stream mapping.
  avconv: move the avcodec_find_decoder() call to add_input_streams().
  Windows Media Image decoder (WMVP/WVP2)
  ac3enc: remove outdated TODO comment for apply_channel_coupling()

Conflicts:
	Changelog
	libavcodec/avcodec.h
	libavcodec/vc1dec.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-23 18:26:37 +02:00
Alberto Delmás
45ecda8554 Windows Media Image decoder (WMVP/WVP2)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-08-23 11:18:35 +02:00
Baptiste Coudurier
6e7315f4a1 mpegvideo: Fix vshift vs hshift typo
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-15 00:34:41 +02:00
Michael Niedermayer
44187717c1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ppc: remove redundant setting of Altivec IDCT
  mpegvideo: initialise DSPContext in ff_dct_common_init()
  cosmetics: reindent
  eac3enc: support writing of basic mixing and info metadata
  dnxhdenc: fix declarations in for loops
  dsputil: remove stale bink prototypes and comments
  dsputil: move a bink-only function to binkdsp
  dsputil: remove some unused functions
  bink: make IDCT take 32-bit input

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-28 09:28:01 +02:00
Mans Rullgard
c3027b4d2f mpegvideo: initialise DSPContext in ff_dct_common_init()
The functions and tables initialised in this function rely on an
initialised DSPContext.  Make sure they always have one.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-27 20:14:12 +01:00
Michael Niedermayer
f93f6963ba Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rv30: return AVERROR(EINVAL) instead of EINVAL
  build: add -L flags before existing LDFLAGS
  simple_idct: whitespace cosmetics
  simple_idct: make repeated code a macro
  dsputil: remove huge #if 0 block
  simple_idct: change 10-bit add/put stride from pixels to bytes
  dsputil: allow 9/10-bit functions for non-h264 codecs
  dnxhd: rename some data tables
  dnxhdenc: remove inline from function only called through pointer
  dnxhdenc: whitespace cosmetics
  swscale: mark YUV422P10(LE,BE) as supported for output
  configure: add -xc99 to LDFLAGS for Sun CC
  Remove unused and non-compiling vestigial g729 decoder
  Remove unused code under G729_BITEXACT #ifdef.
  mpegvideo: fix invalid picture unreferencing.
  dsputil: Remove extra blank line at end.
  dsputil: Replace a LONG_MAX check with HAVE_FAST_64BIT.
  simple_idct: add 10-bit version

Conflicts:
	Makefile
	libavcodec/g729data.h
	libavcodec/g729dec.c
	libavcodec/rv30.c
	tests/ref/lavfi/pixdesc
	tests/ref/lavfi/pixfmts_copy
	tests/ref/lavfi/pixfmts_null
	tests/ref/lavfi/pixfmts_scale
	tests/ref/lavfi/pixfmts_vflip

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-21 16:28:53 +02:00
Ronald S. Bultje
80469eafb7 mpegvideo: fix invalid picture unreferencing.
Mpegvideo would free frames as soon as they're not the next or prev
picture. This is fine for a single-threading model, but fails miserably
in a system where pictures can be referenced (as e.g. last/prev pic)
in other threads. Keeping track of ownership of pictures keeps image
references (e.g. motion vectors, or the reference of a motion vector)
alive as long as the picture data itself is alive.

This also happens to fix make THREADS=[3-16] fate-vsynth[12]-error.
2011-07-20 10:26:49 -07:00
Stefano Sabatini
7bda0c9a82 mpegvideo: fix compilation after 900321b08c
Replace:
s->last_picture_ptr->f.key_frame = 0;
with:
s->last_picture_ptr->key_frame = 0;

This is required since mpegvideo.h:Picture now contains an embedded
AVFrame f, rather than a literal copy of the AVFrame fields.
2011-07-16 18:56:47 +02:00
elupus
900321b08c Don't mark generated dummy frame output from mpeg1/2 decoder as keyframe.
We use this flag to tell when to assume decoded data is free
from artifacts after a seek. The mpeg1/2 decoder will generate
a dummy frame if decoding is started on a non keyframe. This
will sadly be output from decoder to player and displayed
as a gray screen.
2011-07-16 12:38:25 +02:00
Michael Niedermayer
e10979ff56 Merge remote-tracking branch 'qatar/master'
* 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 [657ccb5ac7]
  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>
2011-07-12 01:42:32 +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
Michael Niedermayer
2f56a97f24 Merge remote-tracking branch 'qatar/master'
* qatar/master: (22 commits)
  H.264: fix filter_mb_fast with 4:4:4 + 8x8dct
  alsa: limit buffer_size to 32768 frames.
  alsa: fallback to buffer_size/4 for period_size.
  doc: replace @pxref by @ref where appropriate
  mpeg1video: don't abort if thread_count is too high.
  segafilm: add support for videos with cri adx adpcm
  gxf: Fix 25 fps DV material in GXF being misdetected as 50 fps
  libxvid: Add const qualifier to silence compiler warning.
  H.264: improve qp_thresh check
  H.264: use fill_rectangle in CABAC decoding
  H.264: Remove redundant hl_motion_16/8 code
  H.264: merge fill_rectangle into P-SKIP MV prediction, to match B-SKIP
  H.264: faster P-SKIP decoding
  H.264: av_always_inline some more functions
  H.264: Add x86 assembly for 10-bit H.264 predict functions
  swscale: rename uv_off/uv_off2 to uv_off_px/byte.
  swscale: implement error dithering in planarCopyWrapper.
  swscale: error dithering for 16/9/10-bit to 8-bit.
  swscale: fix overflow in 16-bit vertical scaling.
  swscale: fix crash in 8-bpc bilinear output without alpha.
  ...

Conflicts:
	doc/developer.texi
	libavdevice/alsa-audio.h
	libavformat/gxf.c
	libswscale/swscale.c
	libswscale/swscale_internal.h
	libswscale/swscale_unscaled.c
	libswscale/x86/swscale_template.c
	tests/ref/lavfi/pixdesc
	tests/ref/lavfi/pixfmts_copy
	tests/ref/lavfi/pixfmts_crop
	tests/ref/lavfi/pixfmts_hflip
	tests/ref/lavfi/pixfmts_null
	tests/ref/lavfi/pixfmts_scale
	tests/ref/lavfi/pixfmts_vflip

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-10 04:28:50 +02:00
Frank Barchard
f98c9fb27d mpeg1video: don't abort if thread_count is too high.
Instead, just decrease it to a valid value and use that.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-07-09 10:13:57 -07:00
Michael Niedermayer
5d4fd1d1ad Merge remote-tracking branch 'qatar/master'
* qatar/master: (36 commits)
  ARM: allow unaligned buffer in fixed-point NEON FFT4
  fate: test more FFT etc sizes
  dca: set AVCodecContext frame_size for DTS audio
  YASM: Shut up unused variable compiler warning with --disable-yasm.
  x86_32: Fix build on x86_32 with --disable-yasm.
  iirfilter: add fate test
  doxygen: Add qmul docs.
  ogg: propagate return values and return more meaningful error values
  H.264: fix overreads of qscale_table
  Remove unused static tables and static inline functions.
  eval: clear Parser instances before using
  dct-test: remove 'ref' function pointer from tables
  build: Remove deleted 'check' target from .PHONY list.
  oggdec: Abort Ogg header parsing when encountering a data packet.
  Add LGPL license boilerplate to files lacking it.
  mxfenc: small typo fix
  doxygen: Fix documentation for some VP8 functions.
  sha: use AV_RB32() instead of assuming buffer can be cast to uint32_t*
  des: allow unaligned input and output buffers
  aes: allow unaligned input and output buffers
  ...

Conflicts:
	libavcodec/dct-test.c
	libavcodec/libvpxenc.c
	libavcodec/x86/dsputil_mmx.c
	libavcodec/x86/h264_qpel_mmx.c
	libavfilter/x86/gradfun.c
	libavformat/oggdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-05 02:26:17 +02:00
Jason Garrett-Glaser
5029a40633 H.264: fix overreads of qscale_table
filter_mb_fast assumed that qscale_table was padded like many of the other tables.
2011-07-04 06:39:20 -07:00
Michael Niedermayer
c137fdd778 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  swscale: remove misplaced comment.
  ffmpeg: fix streaming to ffserver.
  swscale: split out RGB48 output functions from yuv2packed[12X]_c().
  build: move vpath directives to main Makefile
  swscale: fix JPEG-range YUV scaling artifacts.
  build: move ALLFFLIBS to a more logical place
  ARM: factor some repetitive code into macros
  Fix SVQ3 after adding 4:4:4 H.264 support
  H.264: fix CODEC_FLAG_GRAY
  4:4:4 H.264 decoding support
  ac3enc: fix allocation of floating point samples.

Conflicts:
	ffmpeg.c
	libavcodec/dsputil_template.c
	libavcodec/h264.c
	libavcodec/mpegvideo.c
	libavcodec/snow.c
	libswscale/swscale.c
	libswscale/swscale_internal.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-15 02:15:25 +02:00
Jason Garrett-Glaser
c90b94424c 4:4:4 H.264 decoding support
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-13 21:16:30 -07:00
Jason Garrett-Glaser
504811baea Roll back 4:4:4 H.264 for now
Needs some ARM/PPC asm modifications.
2011-06-13 13:38:46 -07:00
Jason Garrett-Glaser
c9c493872c 4:4:4 H.264 decoding support
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-13 12:21:39 -07:00
Stefano Sabatini
21bf6d7aab mpegvideo: use av_get_picture_type_char() in ff_print_debug_info() 2011-06-08 01:30:52 +02:00
Michael Niedermayer
3a1aaf7b21 ffplay: Fix -vismv
Fixes Ticket164

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-07 03:17:42 +02:00
Michael Niedermayer
87f40364d1 Merge remote-tracking branch 'qatar/master'
* qatar/master: (21 commits)
  build: simplify commands for clean target
  swscale: split swscale.c in unscaled and generic conversion routines.
  swscale: cosmetics.
  swscale: integrate (literally) swscale_template.c in swscale.c.
  swscale: split out x86/swscale_template.c from swscale.c.
  swscale: enable hScale_altivec_real.
  swscale: split out ppc _template.c files from main swscale.c.
  swscale: remove indirections in ppc/swscale_template.c.
  swscale: split out unscaled altivec YUV converters in their own file.
  mpegvideoenc: fix multislice fate tests with threading disabled.
  mpegts: Wrap #ifdef DEBUG and av_hex_dump_log() combination in a macro.
  build: Simplify texi2html invocation through the --output option.
  Mark some variables with av_unused
  Replace avcodec_get_pix_fmt_name() by av_get_pix_fmt_name().
  svq3: Check negative mb_type to fix potential crash.
  svq3: Move svq3-specific fields to their own context.
  rawdec: initialize return value to 0.
  Remove unused get_psnr() prototype
  rawdec: don't leak option strings.
  bktr: get default framerate from video standard.
  ...

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-04 06:35:17 +02:00
Ronald S. Bultje
83a8b3002f mpegvideoenc: fix multislice fate tests with threading disabled.
The MPEG encoding code assumes that n_threads == n_slices, and thus it
should use n_slices even if threading itself is disabled.
2011-06-03 09:52:09 -07:00
Michael Niedermayer
99eb31e263 Merge remote-tracking branch 'qatar/master'
* qatar/master: (25 commits)
  Replace custom DEBUG preprocessor trickery by the standard one.
  vorbis: Remove non-compiling debug statement.
  vorbis: Remove pointless DEBUG #ifdef around debug output macros.
  cook: Remove non-compiling debug output.
  Remove pointless #ifdefs around function declarations in a header.
  Replace #ifdef + av_log() combinations by av_dlog().
  Replace custom debug output functions by av_dlog().
  cook: Remove unused debug functions.
  Remove stray extra arguments from av_dlog() invocations.
  targa: fix big-endian build
  v4l2: remove one forgotten use of AVFormatParameters.pix_fmt.
  vfwcap: add a framerate private option.
  v4l2: add a framerate private option.
  libdc1394: add a framerate private option.
  fbdev: add a framerate private option.
  bktr: add a framerate private option.
  oma: check avio_read() return value
  nutdec: remove unused variable
  Remove unused variables
  swscale: allocate larger buffer to handle altivec overreads.
  ...

Conflicts:
	ffmpeg.c
	libavcodec/dca.c
	libavcodec/dirac.c
	libavcodec/error_resilience.c
	libavcodec/h264.c
	libavcodec/mpeg12.c
	libavcodec/mpeg4videodec.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo_enc.c
	libavcodec/pthread.c
	libavcodec/rv10.c
	libavcodec/s302m.c
	libavcodec/shorten.c
	libavcodec/truemotion2.c
	libavcodec/utils.c
	libavdevice/dv1394.c
	libavdevice/fbdev.c
	libavdevice/libdc1394.c
	libavdevice/v4l2.c
	libavformat/4xm.c
	libavformat/apetag.c
	libavformat/asfdec.c
	libavformat/avidec.c
	libavformat/mmf.c
	libavformat/mpeg.c
	libavformat/mpegenc.c
	libavformat/mpegts.c
	libavformat/oggdec.c
	libavformat/oggparseogm.c
	libavformat/rl2.c
	libavformat/rmdec.c
	libavformat/rpl.c
	libavformat/rtpdec_latm.c
	libavformat/sauce.c
	libavformat/sol.c
	libswscale/utils.c
	tests/ref/vsynth1/error
	tests/ref/vsynth2/error

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-03 05:19:30 +02:00
Alexander Strange
6a9c859444 H264/MPEG frame-level multi-threading.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-06-02 10:16:20 -07:00
Michael Niedermayer
39e4206dc6 Merge remote-tracking branch 'qatar/master'
* qatar/master: (32 commits)
  doc: create separate section for audio encoders
  swscale: Remove orphaned, commented-out function declaration.
  swscale: Eliminate rgb24toyv12_c() duplication.
  Remove h263_msmpeg4 from MpegEncContext.
  APIchanges: Fill in git hash for fps_probe_size (30315a8)
  avformat: Add fpsprobesize as an AVOption.
  avoptions: Return explicitly NAN or {0,0} if the option isn't found
  rtmp: Reindent
  rtmp: Don't try to do av_malloc(0)
  tty: replace AVFormatParameters.sample_rate abuse with a private option.
  Fix end time of last chapter in compute_chapters_end
  ffmpeg: get rid of useless AVInputStream.nb_streams.
  ffmpeg: simplify managing input files and streams
  ffmpeg: purge redundant AVInputStream.index.
  lavf: deprecate AVFormatParameters.channel.
  libdc1394: add a private option for channel.
  dv1394: add a private option for channel.
  v4l2: reindent.
  v4l2: add a private option for channel.
  lavf: deprecate AVFormatParameters.standard.
  ...

Conflicts:
	doc/APIchanges
	doc/encoders.texi
	ffmpeg.c
	libavdevice/alsa-audio.h
	libavformat/version.h
	libavutil/opt.c
	libswscale/rgb2rgb.h
	libswscale/rgb2rgb_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-26 03:28:22 +02:00
Alex Converse
8c51620f21 Remove h263_msmpeg4 from MpegEncContext.
It was long ago superseded by msmpeg4_version.
2011-05-25 13:24:25 -07:00
Michael Niedermayer
33adcdb531 mpeg2dec: Fix lowres 3
Fixes ticket212

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-22 03:32:08 +02:00
Michael Niedermayer
0424e052f8 Merge remote-tracking branch 'ffmpeg-mt/master'
* ffmpeg-mt/master:
      Update todo.
      h264: add an assert that copied pictures are valid picture pointers
      valgrind-check: run with 1 and 3 threads
      h264: When decoding a packet with multiple PPS/SPS, don't start the next thread until all of them have been read
      Allow some pictures to be released earlier after 51ead6d2c40c5defdd211f435aec49b19f5f6a18
      h264: fix slice threading MC reading uninitialized frame edges.

    Please see ffmpeg-mt for a list of authors of these changes.

    Conflicts:
        libavcodec/h264.c
        mt-work/valgrind-check.sh

    Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-21 03:11:50 +02:00
Michael Niedermayer
c4fb3b0327 mpegvideo: make FF_DEBUG_DCT_COEFF output coeffs via av_log() instead of just via AVFrame.
This allows the values to be used without changing C code and is closer to how
the other DEBUG flags work.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-05-12 18:02:28 +02:00
anatoly
99e07a4453 Fix crash of interlaced MPEG2 decoding 2011-05-11 22:10:56 +02:00
Anatoly Nenashev
b44c8ad280 Fix crash of interlaced MPEG2 decoding
Problem description, preliminary review discussion at
http://thread.gmane.org/gmane.comp.video.ffmpeg.devel/127731
2011-05-11 16:35:02 +02:00
Multiple Authors
a811ec7cb5 Merging branch 'ffmpeg-mt/master'
Just some cosmetics & comments, the only functional change
"error_resilience: use s->last_picture for accessing last MVs."
Is so buggy that it needs a full rewrite, guess -1.0 PSNR loss wasnt
enough for ronald to realize there was a problem.
2011-05-11 00:57:59 +02:00
Michael Niedermayer
c25a8d7dfb mpegvideo: fix 422 lowres
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-06 19:32:30 +02:00
Michael Niedermayer
757ec2d7e7 MPEG: support 4:4:4 lowres
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-05 21:44:32 +02:00
Michael Niedermayer
59b9c75d0e MPEG: support 4:4:4 intra lowres
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-05 21:42:41 +02:00
Ronald S. Bultje
d969e93a72 mpegvideo: reindent. 2011-05-03 22:35:19 -04:00
Ronald S. Bultje
fb22c23715 mpegvideo: don't av_malloc(0). 2011-05-03 22:29:00 -04: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
Anton Khirnov
e7021c0ed5 lavc: remove FF_API_HURRY_UP cruft 2011-04-26 08:16:05 +02:00
Alexander Strange
7e2eb4bacd Merge remote-tracking branch 'ffmpeg-mt/master'
* ffmpeg-mt/master:
      Release unused pictures even when not calling ff_h264_frame_start()
      h264: Fix decoding race condition with PAFF
      h264: cosmetic whitespace change
    Duplicate  Fix REBASE_PICTURE with h.264
    Not pulled  Update test scripts to use ffmpeg instead of ffmpeg_g
    Duplicate  Fix ffmpeg-mt fixme in h264

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-18 00:47:35 +02:00
Michael Niedermayer
b1eeddf1cc Fix Ticket37
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-06 01:09:04 +02:00
Michael Niedermayer
f35439699f Merge remote branch 'qatar/master'
* qatar/master:
  Fixed-point MDCT with 32-bit unscaled output
  lavc: deprecate rate_emu
  lavc: mark hurry_up for removal on next major bump
  parser: mark av_parser_parse() for removal on next major bump
  lavc: add missing audioconvert includes
  jvdec: don't use deprecated CODEC_TYPE_*/PKT_FLAG_KEY

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-03 02:28:01 +02:00
Anton Khirnov
8ed2ae09a2 lavc: mark hurry_up for removal on next major bump
It has been deprecated for about five years, skip_idct/skip_frame should
be used instead.
2011-04-02 16:17:24 +02:00
Michael Niedermayer
3c8493074b Merge remote-tracking branch 'newdev/master'
* newdev/master:
  dsputil: allow to skip drawing of top/bottom edges.
  Split fate-psx-str-v3 into a video-only and audio-only test.

Conflicts:
	libavcodec/dsputil.c
	libavcodec/mpegvideo.c
	libavcodec/snow.c
	libavcodec/x86/dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-27 01:40:18 +01:00
Alexander Strange
1500be13f2 dsputil: allow to skip drawing of top/bottom edges. 2011-03-26 17:45:38 -04:00
Michael Niedermayer
5d6c5dd36c Merge remote-tracking branch 'ffmpeg-mt/master'
* ffmpeg-mt/master:
      Update todo.
      Draw edges in MPV_frame_end when encoding

    Conflicts:
        libavcodec/mpegvideo.c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-25 02:51:20 +01:00
Michael Niedermayer
3eb9e571dc Remove a tab, somehow it sneaked past the hooks in the merge war.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-25 02:51:20 +01: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
Michael Niedermayer
8311150620 Make FF_DEBUG_DCT_COEFF output coeffs via av_log() instead of just via AVFrame.
This allows the values to be used without changing C code and is closer to how
the other DEBUG flags work.
If this causes a problem for any user of this flag, please tell me and
ill split the flag in 2.
2011-02-23 23:42:35 +01:00
Reinhard Tartler
7ffe76e540 Merge libavcore into libavutil
Done to keep ABI compatible. Otherwise this is just silly
2011-02-16 23:00:30 +01:00
Reinhard Tartler
737eb5976f Merge libavcore into libavutil
It is pretty hopeless that other considerable projects will adopt
libavutil alone in other projects. Projects that need small footprint
are better off with more specialized libraries such as gnulib or rather
just copy the necessary parts that they need. With this in mind, nobody
is helped by having libavutil and libavcore split. In order to ease
maintenance inside and around FFmpeg and to reduce confusion where to
put common code, avcore's functionality is merged (back) to avutil.

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-02-15 16:18:21 +01:00
Ronald S. Bultje
d23e3e5fea Move ff_emulated_edge_mc() into DSPContext.
(cherry picked from commit 2e27959879)
2011-01-30 03:41:01 +01:00
Ronald S. Bultje
2e27959879 Move ff_emulated_edge_mc() into DSPContext. 2011-01-28 22:13:26 -05:00
Michael Niedermayer
52654005ca Simplify tff setting code in MPV_frame_start().
Originally committed as revision 26090 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-25 19:49:19 +00:00
Reimar Döffinger
00d1e96bf4 H.264 decode: support cropping up to 28 pixels in interlaced mode.
Contrary to progressive, just being able to crop up to 14/15 pixels
is not enough to encode all supported resolutions, and the new
behaviour is also consistent with e.g. MPEG-2 etc.

Originally committed as revision 25669 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-03 20:52:28 +00:00
Ivan Kalvachev
392c99007f The debug text output of macroblocks can indicate MB_TYPE_INTERLACED,
but it used to do it only for h264 codec.
Allow it for other codecs, as mpeg2 and mpeg4 also set this flag.

Originally committed as revision 25156 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-21 22:44:27 +00:00
Stefano Sabatini
e16f217ceb Use new imgutils.h API names, fix deprecation warnings.
Originally committed as revision 25058 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-07 19:15:29 +00:00
Laurent Aimar
8bdf11815c Fixed mpeg12 top field first flag value with field picture encoding.
The relevent extract of the iso 13818-2 about the value of the syntaxical
element top_field_first of the Picture Coding Extension is:

"top_field_first -- The meaning of this element depends upon picture_structure,
progressive_sequence and repeat_first_field.
[...]
In a field picture top_field_first shall have the value '0', and the only field
output by the decoding process is the decoded field picture."

Originally committed as revision 24853 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-20 18:28:42 +00:00
Stefano Sabatini
6ce9b4310c Remove use of the deprecated function avcodec_check_dimensions(), use
av_check_image_size() instead.

Originally committed as revision 24711 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-06 09:37:04 +00:00
Måns Rullgård
79042a6eb1 Fix memory leak introduced in r23933
Originally committed as revision 23998 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-02 15:00:21 +00:00
Diego Biurrun
9a58234fea Fix misspelled parameter names in Doxygen documentation.
This fixes one Doxygen warning each.

Originally committed as revision 23970 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-02 10:49:29 +00:00
Måns Rullgård
2cbd734a38 Maybe fix threaded mpeg*video encoding
This allocates per-thread copies of some MpegEncContext.ac_val which
is used concurrently from the encoding threads.

Originally committed as revision 23933 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-01 11:51:01 +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
Francesco Lavra
603a5f04b2 Factorize some code into the new function ff_toupper4().
Patch by Francesco Lavra, francescolavra interfree it

Originally committed as revision 23158 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-18 19:16:40 +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
fc4a2d1e8c Change ref_index structure so it matches how its organized in h264.
Also revert the related error concealment hotfix.

Originally committed as revision 22640 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-23 02:17:04 +00:00
Michael Niedermayer
53f66cee0c Add ff_ prefix for mpeg2_dc_scale_table.
Originally committed as revision 22556 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 22:49:46 +00:00
Michael Niedermayer
6506c3d2b2 Support intra_dc_precision>8 in jpeg
Originally committed as revision 22554 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 21:27:13 +00:00
Måns Rullgård
94ca624fbc Move ff_sqrt() to libavutil/intmath.h
Originally committed as revision 22345 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 21:19:56 +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
Laurent Aimar
92c6a099ba H264 DXVA2 implementation
It allows VLD H264 decoding using DXVA2 (GPU assisted decoding API under
VISTA and Windows 7).
 It is implemented by using AVHWAccel API. It has been tested successfully
for some time in VLC using an nvidia card on Windows 7.

 To compile it, you need to have the system header dxva2api.h (either from
microsoft or using http://downloads.videolan.org/pub/videolan/testing/contrib/dxva2api.h)
 The generated libavcodec.dll does not depend directly on any new lib as
the necessary objects are given by the application using FFmpeg.

Originally committed as revision 21353 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 18:54:51 +00:00
Anatoly Nenashev
e1bb0364f8 Support lowres 3 when decoding MPEG video.
Patch by Anatoliy Nenashev, nenashev_as mail ru

Originally committed as revision 21239 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 10:41:52 +00:00
Diego Biurrun
d702a2e6c6 Get rid of pointless CONFIG_WMV2 definition.
Originally committed as revision 20971 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-30 02:08:25 +00:00
Michael Niedermayer
d52b4abe8b Move dummy picture allocation code from mpeg1/2 to mpegvideo.
This fixes a infinite loop on a b frame.

Originally committed as revision 20672 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-30 21:22:01 +00:00
Michael Niedermayer
078cdecf9e Set mb_y in mpeg2 field pictures like h264 does.
This fixes -vismv & -debug 16384 with field pictures.

Originally committed as revision 20670 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-30 19:14:00 +00:00
Ramiro Polla
d31dbec374 Rename CHECKED_ALLOC(Z) to FF_ALLOC(Z)_OR_GOTO and add context and label
parameters.

Originally committed as revision 19776 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-06 00:08:19 +00:00
Luca Abeni
747069e254 Properly initialize AVFrames to default values in the MPEG decoder (fixes
the AVFrame pts when decoding MPEG 1 and 2 video)

Originally committed as revision 19136 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-09 10:06:25 +00:00
Baptiste Coudurier
a4a750d3b2 Rename alloc_picture to ff_alloc_picture and move its definition
in mpegvideo.h to avoid including mpegvideo_common.h in mpeg12.c,
because it contains motion code.

Originally committed as revision 18968 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-27 19:55:35 +00:00
Baptiste Coudurier
9d9a623925 decode mpeg-2 closed gop first b frames, fix issue #824
Originally committed as revision 18837 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-15 05:39:44 +00:00
Baptiste Coudurier
357ec71f09 change pic type to Picture* and remove casts
Originally committed as revision 18833 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-15 02:01:53 +00:00
Michael Niedermayer
d0d62cc955 Remove 2 unused variables from MPV_decode_mb_internal() found by CSA.
Originally committed as revision 18559 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 14:51:00 +00:00
Baptiste Coudurier
1b66180263 fix indentation
Originally committed as revision 18482 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 03:35:32 +00:00
Michael Niedermayer
0127b86108 Fix mb_height for interlaced mpeg2.
This correctly fixes issue961, thanks to steven warren for spotting my mistake.

Originally committed as revision 18381 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-08 20:48:44 +00:00
Gwenole Beauchesne
da425800ee Add VA API pixfmt (only VLD is available ATM).
Originally committed as revision 18309 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-02 08:08:45 +00:00
Gwenole Beauchesne
952e2083bc Rename hwaccel_data_private to hwaccel_picture_private.
Originally committed as revision 18071 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-20 12:04:58 +00:00
Gwenole Beauchesne
cd823ff950 Use av_mallocz() to initialize hwaccel_data_private.
Originally committed as revision 17942 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-11 08:25:00 +00:00
Gwenole Beauchesne
68e5d5235e Add private HW accel data infrastructure.
Originally committed as revision 17899 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-09 08:04:41 +00:00
Gwenole Beauchesne
34e46c44da Add frame buffer allocators. aka simplify calls to
AVCodecContext.{get,release}_buffer().

Originally committed as revision 17804 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-04 08:47:29 +00:00
Benoit Fouet
d69da18cb0 Merge three conditions in a single 'if' instead of two.
Originally committed as revision 17728 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-02 09:22:17 +00:00
Gwenole Beauchesne
7f8025349a Make ff_print_debug_info() a no-op when using HW acceleration.
Patch by Gwenolé Beauchesne.

Originally committed as revision 17646 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-27 15:51:15 +00:00
Gwenole Beauchesne
044f0296a4 Add ff_hwaccel_pixfmt_list_420[] definition.
Patch by Gwenole Beauchesne.

Originally committed as revision 17633 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-27 08:09:23 +00:00
Michael Niedermayer
09a9b45e4f Add and use ff_pixfmt_list_420.
Originally committed as revision 17564 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-24 18:27:52 +00:00
Michael Niedermayer
c269cf68a0 Approved hunks for VAAPI / our new shiny hwaccel API
by Gwenole Beauchesne gbeauchesne splitted desktop com

Originally committed as revision 17539 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-23 13:35:52 +00:00
Daniel Verkamp
5ef251e504 Add missing av_cold in static init/close functions.
Patch by Daniel Verkamp daniel at drv dot nu.

Originally committed as revision 17526 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-22 13:48:55 +00:00
Ivan Kalvachev
21effaa4b2 Change the type of pblocks from pointers to short array into
pointers to array of 64 DCTELEM, similarly to other block fields.
This also get rid of some casts and fixes a warning.

Originally committed as revision 17517 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-22 09:02:06 +00:00
Ivan Kalvachev
9cfc1b3a84 Exit with error if MPV_common_init() is called with PIX_FMT_NONE.
Give nice error message to fix codecs that call it this way.

Originally committed as revision 17452 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-19 08:39:47 +00:00
Diego Biurrun
3842560379 whitespace cosmetics: Reindent a few lines after the last commit.
Originally committed as revision 17370 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-16 11:50:06 +00:00
Diego Biurrun
83344066d3 Get rid of some '#if CONFIG_MPEG_XVMC_DECODER' preprocessor checks around if
statements by merging the CONFIG_MPEG_XVMC_DECODER check into the if condition.

Originally committed as revision 17369 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-16 11:49:08 +00:00
Diego Biurrun
4440bd0da4 Add xvmc_internal.h that contains all internal xvmc function declarations.
This allows getting rid of a bunch of ugly forward declarations.

Originally committed as revision 17280 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-14 20:37:14 +00:00
Diego Biurrun
ed92bedb63 Rename some forward declarations that were missed, fixes the warnings:
libavcodec/mpegvideo.o libavcodec/mpegvideo.c
libavcodec/mpegvideo.c: In function ‘MPV_frame_start’:
libavcodec/mpegvideo.c:944: warning: implicit declaration of function ‘ff_xvmc_field_start’
libavcodec/mpegvideo.c: In function ‘MPV_frame_end’:
libavcodec/mpegvideo.c:957: warning: implicit declaration of function ‘ff_xvmc_field_end’

Originally committed as revision 17258 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-14 18:51:17 +00:00
Diego Biurrun
a002da797c Fix compilation: XVMC_ --> ff_xvmc prefix for xvmc functions.
Originally committed as revision 17256 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-14 18:46:32 +00:00
Ivan Kalvachev
78f9a87830 use ff_xvmc for function names instead of XVMC_
Originally committed as revision 17254 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-14 18:25:41 +00:00
Diego Biurrun
fc2dd7e3de Remove redundant CONFIG_XVMC option, CONFIG_MPEG_XVMC_DECODER suffices.
Originally committed as revision 17229 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-14 15:37:40 +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
Diego Biurrun
406792e7b0 cosmetics: Remove pointless period after copyright statement non-sentences.
Originally committed as revision 16684 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-19 15:46:40 +00:00
Aurelien Jacobs
49fb20cb8a replace all occurrence of ENABLE_ by the corresponding CONFIG_, HAVE_ or ARCH_
and remove all ENABLE_ definitions.

Originally committed as revision 16600 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-14 17:19:17 +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
NVIDIA Corporation
369122dd77 Add VDPAU hardware accelerated decoding for H264 which can be used by
video players.

Original patch by NVIDIA corporation.

Originally committed as revision 16431 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-04 23:55:27 +00:00
Måns Rullgård
a2fc0f6a6d ARM: replace "armv4l" with "arm"
Originally committed as revision 16179 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-17 00:54:54 +00:00
Diego Biurrun
b24298badc Switch xvmc over to a CONFIG_ option.
Originally committed as revision 16153 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-15 22:22:51 +00:00
Diego Biurrun
9686df2be5 Delete unnecessary 'extern' keywords.
Originally committed as revision 15990 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-03 15:23:30 +00:00
Michael Niedermayer
a6f2c0d6e5 Fix regression test failure with pthreads on multiprocessor systems.
Fixes issue517

Originally committed as revision 15976 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-02 10:43:08 +00:00
Carl Eugen Hoyos
8d2fc163ce Rename copy_picture to ff_copy_picture.
Originally committed as revision 15508 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-02 00:27:09 +00:00