1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-18 03:19:31 +02:00
Commit Graph

610 Commits

Author SHA1 Message Date
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
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
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
Derek Buitenhuis
0e3e3656d3 Merge commit '12b49769223234673db1003d9c43e7483ceb0282'
* commit '12b49769223234673db1003d9c43e7483ceb0282':
  lavc: Move mpeg_quant to codec private options

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-01-28 16:44:59 +00:00
Derek Buitenhuis
b986a4625d Merge commit '1482aff2048511b821ff9feac19426113cc641a2'
* commit '1482aff2048511b821ff9feac19426113cc641a2':
  lavc: Move noise_reduction to codec private options

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-01-28 16:42:32 +00:00
Derek Buitenhuis
30c1bdb87c Merge commit '7c79587d7407dab4b9445d66b5f111fe657c8c4d'
* commit '7c79587d7407dab4b9445d66b5f111fe657c8c4d':
  lavc: Move scenechange_threshold to codec private options

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-01-28 15:24:00 +00:00
Derek Buitenhuis
13be46c08e Merge commit '0ac9f33a9e69c64eee592791be3c5441a6a3d6b7'
* commit '0ac9f33a9e69c64eee592791be3c5441a6a3d6b7':
  lavc: Move frame_skip_* to codec private options

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-01-28 15:08:10 +00:00
Derek Buitenhuis
4f32ccb618 Merge commit '84c4714f397c9c50eb9d49008cc1c08385f68f31'
* commit '84c4714f397c9c50eb9d49008cc1c08385f68f31':
  lavc: Move brd_scale to codec private options

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-01-28 14:21:33 +00:00
Derek Buitenhuis
2e9b995e4f Merge commit '0e6c8532215790bbe560a9eea4f3cc82bb55cf92'
* commit '0e6c8532215790bbe560a9eea4f3cc82bb55cf92'
  lavc: Move b_frame_strategy and b_sensitivity to codec private options

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-01-27 20:18:04 +00:00
Vittorio Giovara
0e9c4fe254 lavc: Move pre_me to codec private options
This option is only used by mpegvideoenc.
It is a very codec-specific option, so deprecate the global variant.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-01-21 15:40:28 -05:00
Vittorio Giovara
5b6f42da98 lavc: Move me_penalty_compensation to codec private options
This option is only used by mpegvideoenc.
It is a very codec-specific options, so deprecate the global variant.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-01-21 15:33:19 -05:00
Vittorio Giovara
2862b63783 lavc: Move prediction_method to codec private options
This options is only used by huffyuv, ffvhuv, jpegls, mjpeg,
mpegvideoenc, png, utvideo.
It is a very codec-specific options, so deprecate the global variant.
Set proper limits to the maximum allowed values, and update utvideoenc
tests to use the new option name.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-01-21 15:33:19 -05:00
Vittorio Giovara
936f0d98f8 lavc: Move rtp_payload_size to codec private options
This option is only used by mpegvideoenc and openh264.
It is a very codec-specific option, so deprecate the global variant.

The openh264 option is dropped altogether since it is just a fallback
for -max_nal_size anyway.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-01-21 15:33:19 -05:00
Vittorio Giovara
12b4976922 lavc: Move mpeg_quant to codec private options
This option is only used by mpegvideoenc, and xvid.
It is a very codec-specific option, so deprecate the global variant.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-01-21 15:33:19 -05:00
Vittorio Giovara
1482aff204 lavc: Move noise_reduction to codec private options
This option is only used by mpegvideoenc, x264, xavs, and vpx.
It is a very codec-specific option, so deprecate the global variant.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-01-21 15:33:19 -05:00
Vittorio Giovara
7c79587d74 lavc: Move scenechange_threshold to codec private options
This option is only used by mpegvideoenc, x264, and xavs.
It is a very codec-specific option, so deprecate the global variant.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-01-21 15:33:19 -05:00
Vittorio Giovara
0ac9f33a9e lavc: Move frame_skip_* to codec private options
These options are only used by mpegvideoenc and vpx.
They are very codec-specific options, so deprecate the global variants.

Add an allowed value to the private options for frame_skip_cmp which
seems to have been forgotten, but perfectly working.

The libvpx frame dropping feature uses one of such option
(frame_skip_threshold) without the other three. For this reason rename
the option to something more consistent with the other libvpx variables.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-01-21 15:33:19 -05:00
Vittorio Giovara
84c4714f39 lavc: Move brd_scale to codec private options
This option is only used by mpegvideoenc,
It is a very codec-specific option, so deprecate the global variant.
Set proper limits to the maximum allowed values.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-01-21 15:33:19 -05:00
Vittorio Giovara
0e6c853221 lavc: Move b_frame_strategy and b_sensitivity to codec private options
The b_frame_strategy option is only used by mpegvideoenc, qsv, x264, and
xavs, while b_sensitivity is only used by mpegvideoenc.

These are very codec-specific options, so deprecate the global variants.
Set proper limits to the maximum allowed values.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-01-21 15:33:19 -05:00
Michael Niedermayer
b65efbc0f4 avcodec/mpegvideo_enc: Check for integer overflow in ff_mpv_reallocate_putbitbuffer()
Fixes assertion failure
Fixes: 6568d187979ce17878b6fe5fbbb89142/signal_sigabrt_7ffff6ae7cb7_7176_564bbc6741bdcf907f5c4e685c9a77a2.mpg

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-21 15:56:11 +01:00