Commit Graph

14384 Commits

Author SHA1 Message Date
Michael Niedermayer
3cb64e327a wma: fix infinite loop
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-21 13:17:10 +02:00
Jason Garrett-Glaser
da0dadb936 Fix H.264 4:4:4 lossless decoding.
The coefficient test for i16x16 add_pixels4 assumed luma plane.
2011-06-21 10:45:22 +02:00
Michael Niedermayer
d39b33c63b libx264: fix open gop default.
Please use -x264opts to force open gop
This fixes Ticket268

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-21 04:45:29 +02:00
Michael Niedermayer
6cbe81999b Merge remote-tracking branch 'qatar/master'
* qatar/master: (28 commits)
  Replace usages of av_get_bits_per_sample_fmt() with av_get_bytes_per_sample().
  x86: cabac: fix register constraints for 32-bit mode
  cabac: move x86 asm to libavcodec/x86/cabac.h
  x86: h264: cast pointers to intptr_t rather than int
  x86: h264: remove hardcoded edi in decode_significance_8x8_x86()
  x86: h264: remove hardcoded esi in decode_significance[_8x8]_x86()
  x86: h264: remove hardcoded edx in decode_significance[_8x8]_x86()
  x86: h264: remove hardcoded eax in decode_significance[_8x8]_x86()
  x86: cabac: change 'a' constraint to 'r' in get_cabac_inline()
  x86: cabac: remove hardcoded esi in get_cabac_inline()
  x86: cabac: remove hardcoded edx in get_cabac_inline()
  x86: cabac: remove unused macro parameter
  x86: cabac: remove hardcoded ebx in inline asm
  x86: cabac: remove hardcoded struct offsets from inline asm
  cabac: remove inline asm under #if 0
  cabac: remove BRANCHLESS_CABAC_DECODER switch
  cabac: remove #if 0 cascade under never-set #ifdef ARCH_X86_DISABLED
  document libswscale bump
  error_resilience: skip last-MV predictor step if MVs are not available.
  error_resilience: actually add counter when adding a MV predictor.
  ...

Conflicts:
	Changelog
	libavcodec/error_resilience.c
	libavfilter/defaults.c
	libavfilter/vf_drawtext.c
	libswscale/swscale.h
	tests/ref/vsynth1/error
	tests/ref/vsynth2/error

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-21 03:38:25 +02:00
Michael Niedermayer
b37dfe181c mpegaudio_parser: be less picky on the start position
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-21 03:07:11 +02:00
Kim Nguyen
2d16394f97 ppc32: Fix movrel
Fixes ticket272
2011-06-21 03:06:54 +02:00
Justin Ruggles
e6c52cee54 Replace usages of av_get_bits_per_sample_fmt() with av_get_bytes_per_sample().
av_get_bits_per_sample_fmt() is deprecated.
2011-06-20 18:56:06 -04:00
Mans Rullgard
c5ee740745 x86: cabac: fix register constraints for 32-bit mode
Some operands need to be accessed in byte mode, which restricts the
available registers in 32-bit mode.  Using the 'q' constraint selects
a suitable register.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-20 23:36:40 +01:00
Mans Rullgard
2143d69bdd cabac: move x86 asm to libavcodec/x86/cabac.h
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-20 22:36:31 +01:00
Mans Rullgard
d075e7d540 x86: h264: cast pointers to intptr_t rather than int
Only the low-order bits are used here so the type is not important,
but this avoids a compiler warning.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-20 22:36:31 +01:00
Mans Rullgard
3a4edb76d6 x86: h264: remove hardcoded edi in decode_significance_8x8_x86()
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-20 22:36:31 +01:00
Mans Rullgard
b92c1a6d26 x86: h264: remove hardcoded esi in decode_significance[_8x8]_x86()
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-20 22:36:31 +01:00
Mans Rullgard
3fc4e36c78 x86: h264: remove hardcoded edx in decode_significance[_8x8]_x86()
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-20 22:36:31 +01:00
Mans Rullgard
e4b5a204aa x86: h264: remove hardcoded eax in decode_significance[_8x8]_x86()
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-20 22:36:30 +01:00
Mans Rullgard
3146a30e61 x86: cabac: change 'a' constraint to 'r' in get_cabac_inline()
Nothing requires this value in %eax.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-20 22:36:30 +01:00
Mans Rullgard
f743595e87 x86: cabac: remove hardcoded esi in get_cabac_inline()
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-20 22:36:30 +01:00
Mans Rullgard
da3af4db61 x86: cabac: remove hardcoded edx in get_cabac_inline()
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-20 22:36:30 +01:00
Mans Rullgard
51f16a9bf2 x86: cabac: remove unused macro parameter
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-20 22:36:30 +01:00
Mans Rullgard
018c33838e x86: cabac: remove hardcoded ebx in inline asm
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-20 22:36:30 +01:00
Mans Rullgard
6b712acc0e x86: cabac: remove hardcoded struct offsets from inline asm
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-20 22:36:30 +01:00
Mans Rullgard
34ee43fc0f cabac: remove inline asm under #if 0
A comment says it's not faster than the C code.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-20 22:36:30 +01:00
Mans Rullgard
8fcc0e7978 cabac: remove BRANCHLESS_CABAC_DECODER switch
The code does not compile without this set.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-20 22:36:29 +01:00
Mans Rullgard
eaa2d5a90a cabac: remove #if 0 cascade under never-set #ifdef ARCH_X86_DISABLED
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-20 22:36:29 +01:00
Ivan Kalvachev
093768c9a4 Fix bink audio playback outside of FFmpeg.
There are 2 known Bink audio codecs. Additionally they have
a different flavor if they are found inside Bink-b "BIKb" file.
In order to guess the correct flavor, the demuxer sets the audio
codec_tag to be the same as the file format tag.
This causes problem because same tag is used for both audio codecs.
The hack works in FFmpeg because audio codecs are identified by their
codec_id, but other players rely on standard behavior.

This fix removes the codec_tag hack and instead uses artificial
extradata format to signal the codec flavor. This would also
allow proper embedding of Bink audio in other containers.

Signed-off-by: Ivan Kalvachev <ikalvachev@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-20 23:28:55 +02:00
Ronald Bultje
20153fb8f6 error_resilience: skip last-MV predictor step if MVs are not available.
Fixes crashes when playing broken MPEG2-TS streams.
2011-06-20 22:18:27 +02:00
Ronald Bultje
d42aaa802e error_resilience: actually add counter when adding a MV predictor.
Without, the predictor isn't actually used.
2011-06-20 22:18:23 +02:00
Michael Niedermayer
3a07f5a47a qdm2: Fix alignment of local array.
Fixes ticket270

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-06-20 21:03:59 +02:00
Ronald S. Bultje
ea6331f8bb h264-mt: fix deadlock in packets with multiple slices (e.g. MP4). 2011-06-20 10:24:33 -04:00
Michael Niedermayer
56e11d2305 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Drop git- prefix from version labels
  Use the contents of RELEASE as version fallback instead of 'UNKNOWN'
  path64/open64: filter out unsupported flags
  Add Release Notes
  sipr: Drop unused DSPContext
  sipr: include string.h for mem*()
  sipr: Use memmove() to copy overlapped buffers.
  h264: drop some ugly casts

Conflicts:
	version.sh

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-20 04:07:34 +02:00
Michael Niedermayer
867b10679c Attempt to fix ticket266
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-20 01:58:18 +02:00
Alex Converse
4b84d5114d sipr: Drop unused DSPContext 2011-06-18 22:12:21 -07:00
Alex Converse
1e3d5eec8e sipr: include string.h for mem*() 2011-06-18 22:12:21 -07:00
Alex Converse
cb372931ff sipr: Use memmove() to copy overlapped buffers. 2011-06-18 22:12:21 -07:00
Alex Converse
0c17beba97 h264: drop some ugly casts 2011-06-18 22:11:55 -07:00
Michael Niedermayer
83f9bc8aee Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavf: prevent crash in av_open_input_file() if ap == NULL.
  more Changelog additions
  lavf: add a forgotten NULL check in convert_format_parameters().
  Fix build if yasm is not available.
  H.264: Add x86 assembly for 10-bit MC Chroma H.264 functions.

Conflicts:
	Changelog

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-19 04:02:06 +02:00
Michael Niedermayer
a4233d1f95 h264: print actual slice number in "Too many slices" warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-19 03:54:16 +02:00
Michael Niedermayer
9291faeb67 jpegdec: include mjpb_skiptosod in debug output
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-19 03:54:16 +02:00
Michael Niedermayer
a09a3e8213 jpegdec: fix CJPG decoding.
Fixes ticket133

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-19 03:54:16 +02:00
Michael Niedermayer
0aed4f81fe w32threads: with only 1 thread there cant be a active threading mode.
Fixes ticket284

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-19 03:54:15 +02:00
Michael Niedermayer
7ba262527f flacenc: mark as lossless codec
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-19 03:54:15 +02:00
Michael Niedermayer
34dc7aa82b libavcodec: add CODEC_CAP_LOSSLESS
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-19 03:54:15 +02:00
Ronald S. Bultje
ed63f527f2 Fix build if yasm is not available. 2011-06-18 08:34:14 -04:00
Daniel Kang
f188a1e0ca H.264: Add x86 assembly for 10-bit MC Chroma H.264 functions.
Mainly ported from 8-bit H.264 MC Chroma.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-06-18 07:52:19 -04:00
Clément Bœsch
bde8055963 dcaenc: small quantization simplification. 2011-06-18 11:36:35 +02:00
Michael Niedermayer
2905e3ff64 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc: add opt_find to AVCodecContext class.
  h264: Complexify frame num gap shortening code
  intreadwrite.h: fix AV_RL32/AV_RB32 signedness.
  Fix decoding of mpegts streams with h264 video that does *NOT* have b frames
  Add minor bumps and APIChanges entries for lavf private options.
  ffmpeg: deprecate -vc and -tvstd
  ffmpeg: use new avformat_open_* API.
  ffserver: use new avformat_open_* API.
  ffprobe: use new avformat_open_* API.
  ffplay: use new avformat_open_* API.
  cmdutils: add opt_default2().
  dict: add AV_DICT_APPEND flag.
  lavf: add avformat_write_header() as a replacement for av_write_header().
  Deprecate av_open_input_* and remove their uses.
  lavf: add avformat_open_input() as a replacement for av_open_input_*
  AVOptions: add av_opt_find() as a replacement for av_find_opt.
  AVOptions: add av_opt_set_dict() mapping a dictionary struct to a context.
  ffmpeg: don't abuse a global for passing frame size from input to output
  ffmpeg: don't abuse a global for passing pixel format from input to output
  ffmpeg: initialise encoders earlier.

Conflicts:
	cmdutils.c
	doc/APIchanges
	ffmpeg.c
	ffplay.c
	ffprobe.c
	libavcodec/h264.c
	libavformat/avformat.h
	libavformat/utils.c
	libavformat/version.h
	libavutil/avutil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-18 05:10:38 +02:00
Michael Niedermayer
44d1b4088f qdm2: Fix alignment of local array.
Fixes ticket270

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-18 03:39:27 +02:00
Anton Khirnov
78440c007c lavc: add opt_find to AVCodecContext class.
Fixes encoder private options, which are broken now in ffmpeg, because
opt_default2() can't find them, thus making opt_default() to fail.
2011-06-17 06:39:42 +02:00
Carl Eugen Hoyos
5fb67d8039 Fix compilation with old yasm. 2011-06-16 23:18:50 +02:00
Alexander Strange
3803af22d8 h264: Complexify frame num gap shortening code
By observation it did not seem to handle prev_frame_num > frame_num.
This does not affect any files I have.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-06-16 20:51:51 +02:00
Mike Scheutzow
aa15e68721 Fix decoding of mpegts streams with h264 video that does *NOT* have b frames
One of the causes of this bug is that the h264 parser defaults low_delay
to 1, but the h264 codec defaults low_delay to 0. Really Ugly.

After many hours of looking at this, I'm still not sure how has_b_frames
is *intended* to behave, but to me the implementation appears way more
complicated than it ought to be.

My patch relies on the encoder to set an optional field in the SPS. This
works for libx264 streams, but I'm not sure that all h264 encoders will
set it.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-06-16 20:24:58 +02:00