Andreas Rheinhardt
3ef65fd4d1
avcodec/motion_est: Fix invalid left shift of negative numbers
...
Affected many FATE-tests.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
4 years ago
Andreas Rheinhardt
4a160cbef4
avcodec/motion_est, mpegvideo: Make pointers to static storage const
...
Modifying static storage must not happen because of multithreading
(except initialization of course), so add const to the pointed-to type
for pointers that point to static storage.
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
4 years ago
Ramiro Polla
531fbce0b2
mpegvideo_enc: add intra_penalty option for p frames
...
This option allows more control over the use of intra macroblocks in
predictive frames.
By using '-intra_penalty max', intra macroblocks are never used in
predictive frames.
It is useful for glitch artists to generate input material. This option
allows them to split and merge two video files while maintaining fluid
motion from the second video without having intra macroblocks restoring
chunks of the first video.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 years ago
Marton Balint
483d029188
avcodec/motion_est: remove duplicate function
...
Signed-off-by: Marton Balint <cus@passwd.hu>
6 years ago
Carl Eugen Hoyos
b6a8396245
lavc/motion_est: Fix undefined negative left shifts.
8 years ago
Vittorio Giovara
94eed68ace
lavc: Drop deprecated options moved to private contexts
...
Deprecated in 10/2014 and 07/2015.
8 years ago
Stanislav Dolganov
4edd74bd7c
avcodec/me_cmp: add median SAD compare function
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years ago
Vittorio Giovara
41ed7ab45f
cosmetics: Fix spelling mistakes
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
9 years ago
Diego Biurrun
29c2d06d67
cosmetics: Drop empty comment lines
9 years ago
Michael Niedermayer
5b4da8a38a
avcodec/motion_est: Fix mv_penalty table size
...
Fixes out of array read
Found-by: Tyson Smith <twsmith@mozilla.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
9 years ago
Ganesh Ajjanagadde
b4f1636a4d
lavc: typo fix cliping -> clipping, saftey -> safety
...
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
9 years ago
Vittorio Giovara
7c6eb0a1b7
lavc: AV-prefix all codec flags
...
Convert doxygen to multiline and express bitfields more simply.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
10 years ago
Vittorio Giovara
4b6b1082a7
lavc: Deprecate avctx.me_method
...
This option is extremely codec specific and only a few codecs employ it.
Move it to codec private options instead: mpegenc family supports only 3
values, xavs and x264 use 5, and xvid has a different metric entirely.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
10 years ago
Michael Niedermayer
ac78014f0b
avcodec/motion_est: Fix some undefined shifts
...
Fixes: asan_heap-oob_1dd60fd_1049_cov_4200102444_P4250048.MOV
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
4eee685a21
avcodec/motion_est: Fix undefined shifts in cmp_inline()
...
Fixes: signal_sigsegv_35eac16_2762_cov_2704249783_missing_frames.avi
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Vittorio Giovara
149fa0b7ac
mpegvideo: Move MotionEstContext and function declarations to a separate header
10 years ago
Vittorio Giovara
848e86f74d
mpegvideo: Drop flags and flags2
...
They are just duplicates of AVCodecContext members so use those instead.
10 years ago
Vittorio Giovara
0251c9be5a
motion_est: Fix warning from zero_cmp() assignment
...
warning: incompatible
pointer types assigning to 'me_cmp_func' (aka 'int (*)(struct
MpegEncContext *, uint8_t *, uint8_t *, ptrdiff_t, int)') from 'int
(MpegEncContext *, uint8_t *, uint8_t *, int, int)'
[-Wincompatible-pointer-types]
10 years ago
Vittorio Giovara
6a85dfc830
lavc: Replace av_dlog and tprintf with internal macros
10 years ago
Paul B Mahol
021c0c5f52
avcodec/motion_est: remove unneeded #include, there are no assert() only av_assert*
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
10 years ago
Michael Niedermayer
b80106169a
avcodec/motion_est: Set subcmp consistently for H261
...
Fixes Ticket3150
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
b50e003e1c
avcodec/motion_est: use 2x8x8 for interlaced qpel
...
Fixes out of array read
Fixes Ticket4121
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Vittorio Giovara
240b22afe1
motion_est: remove dead code
...
mb_type is initialized to 0 and never updated before the check.
Bug-Id: CID 1238782
10 years ago
Gabriel Dume
f929ab0569
cosmetics: Write NULL pointer equality checks more compactly
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
11 years ago
Diego Biurrun
4fbb62a21b
mpegvideo: Move ME_MAP_* defines to the only place they are used
11 years ago
Diego Biurrun
2d60444331
dsputil: Split motion estimation compare bits off into their own context
11 years ago
Diego Biurrun
c166148409
dsputil: Move pix_sum, pix_norm1, shrink function pointers to mpegvideoenc
11 years ago
Michael Niedermayer
ef8725122d
avcodec/motion_est: Only clip MVs which are used
...
Fixes valgrind mpeg4 failures
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Diego Biurrun
368f50359e
dsputil: Split off quarterpel bits into their own context
11 years ago
Anton Khirnov
a2941c8cb2
lavc: move CODEC_FLAG_MV0 to mpegvideo
11 years ago
wm4
f6774f905f
mpegvideo: operate with pointers to AVFrames instead of whole structs
...
The most interesting parts are initialization in ff_MPV_common_init() and
uninitialization in ff_MPV_common_end().
ff_mpeg_unref_picture and ff_thread_release_buffer have additional NULL
checks for Picture.f, because these functions can be called on
uninitialized or partially initialized Pictures.
NULL pointer checks are added to ff_thread_release_buffer() stub function.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
11 years ago
Diego Biurrun
82bb304801
dsputil: Use correct type in me_cmp_func function pointer
11 years ago
Vittorio Giovara
e0c16e4e32
mpegvideo: move mpegvideo formats-related defines to mpegutils.h
11 years ago
Lukasz Marek
776cda748d
lavc/motion_est: remove unused variable
...
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Diego Biurrun
088f38a4f9
avcodec: Drop unnecessary ff_ name prefixes from static functions
12 years ago
Ronald S. Bultje
f4fed5a2f9
mpegvideo: Use hpeldsp instead of dsputil for half-pel functions
...
This also converts vc1, since that is mpegvideo-based.
Signed-off-by: Martin Storsjö <martin@martin.st>
12 years ago
Ronald S. Bultje
4ba5dbc0e4
mpegvideo: use hpeldsp instead of dsputil for half-pel functions.
...
This also converts vc1, since that is mpegvideo-based.
12 years ago
Anton Khirnov
759001c534
lavc decoders: work with refcounted frames.
12 years ago
Anton Khirnov
6e7b50b427
mpegvideo_enc: drop support for reusing the input motion vectors.
...
This misfeature is most likely completely useless and conflicts with
removing the mpegvideo-specific fields from AVFrame. In the improbable
case it is actually useful, it should be reimplemented in a better way.
12 years ago
Diego Biurrun
c242bbd8b6
Remove unnecessary dsputil.h #includes
12 years ago
Diego Biurrun
b5b7b75e91
dsputil: Move get_penalty_factor() to the only place it is used.
12 years ago
Diego Biurrun
25841dfe80
Use ptrdiff_t instead of int for {avg, put}_pixels line_size parameter.
...
This avoids SIMD-optimized functions having to sign-extend their
line size argument manually to be able to do pointer arithmetic.
12 years ago
Anton Khirnov
47318953dd
mpegvideo: remove some unused variables from Picture.
12 years ago
Michael Niedermayer
bbe56bcd6b
motion_est: Limit motion vector search range to MAX_MV
...
Fixes out of array reads with videos exceeding MAX_MV
Found-by: Thierry Foucu
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Diego Biurrun
a0c5917f86
Drop Snow codec
...
Snow is a toy codec with no real-world use and horrible code.
12 years ago
Michael Niedermayer
8328df74f3
motion_est: use av_assert* instead of assert
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
3a48e38ad0
motion_est: more complete SAB diamond size check
...
This makes no difference with the current #defines
Fixes CID732255
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Diego Biurrun
9734b8ba56
Move avutil tables only used in libavcodec to libavcodec.
12 years ago
Michael Niedermayer
d07940b76d
motion_est: switch asserts to av_asserts
...
note, the asserts where enabled by default before this
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Diego Biurrun
1218777ffd
avcodec: Convert some commented-out printf/av_log instances to av_dlog
12 years ago