Michael Niedermayer
a40f43db64
error_concealment: optimize guess_dc()
...
Fixes Ticket811
Bug found by: Oana Stratulat
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-22 00:25:48 +01:00
Michael Niedermayer
3ba0bfe71f
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
ulti: Fix invalid reads
lavf: dealloc private options in av_write_trailer
yadif: support 10bit YUV
vc1: mark with ER_MB_ERROR bits overconsumption
lavc: introduce ER_MB_END and ER_MB_ERROR
error_resilience: use the ER_ namespace
build: move inclusion of subdir.mak to main subdir loop
rv34: NEON optimised 4x4 dequant
rv34: move 4x4 dequant to RV34DSPContext
aacdec: Use intfloat.h rather than local punning union.
Conflicts:
libavcodec/h264.c
libavcodec/vc1dec.c
libavfilter/vf_yadif.c
libavformat/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-13 23:21:37 +01:00
Luca Barbato
63ccd46687
lavc: introduce ER_MB_END and ER_MB_ERROR
...
Simplify a little error resilience calls
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-12-13 16:20:58 +01:00
Luca Barbato
5bf2ac2b37
error_resilience: use the ER_ namespace
...
Add the namespace to {AC_,DC_,MV_}{END,ERROR} macros
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-12-13 16:20:58 +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
7fad19a63d
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
x86: cabac: replace explicit memory references with "m" operands
avplay: don't request a stereo downmix
wmapro: use av_float2int()
lavc: avoid invalid memcpy() in avcodec_default_release_buffer()
lavu: replace int/float punning functions
lavfi: install libavfilter/vsrc_buffer.h
Remove extraneous semicolons
sdp: Restore the original mp4 format h264 extradata if converted
rtpenc: Add support for mp4 format h264
rtpenc: Simplify code by introducing a separate end pointer
movenc: Use the actual converted sample for RTP hinting
Fix a bunch of common typos.
Conflicts:
doc/developer.texi
doc/eval.texi
doc/filters.texi
doc/protocols.texi
ffmpeg.c
ffplay.c
libavcodec/mpegvideo.h
libavcodec/x86/cabac.h
libavfilter/Makefile
libavformat/avformat.h
libavformat/cafdec.c
libavformat/flvdec.c
libavformat/flvenc.c
libavformat/gxfenc.c
libavformat/img2.c
libavformat/movenc.c
libavformat/mpegts.c
libavformat/rtpenc_h264.c
libavformat/utils.c
libavformat/wtv.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-12 01:25:37 +01:00
Diego Biurrun
da9cea77e3
Fix a bunch of common typos.
2011-12-11 00:32:25 +01:00
Mans Rullgard
39b0165f9e
er: replace VLA with malloc/free
...
(cherry picked from commit 5c2d016a85453f121285d125ed049a8cf492855a)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-22 19:45:22 +02:00
Laurent Aimar
e8ac80fb2c
error_resilience: fix the check for missing references in ff_er_frame_end() for H264
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-10 21:37:36 +02:00
Laurent Aimar
e1d5bbeb39
Fix the check for missing references in ff_er_frame_end() for H264.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-02 03:24:17 +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
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
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
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
b8a4b0152a
error concealment: check last pictures motion_val before using it.
...
Fixes NULL pointer dereference.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-12 03:03:08 +02:00
Michael Niedermayer
3732c48304
error_concealment: Use previous pictures motion vectors when the current ones have been lost.
...
Looks better for some cases, worse for others, overall not much difference.
Its more correct though.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-11 00:57:59 +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
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
7b9e98173c
Revert "Eliminate pointless '#if 1' statements without matching '#else'."
...
no comment
This reverts commit e6ff064845
.
Conflicts:
libavcodec/dsputil.c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-27 04:13:28 +02:00
Michael Niedermayer
d7e5aebae7
Merge remote branch 'qatar/master'
...
* qatar/master: (23 commits)
ac3enc: correct the flipped sign in the ac3_fixed encoder
Eliminate pointless '#if 1' statements without matching '#else'.
Add AVX FFT implementation.
Increase alignment of av_malloc() as needed by AVX ASM.
Update x86inc.asm from x264 to allow AVX emulation using SSE and MMX.
mjpeg: Detect overreads in mjpeg_decode_scan() and error out.
documentation: extend documentation for ffmpeg -aspect option
APIChanges: update commit hashes for recent additions.
lavc: deprecate FF_*_TYPE macros in favor of AV_PICTURE_TYPE_* enums
aac: add headers needed for log2f()
lavc: remove FF_API_MB_Q cruft
lavc: remove FF_API_RATE_EMU cruft
lavc: remove FF_API_HURRY_UP cruft
pad: make the filter parametric
vsrc_movie: add key_frame and pict_type.
vsrc_movie: fix leak in request_frame()
lavfi: add key_frame and pict_type to AVFilterBufferRefVideo.
vsrc_buffer: add sample_aspect_ratio fields to arguments.
lavfi: add fieldorder filter
scale: make the filter parametric
...
Conflicts:
Changelog
doc/filters.texi
ffmpeg.c
libavcodec/ac3dec.h
libavcodec/dsputil.c
libavfilter/avfilter.h
libavfilter/vf_scale.c
libavfilter/vf_yadif.c
libavfilter/vsrc_buffer.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-27 03:51:04 +02:00
Diego Biurrun
e6ff064845
Eliminate pointless '#if 1' statements without matching '#else'.
2011-04-26 20:18:27 +02:00
Mans Rullgard
2912e87a6c
Replace FFmpeg with Libav in licence headers
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Diego Biurrun
ba87f0801d
Remove explicit filename from Doxygen @file commands.
...
Passing an explicit filename to this command is only necessary if the
documentation in the @file block refers to a file different from the
one the block resides in.
Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 14:45:34 +00:00
Diego Biurrun
e5d2bdec11
Add rectangle.h #include for fill_rectangle().
...
Originally committed as revision 22877 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-13 22:52:14 +00:00
Michael Niedermayer
c28112fab6
Make sure the EC code does not attempt to use inter based concealment if there
...
is no reference frame available. (this can happen because the EC code will attempt
to use reference frames even for I/IDR frames)
Originally committed as revision 22732 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 20:46:46 +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
Aurelien Jacobs
3546fa8d87
fix compilation with --disable-everything --enable-decoder=mpeg2video
...
Originally committed as revision 22612 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-20 23:18:07 +00:00
Michael Niedermayer
b297129bdb
Hotfix for regtest-error failure
...
a proper fix appears to require changing h263/mpeg2/motion est to index ref_index like
h264. Ill do this change and then revert this hotfix but it will take a bit time.
Originally committed as revision 22608 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-20 16:51:36 +00:00
Michael Niedermayer
673fc6388f
Error concealment of h264 with multiple references.
...
Originally committed as revision 22603 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-20 00:52:08 +00:00
Michael Niedermayer
68f0bc7e62
Use H264s MC instead of mpeg4-asp qpel for h264 error resilience.
...
Originally committed as revision 22572 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-17 02:59:12 +00:00
Michael Niedermayer
686c781766
Make sure all mvs of a mb are set in the error concealment code.
...
Originally committed as revision 22520 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-14 01:52:31 +00:00
Michael Niedermayer
bb4fcfa395
Ensure that the deblock filter accesses the correct MVs for h264.
...
Originally committed as revision 22517 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-14 00:42:26 +00:00
Michael Niedermayer
2c4bc23e7a
Fix guess_mv() so that it works correctly with 4x4 MV blocks.
...
Originally committed as revision 22485 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 16:59:21 +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
Michael Niedermayer
f40a7fd316
4:2:2 4:4:4 bugfix for the error concealment code.
...
Originally committed as revision 20678 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-01 01:01:37 +00:00
Michael Niedermayer
fd1ef13bb4
Disable error resilience for field pictures, this was never supported,
...
results where more or less random but should not have crashed.
Originally committed as revision 20671 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-30 19:15:19 +00:00
Reimar Döffinger
b6b6676085
Make sure error resilience does not try to use unavailable reference frames.
...
Fixes the crash described in issue 706.
Originally committed as revision 18407 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-10 07:17:30 +00:00
Gwenole Beauchesne
11647a9f8c
Return early if a HW accelerator is used.
...
Patch by Gwenole Beauchesne.
Originally committed as revision 17635 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-27 08:16:22 +00:00
Gwenole Beauchesne
40e5d31b57
More approved hunks for VAAPI & our new and cleaner hwaccel API.
...
patch by Gwenole Beauchesne gbeauchesne splitted-desktop com
Originally committed as revision 17540 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-23 13:44:51 +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
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
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
Carl Eugen Hoyos
7eb6ed78ea
Move VDPAU check, make future VDPAU patches smaller.
...
Originally committed as revision 16508 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-09 22:22:40 +00:00