Age | Commit message (Collapse) | Author |
|
Fix the quantisation offset - use the whole range, and don't change the
offset size based on bit depth.
Iterate the list in reverse order. The first region in the list is the one
that applies in the case of overlapping regions.
|
|
perfer avctx->framerate first than use avctx->time_base when setting
the frame rate to encoder. 1/time_base is not the average frame rate
if the frame rate is not constant. In this case, we need to setting
avctx->framerate and avctx->time_base both, but avctx->framerate not
equal to 1/(avctx->time_base).
Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
|
|
This patch just enables the path from ffmpeg to libx264,
the more encoders can be added later.
Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
|
|
libx264 does have a field for opaque data to pass along with frames
through the encoder, but it is a pointer, while the libavcodec
reordered_opaque field is an int64_t. Therefore, allocate an array
within the libx264 wrapper, where reordered_opaque values in flight
are stored, and pass a pointer to this array to libx264.
Update the public libavcodec documentation for the AVCodecContext
field to explain this usage, and add a codec capability that allows
detecting whether an encoder handles this field.
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
Libx264 uses strtok which is not thread safe. Strtok is used in
x264_param_default_preset in param_apply_tune in x264/common/base.c.
Therefore the flag must be removed.
x264 fixed the issue, once the fix is pushed to stable, an #if can be added
to re-enable the flag based on X264_BUILD number.
Fixes ticket #7446.
Signed-off-by: Marton Balint <cus@passwd.hu>
|
|
|
|
* commit 'c6558e8840fbb2386bf8742e4d68dd6e067d262e':
x264: Support version 153
See
2a111c99a60fdf4fe5eea2b073901630190c6c93
7e60c74329353db28db00552028bc88cd2a52346
Merged-by: James Almer <jamrial@gmail.com>
|
|
It has native simultaneus 8 and 10 bit support.
|
|
This partially reverts a change in behavior introduced in 2a111c99a60fdf4fe5eea2b073901630190c6c93.
Signed-off-by: James Almer <jamrial@gmail.com>
|
|
x264 now supports multibitdepth builds, with a slightly changed API to
request bitdepth during initialization.
Reviewed-by: Ricardo Constantino <wiiaboo@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
|
|
The x264_bit_depth constant has been removed in newer x264 builds.
Signed-off-by: James Almer <jamrial@gmail.com>
|
|
Explicitly identify decoder/encoder wrappers with a common name. This
saves API users from guessing by the name suffix. For example, they
don't have to guess that "h264_qsv" is the h264 QSV implementation, and
instead they can just check the AVCodec .codec and .wrapper_name fields.
Explicitly mark AVCodec entries that are hardware decoders or most
likely hardware decoders with new AV_CODEC_CAPs. The purpose is allowing
API users listing hardware decoders in a more generic way. The proposed
AVCodecHWConfig does not provide this information fully, because it's
concerned with decoder configuration, not information about the fact
whether the hardware is used or not.
AV_CODEC_CAP_HYBRID exists specifically for QSV, which can have software
implementations in case the hardware is not capable.
Based on a patch by Philip Langdale <philipl@overt.org>.
Merges Libav commit 47687a2f8aca3f65b6fdd117b1cb66a7409a7fd1.
|
|
Explicitly identify decoder/encoder wrappers with a common name. This
saves API users from guessing by the name suffix. For example, they
don't have to guess that "h264_qsv" is the h264 QSV implementation, and
instead they can just check the AVCodec .codec and .wrapper_name fields.
Explicitly mark AVCodec entries that are hardware decoders or most
likely hardware decoders with new AV_CODEC_CAPs. The purpose is allowing
API users listing hardware decoders in a more generic way. The proposed
AVCodecHWConfig does not provide this information fully, because it's
concerned with decoder configuration, not information about the fact
whether the hardware is used or not.
AV_CODEC_CAP_HYBRID exists specifically for QSV, which can have software
implementations in case the hardware is not capable.
Based on a patch by Philip Langdale <philipl@overt.org>.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
|
|
* commit '94eed68ace9f2416af8457fcbf142b175928c06b':
lavc: Drop deprecated options moved to private contexts
Merged-by: James Almer <jamrial@gmail.com>
|
|
Replaces the now dropped global option.
Addresses ticket #6771.
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
|
|
Deprecated in 10/2014 and 07/2015.
|
|
Currently, it forces IDR frames for both true and false.
Not entirely sure what the original idea behind the tri-state bool
option is.
Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
|
|
|
|
Signed-off-by: Sasi Inguva <isasi@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
This avoids enabling and building the x264rgb encoder when its actually not supported and
thus would not work
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
* commit '5fca95c8e515a5ae542d9626ec088bdfc658450e':
libx264: Forbid inverted Stereo3D mode
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
|
|
* commit '9e2af0e9071a1229cfe21efff394691d91f979b2':
libx264: Allow Stereo3D monoscopic value
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
|
|
|
|
|
|
First check the context, then check internal option. Drop the ! typo.
Introduced in 60f0fde3092d18d4d36555962c192af8691a099c.
|
|
The private options chromaoffset, sc_threshold, and noise_reduction
were set to 0 rather than -1, and were always initializing values
in libx264 rather than letting the library use its default.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
|
|
* commit '936f0d98f864f9f6bb4f9e5458b78537e146bacd':
lavc: Move rtp_payload_size to codec private options
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
|
|
The private options chromaoffset, sc_threshold, and noise_reduction
were set to 0 rather than -1, and were always initializing values
in libx264 rather than letting the library use its default.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
After the merge the default threshold was unconditionally overwritten
A similar fix was written by Vittorio Giovara, but i didnt see that before
i wrote this and it also doesnt apply cleanly
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
* commit '1482aff2048511b821ff9feac19426113cc641a2':
lavc: Move noise_reduction to codec private options
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
|
|
* commit '7c79587d7407dab4b9445d66b5f111fe657c8c4d':
lavc: Move scenechange_threshold to codec private options
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
|
|
* commit '5764d38173661c29d954711dd5abfddf709e9ba4':
lavc: Move chromaoffset to codec private options
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
|
|
* commit '0e6c8532215790bbe560a9eea4f3cc82bb55cf92'
lavc: Move b_frame_strategy and b_sensitivity to codec private options
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
|
|
Libav, for some reason, merged this as a public API function. This will
aid in future merges.
A define is left for backwards compat, just in case some person
used it, since it is in a public header.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
|
|
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>
|
|
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>
|
|
This option is only used by x264 and xavs.
It is a very codec-specific option, so deprecate the global variant.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
|
|
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>
|
|
Fixes ticket #5142.
|
|
* commit 'be00ec832c519427cd92218abac77dafdc1d5487':
lavc: Deprecate coder_type and its symbols
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
|
|
* commit '732a37d1466d45b3812509d68c82e783530e291a':
libx264: export CPB props side data
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
|
|
Most option values are simply unused or ignored and in practice the
majory of codecs only need to check whether to enable rle or not.
Add appropriate codec private options which better expose the allowed
features.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
|
|
|
|
|
|
* commit '1ec72c6c68dbc78bf4ebb6f06c13316dc488bdfa':
libx264: Make sure the extradata are padded
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
|
|
|
|
|
|
This patch moves the pointer validity check outside the macro,
and silences the -Waddress observed with GCC 5.2.
Note that this changes the error message slightly, from:
"bad option..." to "Error parsing option...".
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
|