Commit Graph

216 Commits

Author SHA1 Message Date
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
Diego Biurrun 8f8bc92365 Add missing #includes for *INT64_MAX and *INT64_C 2013-11-23 21:55:52 +01:00
Anton Khirnov 1c01b0253e mpegvideo_enc: use the AVFrame API properly. 2013-11-16 17:51:10 +01:00
Ronald S. Bultje 458446acfa lavc: Edge emulation with dst/src linesize
Allow supporting files for which the image stride is smaller than
the maximum block size + number of subpel mc taps, e.g. a 64x64 VP9
file or a 16x16 VP8 file with -fflags +emu_edge.
2013-11-15 10:16:27 +01:00
Anton Khirnov aa24122989 lavc: deprecate FF_MAX_B_FRAMES
We should not arbitrarily decide the maximum B-frame number for all
encoders supported by Libav, each encoder should be able to set its own
limits.
2013-11-14 09:41:03 +01:00
Anton Khirnov 8941971a8f lavc: make error_rate a private option of mpegvideo encoders 2013-11-14 09:39:43 +01:00
Diego Biurrun 0338c39698 dsputil: Split off H.263 bits into their own H263DSPContext 2013-11-08 12:40:47 +01:00
Ronald S. Bultje 93f305473f lavc: Convert some remaining strides to ptrdiff_t 2013-10-15 23:58:20 +02:00
Diego Biurrun b2bed9325d cosmetics: Group .name and .long_name together in codec/format declarations 2013-10-03 23:32:01 +02:00
Vittorio Giovara 22c879057e mpegvideo_enc: drop outdated copy_picture_attributes() in favour of a modern av_frame_copy_props()
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-07 20:48:15 +02:00
Diego Biurrun 2832ea26f3 Remove commented-out debug #define cruft 2013-05-16 00:23:30 +02:00
Diego Biurrun 004b81c465 mpegvideo: Remove commented-out PARANOID debug cruft 2013-05-15 23:53:42 +02:00
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>
2013-04-19 23:18:21 +03:00
Diego Biurrun 66ac3dbf1e h261: Move function declarations to h261.h 2013-04-05 12:25:12 +02:00
Diego Biurrun eee2000b41 mpeg12: Move some ff_mpeg1_* function declarations to a more suitable place 2013-03-27 14:21:45 +01:00
Anton Khirnov 07054015cf mpegvideo: remove FMT_H264 2013-03-11 18:24:25 +01:00
Anton Khirnov 3b0f586f07 lavc: remove disabled FF_API_MPV_GLOBAL_OPTS cruft 2013-03-09 08:36:40 +01:00
Anton Khirnov 759001c534 lavc decoders: work with refcounted frames. 2013-03-08 07:38:30 +01:00
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.
2013-03-08 07:37:45 +01:00
Anton Khirnov 54974c6298 error_resilience: decouple ER from MpegEncContext 2013-02-15 16:10:11 +01:00
Diego Biurrun 5d3d39c72e dsputil: Move fdct function declarations to dct.h 2013-02-09 00:08:28 +01:00
Diego Biurrun 218aefce44 dsputil: Move LOCAL_ALIGNED macros to libavutil 2013-02-08 23:13:37 +01:00
Anton Khirnov 04f4dbc2fa mpegvideo_enc: fix indentation in load_input_picture() 2013-01-26 13:08:38 +01:00
Anton Khirnov 3f47d316cd mpegvideo_enc: do not modify the input frame. 2013-01-26 13:08:32 +01:00