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
Diego Biurrun
88bd7fdc82
Drop DCTELEM typedef
...
It does not help as an abstraction and adds dsputil dependencies.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2013-01-22 18:32:56 -08:00
Ronald S. Bultje
8c53d39e7f
lavc: introduce VideoDSPContext
...
Move some functions from dsputil. The idea is that videodsp contains
functions that are useful for a large and varied set of video decoders.
Currently, it contains emulated_edge_mc() and prefetch().
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-12-20 13:40:45 +01:00
Janne Grunau
f1d8763a02
mpegvideo: allocate scratch buffers after linesize is known
...
Since we can't know which stride a custom get_buffer() implementation is
going to use we have to allocate this scratch buffers after the linesize
is known. It was pretty safe for 8 bit per pixel pixel formats since we
always allocated memory for up to 16 bits per pixel. It broke hoever
with cmdutis.c's alloc_buffer() and high pixel bit depth since it
allocated larger edges than mpegvideo expected.
Fixes fuzzed sample nasa-8s2.ts_s244342.
2012-12-18 19:48:30 +01:00
Luca Barbato
c1a02e884a
pixdesc: add av_pix_fmt_get_chroma_sub_sample
...
Deprecate avcodec_get_chroma_sub_sample.
2012-11-13 16:14:55 +01:00
Diego Biurrun
9734b8ba56
Move avutil tables only used in libavcodec to libavcodec.
2012-10-11 18:29:36 +02:00
Anton Khirnov
716d413c13
Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat
2012-10-08 07:13:26 +02:00
Diego Biurrun
1218777ffd
avcodec: Convert some commented-out printf/av_log instances to av_dlog
2012-10-01 10:24:28 +02:00
Diego Biurrun
9c6cf7f2c9
avcodec: Drop silly and/or broken printf debug output
2012-10-01 10:24:28 +02:00
Diego Biurrun
6f6b0311a3
avcodec: Drop some silly commented-out av_log() invocations
2012-10-01 10:24:28 +02:00
Martin Storsjö
e6153f173a
avopt: Store defaults for AV_OPT_TYPE_INT in the i64 union member
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-04 23:13:44 +03:00
Michael Niedermayer
19000122a4
mpegvideo_enc: remove assert that has become obsolete with the new API
...
It now just checks uninitialized and unused data.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-04 18:37:58 +03:00
Diego Biurrun
d211547ddd
x86: mpegvideoenc: Split optimizations off into a separate file
2012-08-24 02:23:16 +02:00
Anton Khirnov
677e763a55
mpegvideo_enc: remove stray duplicate line from 7f9aaa4
2012-08-20 10:05:49 +02:00
Anton Khirnov
7f9aaa499b
mpegvideo_enc: don't use deprecated avcodec_encode_video().
2012-08-18 08:48:30 +02:00
Mans Rullgard
7a851153d3
mpegvideo: convert mpegvideo_common.h to a .c file
...
This file defines a single, huge function, MPV_motion(), which
although being declared inline is not actually inlined by the
compiler (for good reason). There is thus no sense in defining
this function in a header file, resulting in multiple copies of
it in the final library.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-09 01:31:37 +01:00
Anton Khirnov
36ef5369ee
Replace all CODEC_ID_* with AV_CODEC_ID_*
2012-08-07 16:00:24 +02:00
Martin Storsjö
00c3b67b8a
cosmetics: Align codec declarations
...
Also break some long lines, remove codec function placeholder comments
and add spaces in sample/pixel format lists.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-04-06 22:37:38 +03:00
Diego Biurrun
856c8e0a04
faandct: Remove FAAN_POSTSCALE define and related code.
...
It is not a user-accessible option and unlikely to ever be changed.
2012-03-28 09:38:31 +02:00
Diego Biurrun
47c0ac96aa
Replace AVFrame pointer casts by proper struct member accesses.
2012-03-01 23:11:11 +01:00
Martin Storsjö
bdc1220eeb
h263enc: Add an option for outputting info about MBs as side data
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-03-01 16:08:31 +02:00
Anton Khirnov
23bfcc066d
mpegvideo_enc: add quantizer_noise_shaping private option.
...
Deprecate corresponding AVCodecContext field.
2012-02-29 07:26:24 +01:00
Anton Khirnov
63efd83ae1
mpegvideo_enc: add chroma/luma_elim_threshold private options.
...
Deprecate corresponding AVCodecContext fields.
2012-02-29 07:23:31 +01:00
Anton Khirnov
af3d804f9f
mpegvideo_enc: add cbp_rd flag to mpv_flags.
...
Deprecate CODEC_FLAG_CBP_RD.
2012-02-29 07:13:58 +01:00
Anton Khirnov
ff71a383ac
mpegvideo_enc: add qp_rd flag to mpv_flags.
...
Deprecate CODEC_FLAG_QP_RD.
2012-02-29 07:12:10 +01:00
Anton Khirnov
a249f0cc23
mpegvideo_enc: add strict_gop flag to mpv_flags.
...
Deprecate CODEC_FLAG2_STRICT_GOP.
2012-02-29 07:11:02 +01:00
Anton Khirnov
ed019b8e5b
lavc: add -mpv_flags to mpegvideo_enc-based encoders.
...
Deprecate CODEC_FLAG2_SKIP_RD in favor of the corresponding mpv_flags
flag.
2012-02-29 07:09:29 +01:00
Anton Khirnov
5d42ac7ffb
mpegvideo_enc: only allocate output packet when we know there will be output
...
Fixes a memleak.
2012-02-21 22:47:01 +01:00
Anton Khirnov
445a7d48b1
mpegvideo_enc: switch to encode2().
2012-02-19 08:26:30 +01:00
Anton Khirnov
5455384219
mpegvideo_enc: force encoding delay of at least 1 frame when low_delay=0
...
This allows the following commit to extrapolate better dts for the first
frame. Pts difference between the first two frames is reused as the
difference between pts and dts of the first frame.
2012-02-19 08:22:48 +01:00
Martin Storsjö
efd29844eb
mpegvideo: Add ff_ prefix to nonstatic functions
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:07:23 +02:00
Martin Storsjö
6c28d65754
rv: Add ff_ prefix to nonstatic symbols
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:07:17 +02:00
Martin Storsjö
04d3822524
msmpeg4: Add ff_ prefix to nonstatic symbols
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:07:08 +02:00
Martin Storsjö
d6c8dcb8ac
mpeg12: Add ff_ prefix to nonstatic symbols
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:06:56 +02:00
Martin Storsjö
6f13a371ec
mpeg4: Add ff_ prefixes to nonstatic symbols
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:06:52 +02:00
Martin Storsjö
3e2efacdd8
libavcodec: Prefix fdct_ifast, fdct_ifast248
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:06:38 +02:00
Martin Storsjö
99560a4caa
libavcodec: Add ff_ prefix to some nonstatic symbols
...
Prefix the functions atrac_generate_tables, atrac_iqmf, dct_quantize_c.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:06:29 +02:00
Martin Storsjö
ddce8953a5
h263: Add ff_ prefix to nonstatic symbols
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:06:22 +02:00
Anton Khirnov
9ce2a91b84
lavc: remove disabled FF_API_MPEGVIDEO_GLOBAL_OPTS cruft.
2012-01-27 10:38:33 +01:00
Anton Khirnov
0c71cc6526
mpegvideo_enc: ifdef out/replace references to deprecated codec flags.
2012-01-12 18:18:22 +01:00
Janne Grunau
881a5e047d
mpegenc: use avctx->slices as number of slices
...
Adds a new member to MpegEncContext to hold the number of used slice
contexts. Fixes segfaults with '-threads 17 -thread_type slice' and
fate-vsynth{1,2}-mpeg{2,4}thread{,_ilace} with --disable-pthreads.
2012-01-02 19:20:23 +01:00
Aneesh Dogra
9342ecf02e
mpegvideo_enc: K&R cosmetics (line 1000-2000).
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-12-29 13:52:04 -08:00
Aneesh Dogra
bd96be6e27
mpegvideo_enc: K&R cosmetics
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-12-27 10:20:20 -08:00
Diego Biurrun
1ce1578e4e
mpegvideo_enc: separate declarations and statements
...
libavcodec/mpegvideo_enc.c:1209: warning: ISO C90 forbids mixed declarations and code
2011-12-20 22:38:54 +01:00
Andrey Utkin
4f820131fa
mpegvideo: remove abort() in ff_find_unused_picture()
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-12-14 18:17:21 +01:00
Diego Biurrun
58c42af722
doxygen: misc consistency, spelling and wording fixes
2011-12-12 23:06:23 +01:00
Anton Khirnov
9f51c682ee
lavc: use avpriv_ prefix for ff_copy_bits and align_put_bits.
...
They are used in lavf.
2011-10-20 21:06:58 +02:00
Anton Khirnov
145f741e11
AVOptions: rename FF_OPT_TYPE_* => AV_OPT_TYPE_*
2011-10-12 16:51:16 +02:00
Mans Rullgard
05795f35be
mpegvideo_enc: fix a signed overflow
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-09 23:03:46 +01:00
Diego Biurrun
95a06eb4d5
Fix assert() calls that need updates after FF_COMMON_FRAME macro elimination.
...
This fixes build failures with -DDEBUG in CPPFLAGS.
2011-09-21 09:57:32 +02:00
Anton Khirnov
4bcee8e7f8
h263/p encoder: add 'structured_slices' private option.
...
Deprecate CODEC_FLAG_H263P_SLICE_STRUCT
2011-08-31 13:28:26 +02:00
Anton Khirnov
0d904de89d
h263/p encoder: add 'obmc' private option.
...
Deprecate CODEC_FLAG_OBMC
2011-08-31 13:28:11 +02:00
Anton Khirnov
e3922d1110
h263p encoder: add 'aiv' private option.
...
Deprecate CODEC_FLAG_H263P_AIV
2011-08-31 13:27:59 +02:00
Anton Khirnov
9bb2d1a3f0
h263p encoder: add 'umv' private option.
...
Deprecate CODEC_FLAG_H263P_UMV
2011-08-31 13:27:36 +02:00
Anton Khirnov
0e5d37309f
mpeg12enc/mpeg4videoenc: add 'alternate_scan' private option.
...
Deprecate CODEC_FLAG_ALT_SCAN
2011-08-31 13:26:26 +02:00
Anton Khirnov
4623420d84
mpeg4enc: add 'data_partitioning' private option.
...
Deprecate CODEC_FLAG_PART
2011-08-31 13:25:18 +02:00
Anton Khirnov
88262ca87d
mpeg2enc: add 'non_linear_quant' private option
...
Deprecate CODEC_FLAG2_NON_LINEAR_QUANT
2011-08-31 13:21:59 +02:00
Anton Khirnov
297d9cb3dc
mpeg12enc: add intra_vlc private option.
...
Deprecate CODEC_FLAG2_INTRA_VLC.
2011-08-31 13:19:14 +02:00
Anton Khirnov
ec6402b7c5
lavc: use designated initialisers for all codecs.
...
It's more readable and less prone to breakage.
2011-07-29 08:42:34 +02:00
Mans Rullgard
0a72533e98
jfdctint: add 10-bit version
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-21 18:10:58 +01: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
Anton Khirnov
71a861cf40
lavc: make avcodec_alloc_context3 officially public.
...
Deprecate avcodec_alloc_context/2.
2011-07-10 17:09:28 +02:00
Anton Khirnov
0b950fe240
lavc: introduce avcodec_open2() as a replacement for avcodec_open().
...
Adds support for decoder-private options and makes setting other options
simpler.
2011-07-10 17:06:22 +02:00
Mans Rullgard
0ebcdf5cda
Do not include mathematics.h in avutil.h
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-03 21:42:06 +01:00
Mans Rullgard
0d5c349ac4
put_bits: remove ALT_BITSTREAM_WRITER
...
The code for this variant does not compile.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-02 16:25:27 +01:00
Diego Biurrun
be73d76b34
cosmetics: fix some then/than typos
2011-06-30 22:56:11 +02:00
Ronald S. Bultje
83a8b3002f
mpegvideoenc: fix multislice fate tests with threading disabled.
...
The MPEG encoding code assumes that n_threads == n_slices, and thus it
should use n_slices even if threading itself is disabled.
2011-06-03 09:52:09 -07: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