mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-26 19:01:44 +02:00
715f63232f
When encoding yuva420 (alpha) frames, the vpx encoder uses a second vpx_codec_ctx to encode the alpha stream. However, codec options were only being applied to the primary encoder. This patch updates codecctl_int and codecctl_intp to also apply codec options to the alpha codec context when encoding frames with alpha. This is necessary to take advantage of libvpx speed optimizations such as 'row-mt' and 'cpu-used' when encoding videos with alpha. Without this patch, the speed optimizations are only applied to the primary stream encoding, and the overall encoding is just as slow as it would be without the options specified. Signed-off-by: Adam Chelminski <chelminski.adam@gmail.com> Signed-off-by: James Zern <jzern@google.com>
86 lines
3.1 KiB
C
86 lines
3.1 KiB
C
/*
|
|
* This file is part of FFmpeg.
|
|
*
|
|
* FFmpeg is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
*
|
|
* FFmpeg is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with FFmpeg; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
*/
|
|
|
|
#ifndef AVCODEC_VERSION_H
|
|
#define AVCODEC_VERSION_H
|
|
|
|
/**
|
|
* @file
|
|
* @ingroup libavc
|
|
* Libavcodec version macros.
|
|
*/
|
|
|
|
#include "libavutil/version.h"
|
|
|
|
#define LIBAVCODEC_VERSION_MAJOR 59
|
|
#define LIBAVCODEC_VERSION_MINOR 7
|
|
#define LIBAVCODEC_VERSION_MICRO 103
|
|
|
|
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
|
|
LIBAVCODEC_VERSION_MINOR, \
|
|
LIBAVCODEC_VERSION_MICRO)
|
|
#define LIBAVCODEC_VERSION AV_VERSION(LIBAVCODEC_VERSION_MAJOR, \
|
|
LIBAVCODEC_VERSION_MINOR, \
|
|
LIBAVCODEC_VERSION_MICRO)
|
|
#define LIBAVCODEC_BUILD LIBAVCODEC_VERSION_INT
|
|
|
|
#define LIBAVCODEC_IDENT "Lavc" AV_STRINGIFY(LIBAVCODEC_VERSION)
|
|
|
|
/**
|
|
* FF_API_* defines may be placed below to indicate public API that will be
|
|
* dropped at a future version bump. The defines themselves are not part of
|
|
* the public API and may change, break or disappear at any time.
|
|
*
|
|
* @note, when bumping the major version it is recommended to manually
|
|
* disable each FF_API_* in its own commit instead of disabling them all
|
|
* at once through the bump. This improves the git bisect-ability of the change.
|
|
*/
|
|
|
|
#ifndef FF_API_OPENH264_SLICE_MODE
|
|
#define FF_API_OPENH264_SLICE_MODE (LIBAVCODEC_VERSION_MAJOR < 60)
|
|
#endif
|
|
#ifndef FF_API_OPENH264_CABAC
|
|
#define FF_API_OPENH264_CABAC (LIBAVCODEC_VERSION_MAJOR < 60)
|
|
#endif
|
|
#ifndef FF_API_UNUSED_CODEC_CAPS
|
|
#define FF_API_UNUSED_CODEC_CAPS (LIBAVCODEC_VERSION_MAJOR < 60)
|
|
#endif
|
|
#ifndef FF_API_THREAD_SAFE_CALLBACKS
|
|
#define FF_API_THREAD_SAFE_CALLBACKS (LIBAVCODEC_VERSION_MAJOR < 60)
|
|
#endif
|
|
#ifndef FF_API_DEBUG_MV
|
|
#define FF_API_DEBUG_MV (LIBAVCODEC_VERSION_MAJOR < 60)
|
|
#endif
|
|
#ifndef FF_API_GET_FRAME_CLASS
|
|
#define FF_API_GET_FRAME_CLASS (LIBAVCODEC_VERSION_MAJOR < 60)
|
|
#endif
|
|
#ifndef FF_API_AUTO_THREADS
|
|
#define FF_API_AUTO_THREADS (LIBAVCODEC_VERSION_MAJOR < 60)
|
|
#endif
|
|
#ifndef FF_API_INIT_PACKET
|
|
#define FF_API_INIT_PACKET (LIBAVCODEC_VERSION_MAJOR < 60)
|
|
#endif
|
|
#ifndef FF_API_AVCTX_TIMEBASE
|
|
#define FF_API_AVCTX_TIMEBASE (LIBAVCODEC_VERSION_MAJOR < 60)
|
|
#endif
|
|
#ifndef FF_API_MPEGVIDEO_OPTS
|
|
#define FF_API_MPEGVIDEO_OPTS (LIBAVCODEC_VERSION_MAJOR < 60)
|
|
#endif
|
|
|
|
#endif /* AVCODEC_VERSION_H */
|