Commit 0e387232 authored by Derek Buitenhuis's avatar Derek Buitenhuis

Merge commit 'e8919ec4'

* commit 'e8919ec4':
  libavcodec: Add H264/MPEG4 encoders based on OpenMAX IL
Merged-by: 's avatarDerek Buitenhuis <derek.buitenhuis@gmail.com>
parents f4c88eef e8919ec4
......@@ -32,6 +32,7 @@ version <next>:
- Wideband Single-bit Data (WSD) demuxer
- VAAPI-accelerated H.264/HEVC/MJPEG encoding
- DTS Express (LBR) decoder
- Generic OpenMAX IL encoder
version 3.0:
- Common Encryption (CENC) MP4 encoding and decoding support
......
......@@ -161,6 +161,7 @@ Hardware-accelerated decoding/encoding:
--enable-libmfx enable HW acceleration through libmfx
--enable-mmal enable decoding via MMAL [no]
--enable-nvenc enable NVIDIA NVENC support [no]
--enable-omx enable encoding via OpenMAX IL [no]
Individual component options:
--disable-everything disable all components listed below
......@@ -1564,6 +1565,7 @@ HW_CODECS_LIST="
libmfx
mmal
nvenc
omx
"
HWACCEL_LIST="
......@@ -2540,6 +2542,7 @@ h264_mediacodec_decoder_select="h264_mp4toannexb_bsf h264_parser"
h264_mmal_decoder_deps="mmal"
h264_mmal_decoder_select="mmal"
h264_mmal_hwaccel_deps="mmal"
h264_omx_encoder_deps="omx"
h264_qsv_hwaccel_deps="libmfx"
h264_vaapi_hwaccel_deps="vaapi"
h264_vaapi_hwaccel_select="h264_decoder"
......@@ -2598,6 +2601,7 @@ mpeg4_crystalhd_decoder_select="crystalhd"
mpeg4_mmal_decoder_deps="mmal"
mpeg4_mmal_decoder_select="mmal"
mpeg4_mmal_hwaccel_deps="mmal"
mpeg4_omx_encoder_deps="omx"
mpeg4_vaapi_hwaccel_deps="vaapi"
mpeg4_vaapi_hwaccel_select="mpeg4_decoder"
mpeg4_vdpau_decoder_deps="vdpau"
......@@ -2637,6 +2641,8 @@ wmv3_vdpau_decoder_select="vc1_vdpau_decoder"
wmv3_vdpau_hwaccel_select="vc1_vdpau_hwaccel"
# hardware-accelerated codecs
omx_deps="dlopen pthreads"
omx_extralibs='$ldl'
qsvdec_select="qsv"
qsvenc_select="qsv"
vaapi_encode_deps="vaapi"
......@@ -5729,6 +5735,7 @@ enabled openssl && { use_pkg_config openssl openssl/ssl.h SSL_library_
check_lib openssl/ssl.h SSL_library_init -lssl32 -leay32 ||
check_lib openssl/ssl.h SSL_library_init -lssl -lcrypto -lws2_32 -lgdi32 ||
die "ERROR: openssl not found"; }
enabled omx && { check_header OMX_Core.h || die "ERROR: OpenMAX IL headers not found"; }
enabled qtkit_indev && { check_header_objcc QTKit/QTKit.h || disable qtkit_indev; }
# libdc1394 check
......
......@@ -766,6 +766,7 @@ OBJS-$(CONFIG_QSVENC) += qsvenc.o
OBJS-$(CONFIG_H264_MMAL_DECODER) += mmaldec.o
OBJS-$(CONFIG_H264_VDA_DECODER) += vda_h264_dec.o
OBJS-$(CONFIG_H264_OMX_ENCODER) += omx.o
OBJS-$(CONFIG_H264_QSV_DECODER) += qsvdec_h2645.o
OBJS-$(CONFIG_H264_QSV_ENCODER) += qsvenc_h264.o
OBJS-$(CONFIG_H264_VAAPI_ENCODER) += vaapi_encode_h264.o vaapi_encode_h26x.o
......@@ -775,6 +776,7 @@ OBJS-$(CONFIG_HEVC_VAAPI_ENCODER) += vaapi_encode_h265.o vaapi_encode_h2
OBJS-$(CONFIG_MPEG2_MMAL_DECODER) += mmaldec.o
OBJS-$(CONFIG_MPEG2_QSV_DECODER) += qsvdec_mpeg2.o
OBJS-$(CONFIG_MPEG2_QSV_ENCODER) += qsvenc_mpeg2.o
OBJS-$(CONFIG_MPEG4_OMX_ENCODER) += omx.o
# libavformat dependencies
OBJS-$(CONFIG_ISO_MEDIA) += mpeg4audio.o mpegaudiodata.o
......
......@@ -620,6 +620,7 @@ void avcodec_register_all(void)
REGISTER_ENCODER(H264_QSV, h264_qsv);
REGISTER_ENCODER(H264_VIDEOTOOLBOX, h264_videotoolbox);
REGISTER_ENCODER(NVENC, nvenc);
REGISTER_ENCODER(H264_OMX, h264_omx);
REGISTER_ENCODER(NVENC_H264, nvenc_h264);
REGISTER_ENCODER(NVENC_HEVC, nvenc_hevc);
REGISTER_ENCODER(HEVC_QSV, hevc_qsv);
......
This diff is collapsed.
......@@ -28,7 +28,7 @@
#include "libavutil/version.h"
#define LIBAVCODEC_VERSION_MAJOR 57
#define LIBAVCODEC_VERSION_MINOR 40
#define LIBAVCODEC_VERSION_MINOR 41
#define LIBAVCODEC_VERSION_MICRO 100
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment