Vittorio Giovara
302ca6b20e
mpegvideo_enc: initialize the encoding context
...
This prevents several uninitialized variable uses that take
place towards the end of encoding.
CC: libav-stable@libav.org
Bug-Id: CID 700760
2015-01-29 15:26:33 +00:00
Michael Niedermayer
2a06c2a03e
mpegvideo_enc: Draw edges on input for non-multiple of 16 resolutions
...
This improves motion estimation and avoids using uninitialized data
for resolutions that aren't a multiple of 16.
Prior to d2a25c40
, the edges used to be initialized so that encoding
was deterministic, but after that commit it started using uninitialized
data (for non multiple of 16 resolutions).
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-23 15:05:49 +02:00
Vittorio Giovara
1c6183233d
msmpeg4: check memory allocations and propagate errors
...
Bug-Id: CID 1257781
2015-01-06 16:43:54 +01:00
Martin Storsjö
91bfac759d
h261enc: Disallow sliced encoding
...
This avoids trying to do sliced encoding, even if a slice/packet
size is requested (via the -ps option or the rtp_payload_size
field), since the encoder currently doesn't support it (or at least
our decoder can't decode it, even if the h261_encode_gob_header
function is hooked up to be called from the slicing part in
mpegvideo_enc.c).
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-18 12:00:01 +02:00
Vittorio Giovara
0a66647061
mpegvideo_enc: factor out denominator and explicitly cast operands
...
CC: libav-stable@libav.org
Bug-Id: CID 608053
2014-11-06 10:44:46 -05:00
Vittorio Giovara
e0a1d0a2b0
mpegvideo_enc: rework direct mode check
...
Remove stray semicolon and share codepaths.
CC: libav-stable@libav.org
Bug-Id: CID 991857
2014-11-06 10:44:46 -05:00
Anton Khirnov
530c1441fd
lavc: make lmax/lmin into private options of mpegvideo encoders
2014-10-18 05:29:14 +02:00
Anton Khirnov
15ec053c4c
lavc: make border_masking into private options of mpegvideo encoders
2014-10-18 05:28:40 +02:00
Anton Khirnov
c4f7bee087
lavc: deprecate unused mb_threshold field
2014-10-18 05:28:29 +02:00
Anton Khirnov
66a68ddd1a
lavc: make rc_buffer_aggressivity/rc_initial_cplx into private options of mpegvideo encoders
2014-10-18 05:26:29 +02:00
Anton Khirnov
a75c2eb25a
lavc: make rc_eq into private options of mpegvideo encoders
2014-10-18 05:23:51 +02:00
Anton Khirnov
946f95354b
lavc: make rc_qmod_* into private options of mpegvideo encoders
2014-10-18 05:23:05 +02:00
Anton Khirnov
a6e4ce9fd5
lavc: make rc_qsquish a private option of mpegvideo encoders
2014-10-18 05:21:50 +02:00
Diego Biurrun
1274ea8dba
Split off floating point AAN (I)DCT into separate components
2014-09-07 13:36:26 -07:00
Gabriel Dume
f929ab0569
cosmetics: Write NULL pointer equality checks more compactly
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-08-15 03:18:18 -07:00
Diego Biurrun
835f798c7d
mpegvideo: cosmetics: Lowercase ugly uppercase MPV_ function name prefixes
2014-08-15 01:26:33 -07:00
John Stebbins
998c9f15d1
idct: remove call to ff_idctdsp_init from ff_MPV_common_init
...
One step in untangling the mpegvideo code and fixing some problems in
the order that initialization is being done in h263dec and h261dec.
2014-08-14 07:58:49 -07:00
Diego Biurrun
d8520d3ee0
mpegvideo: Move QMAT_SHIFT* defines to the only place they are used
2014-07-25 12:00:53 -07:00
Diego Biurrun
2b6ab3a2bd
mpegvideo: Move QUANT_BIAS_SHIFT define to the only place it is used
2014-07-23 03:16:55 -07:00
Diego Biurrun
b4987f7219
idct: Convert IDCT permutation #defines to an enum
...
Also rename the enum values to be consistent with other DCT permutations.
2014-07-18 07:51:03 -07:00
Diego Biurrun
2d60444331
dsputil: Split motion estimation compare bits off into their own context
2014-07-17 09:07:10 -07:00
Diego Biurrun
f46bb608d9
dsputil: Split off pixel block routines into their own context
2014-07-09 08:05:26 -07:00
Diego Biurrun
a9aee08d90
dsputil: Split off FDCT bits into their own context
2014-07-07 12:28:45 -07:00
Diego Biurrun
3c650efb81
dsputil: Move draw_edges() to mpegvideoencdsp
2014-07-06 14:48:50 -07:00
Diego Biurrun
c166148409
dsputil: Move pix_sum, pix_norm1, shrink function pointers to mpegvideoenc
2014-07-06 14:26:53 -07:00
Diego Biurrun
8d686ca59d
dsputil: Split off *_8x8basis to a separate context
2014-07-06 13:09:24 -07:00
Diego Biurrun
e3fcb14347
dsputil: Split off IDCT bits into their own context
2014-06-30 07:58:46 -07:00
Diego Biurrun
adcb8392c9
mjpeg: Split off bits shared by MJPEG and LJPEG encoders
...
This obviates a dependency of the LJPEG encoder on mpegvideo.
2014-06-30 07:53:40 -07:00
Diego Biurrun
5dd8c08fd5
mpeg: Change ff_convert_matrix() to take an MpegEncContext parameter
...
This will come in handy during dsputil splitting.
2014-06-27 05:17:11 -07:00
Vittorio Giovara
d7705be961
mpegvideoenc: check color_range
...
Rework the comparison into something simpler to understand.
2014-06-10 19:41:59 -04:00
Diego Biurrun
368f50359e
dsputil: Split off quarterpel bits into their own context
2014-05-29 06:48:31 -07:00
Anton Khirnov
a2941c8cb2
lavc: move CODEC_FLAG_MV0 to mpegvideo
2014-05-01 09:24:18 +02:00
Anton Khirnov
b2c31710c9
lavc: move CODEC_FLAG_NORMALIZE_AQP to mpegvideo
2014-05-01 09:23:19 +02:00
Anton Khirnov
5fccedaa67
lavc: deprecate CODEC_FLAG_INPUT_PRESERVED
...
The addition of reference-counted frames makes it pointless.
2014-05-01 09:22:47 +02:00
Michael Niedermayer
1c7b71a5bd
mpegvideo: Use the current_picture pts
...
The picture slot can be recycled by select_input_picture and
only current_picture is populated with the valid pts.
Unbreak timestamps when in cbr mode.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-04-21 21:58:58 +02:00
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>
2014-04-09 02:12:19 +02:00
Vittorio Giovara
e0c16e4e32
mpegvideo: move mpegvideo formats-related defines to mpegutils.h
2014-03-16 23:04:41 +01:00
Diego Biurrun
05563ccacc
dsputil: cosmetics: Lose camelCase on ff_cropTbl and ff_squareTbl names
...
Also switch from "tbl" to "tab" name suffixes.
2014-03-13 08:12:44 -07:00
Diego Biurrun
9103185bd1
dsputil: Drop ff_check_alignment() function
...
The function is supposed to confirm that the compiler provided enough
alignment, but in practice it is only run in certain code paths and
insufficient alignment problems are restricted to legacy compilers.
2014-03-13 05:50:28 -07:00
Janne Grunau
fb0c9d41d6
avutil: remove timer.h include from internal.h
...
Added libavutil/timer.h include to all files with {START,STOP}_TIMER.
2014-01-25 21:50:20 +01:00
Martin Storsjö
cff480e49d
mpegvideo_enc: Don't call ff_h263dsp_init unconditionally
...
This fixes builds with e.g. --disable-decoders --disable-encoders
--enable-encoder=mjpeg.
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-01-22 18:42:38 +02:00
Anton Khirnov
ebfe622bb1
mpegvideo: drop support for real (non-emulated) edges
...
Several decoders disable those anyway and they are not measurably faster
on x86. They might be somewhat faster on other platforms due to missing
emu edge SIMD, but the gain is not large enough (and those decoders
relevant enough) to justify the added complexity.
2014-01-09 09:41:19 +01:00
Anton Khirnov
aec25b1c46
mpegvideo: split the encoding-only parts of frame_start() into a separate function
...
This introduces some code duplication. However, much of it should go
away once the decoders stop using MpegEncContext.
2014-01-03 16:52:49 +01:00
Anton Khirnov
24abd806ea
ljpegenc: deMpegEncContextize
...
The encoder uses almost none of the mpegvideo infrastructure, only some
fields from MpegEncContext.
The FATE results change because now an all-zero quant matrix is written
into the file. Since it is not used for anything for ljpeg, this should
not be a problem.
2013-12-05 13:35:55 +01:00
Anton Khirnov
3360ad9955
mjpegenc: do not pass MpegEncContext to ff_mjpeg_encode_picture_trailer()
...
This will allow deMpegEncContextizing the LJPEG encoder.
2013-12-05 13:35:15 +01:00
Anton Khirnov
058d5f2feb
mjpegenc: do not pass MpegEncContext to ff_mjpeg_encode_picture_header()
...
This will allow deMpegEncContextizing the LJPEG encoder.
2013-12-05 13:34:26 +01:00
Anton Khirnov
0b0a7a751d
mpegvideo: move encode-only parts of common_end() to encode_end()
2013-12-05 13:25:26 +01:00
Anton Khirnov
381a722562
mpegvideo: split the encoding-only parts of ff_MPV_frame_end() into a separate function
2013-12-05 13:23:55 +01:00
Anton Khirnov
1f8eb69079
mpegvideo: move encoding-only initialization from common_init() to encode_init()
2013-12-05 13:23:03 +01:00
Anton Khirnov
bedf952bb8
mpegvideo: move setting encoding-only vars from common_defaults() to encode_defaults()
2013-12-05 13:22:55 +01:00