Commit Graph

627 Commits

Author SHA1 Message Date
Anton Khirnov f30a41a608 Stop hardcoding align=32 in av_frame_get_buffer() calls.
Use 0, which selects the alignment automatically.
2020-05-22 14:38:57 +02:00
Limin Wang 14285e4ca2 avcodec/mpegvideo_enc: return more specific error codes for ff_mpv_encode_init()
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2020-05-09 09:33:49 +08:00
Limin Wang 6825f7c0ba avcodec/mpegvideo_enc: reindent code
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2020-05-08 21:09:28 +08:00
Andreas Rheinhardt cc2a9509ce libavcodec, libpostproc: Remove outcommented START/STOP_TIMER
as well as includes of libavutil/timer.h.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2020-03-14 18:24:04 +01:00
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>
2019-10-24 19:45:17 +02:00
Steven Liu 76ab5ebbee avcodec/mpegvideo_enc: add logging context to log
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2019-10-08 13:47:21 +08:00
Michael Niedermayer 7246bf365a avcodec/mpegvideo_enc: Use av_assert1() instead of assert()
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-02-17 10:29:42 +01:00
Michael Niedermayer 1aa796bc9c avcodec/mpegvideo_enc: Use av_assert1() instead of assert() in merge_context_after_encode()
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-02-07 00:29:01 +01:00
Rostislav Pehlivanov a1c6fc773f mpegvideo: remove support for libxvid's RC system
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2018-05-05 19:41:30 +01:00
Muhammad Faiz caa4bd7a9f avcodec/me_cmp: remove ff_me_cmp_init_static()
Precalculate and constify ff_square_tab.

Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2018-02-05 22:42:59 +07:00
James Almer bfab430856 Merge commit '94eed68ace9f2416af8457fcbf142b175928c06b'
* commit '94eed68ace9f2416af8457fcbf142b175928c06b':
  lavc: Drop deprecated options moved to private contexts

Merged-by: James Almer <jamrial@gmail.com>
2017-10-23 17:08:32 -03:00
James Almer b79a7da36f Merge commit 'bb45d11282d93af0e8d4c8fd6bc6405f7439a940'
* commit 'bb45d11282d93af0e8d4c8fd6bc6405f7439a940':
  lavc: Drop deprecated codec flags

Merged-by: James Almer <jamrial@gmail.com>
2017-10-23 16:19:38 -03:00
James Almer 400ecd8e40 Merge commit '72dc7ddd18fe54ee68aec71590c3202ad009a8fc'
* commit '72dc7ddd18fe54ee68aec71590c3202ad009a8fc':
  lavc: Drop deprecated error rate option

Merged-by: James Almer <jamrial@gmail.com>
2017-10-23 15:50:46 -03:00
Carl Eugen Hoyos 724cf83f10 Remove some unneeded casts of bit_rate. 2017-09-22 01:33:22 +02:00
James Almer 4a654be3fb avcodec/mpegvideo_enc: fix mixed declarations and code warning 2017-07-25 00:58:24 -03:00
Michael Niedermayer aff93e1929 avcodec/mpegvideo_enc: Use intra/inter scantable matching mb type in quantization
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-07-24 02:42:33 +02:00
Michael Niedermayer f670c13f13 avcodec: Rename ff_mpv_decode_mb() to ff_mpv_reconstruct_mb
The new name more accuratly describes what the function does

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-06-19 17:54:40 +02:00
Stefano Sabatini dc70ea8c19 lavc/mpegvideo_enc: allow low_delay for non MPEG2 codecs depending on strict_std_compliance
Forcing low_delay can be useful, even if not officially supported.
2017-06-06 09:56:49 +02:00
Rostislav Pehlivanov 03eb0515c1 mpegvideo_enc: disable optimized huffman coding with AMV or slice threads
Doesn't work yet with slice threading and won't work with AMV.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-04-09 21:53:31 +02:00
Michael Niedermayer 724bb805ef Revert "mjpegenc: disable huffman coding with AMV"
This was the wrong patch

This reverts commit 7f9b492d54.
2017-04-09 21:53:30 +02:00
Rostislav Pehlivanov 7f9b492d54 mjpegenc: disable huffman coding with AMV
Isn't supported.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-04-09 00:00:32 +01:00
Vittorio Giovara 94eed68ace lavc: Drop deprecated options moved to private contexts
Deprecated in 10/2014 and 07/2015.
2017-03-23 10:09:17 +01:00
Vittorio Giovara bb45d11282 lavc: Drop deprecated codec flags
Deprecated between 04/2014 - 05/2015.
2017-03-23 10:09:16 +01:00
Vittorio Giovara 72dc7ddd18 lavc: Drop deprecated error rate option
Deprecated in 10/2013.
2017-03-23 10:09:14 +01:00
Clément Bœsch e6be531a30 Merge commit '68811a41c70f019bde6df2a4f289674228c48958'
* commit '68811a41c70f019bde6df2a4f289674228c48958':
  mpegvideo_enc: use the new encoding API for b_strategy=2

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-21 13:01:46 +01:00
Clément Bœsch b2cb9191ea Merge commit 'f03f78bc1c99b1e29624418e2f7315b8a47981e9'
* commit 'f03f78bc1c99b1e29624418e2f7315b8a47981e9':
  mpegvideo_enc: handle encoding errors with b_strategy=2

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-21 12:57:02 +01:00
Clément Bœsch 70ca9b76e2 Merge commit '6f733ecab6faff2a16534f2ce7d2ffd41c07846b'
* commit '6f733ecab6faff2a16534f2ce7d2ffd41c07846b':
  mpegvideo_enc: add const to the AVCodec instance

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-21 12:55:40 +01:00
Michael Niedermayer 3e1507a954 avcodec/mjpegenc: Bypass the 2 pass encoding when optimal tables are not requested
This limits the bugs, speedloss and extra memory allocation to the case when
optimal tables are needed.
Fixes regressions with slice multi-threading

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-02-10 00:12:01 +01:00
Jerry Jiang 884506dfe2 Implement optimal huffman encoding for (M)JPEG.
> seems to break
> make fate-vsynth1-mjpeg-444

Fixed.
2017-02-08 13:59:53 +00:00
Clément Bœsch 566bfd59c9 Merge commit 'd639dcdae022130078c9c84b7b691c5e9694786c'
* commit 'd639dcdae022130078c9c84b7b691c5e9694786c':
  ratecontrol: Move Xvid-related functions to the place they are actually used

Merged-by: Clément Bœsch <u@pkh.me>
2017-02-01 14:21:36 +01:00
Diego Biurrun a6901b9c6b Drop libxvid rate control support for mpegvideo encoding
The feature has outlived is usefulness and complicates the code.
2016-12-11 09:27:40 +01:00
Michael Niedermayer 85407c7e63 avcodec/mpegvideo: Fix edge emu buffer overlap with interlaced mpeg4
Fixes Ticket5936
Regression since c5fc8ae126

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-11-17 12:21:48 +01:00
Michael Niedermayer de0cd0ffc9 avcodec/mpegvideo_enc: Add missing emms_c() to clear MMX state after SIMD use
Fixes undefined behavior due to calling libc allocation with unclean FPU state

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-10-22 13:46:46 +02:00
Michael Niedermayer 03ec6b780c avcodec/mpegvideo_enc: Clear mmx state in ff_mpv_reallocate_putbitbuffer()
This function must be called from the mb or slice encoding loop and MMX state may not
be clean there

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-10-21 14:17:50 +02:00
Anton Khirnov 68811a41c7 mpegvideo_enc: use the new encoding API for b_strategy=2 2016-09-28 10:01:52 +02:00
Anton Khirnov f03f78bc1c mpegvideo_enc: handle encoding errors with b_strategy=2 2016-09-28 10:01:52 +02:00
Anton Khirnov 6f733ecab6 mpegvideo_enc: add const to the AVCodec instance 2016-09-28 10:01:52 +02:00
Timo Rothenpieler 99b823f0a1 avcodec/mpegvideo_enc: fix memory leak
When the input frames contain side data, it will accumulate endlessly in
the coded frame, as av_frame_copy_props will append any new side data.

Fixes ticket #5799.
2016-09-26 18:21:00 +02:00
Vittorio Giovara d639dcdae0 ratecontrol: Move Xvid-related functions to the place they are actually used
This will simplify the de-MpegEncContextualization.
2016-07-20 18:59:36 +02:00
Vittorio Giovara 44972e227d ratecontrol: Move mpegenc-only function where it is used 2016-07-20 18:59:36 +02:00
Clément Bœsch a4403e49b9 Merge commit 'b7e64fba7f37cc0399beae844f0a5dbef9219376'
* commit 'b7e64fba7f37cc0399beae844f0a5dbef9219376':
  Reduce the scope of some variables

Merged-by: Clément Bœsch <u@pkh.me>
2016-06-21 22:40:56 +02:00
Clément Bœsch 8ef57a0d61 Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb'
* commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb':
  cosmetics: Fix spelling mistakes

Merged-by: Clément Bœsch <u@pkh.me>
2016-06-21 21:55:34 +02:00
Diego Biurrun b7e64fba7f Reduce the scope of some variables
This avoids unused variable warnings after the next version bump.
Also drop a trace level av_log() call that is in the way.
2016-05-11 12:21:25 +02:00
Vittorio Giovara 41ed7ab45f cosmetics: Fix spelling mistakes
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2016-05-04 18:16:21 +02:00
Derek Buitenhuis 95348174ef Merge commit 'c80344d0101558098a6cd2ed5082ff5fda7ca18b'
* commit 'c80344d0101558098a6cd2ed5082ff5fda7ca18b':
  mpegvideo_enc: use avcodec_free_context() instead of av_free()

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-04-11 16:02:16 +01:00
Anton Khirnov c80344d010 mpegvideo_enc: use avcodec_free_context() instead of av_free() 2016-02-26 09:14:59 +01:00
Derek Buitenhuis 730d2aabac Merge commit '0e9c4fe254073b209970df3e3cb84531bc388e99'
* commit '0e9c4fe254073b209970df3e3cb84531bc388e99':
  lavc: Move pre_me to codec private options

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-02-03 16:54:20 +00:00
Derek Buitenhuis 43c0298208 Merge commit '5b6f42da98c26a8aee8d2c2edfcbd0633ad1c607'
* commit '5b6f42da98c26a8aee8d2c2edfcbd0633ad1c607':
  lavc: Move me_penalty_compensation to codec private options

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-02-03 16:53:13 +00:00
Derek Buitenhuis f3af379b5c Merge commit '2862b63783b5556f7f3fb2d097629bc6879f833a'
* commit '2862b63783b5556f7f3fb2d097629bc6879f833a':
  lavc: Move prediction_method to codec private options

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-02-03 16:49:19 +00:00
Derek Buitenhuis 899e19f177 Merge commit '936f0d98f864f9f6bb4f9e5458b78537e146bacd'
* commit '936f0d98f864f9f6bb4f9e5458b78537e146bacd':
  lavc: Move rtp_payload_size to codec private options

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-01-31 13:19:50 +00:00