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>: ...@@ -32,6 +32,7 @@ version <next>:
- Wideband Single-bit Data (WSD) demuxer - Wideband Single-bit Data (WSD) demuxer
- VAAPI-accelerated H.264/HEVC/MJPEG encoding - VAAPI-accelerated H.264/HEVC/MJPEG encoding
- DTS Express (LBR) decoder - DTS Express (LBR) decoder
- Generic OpenMAX IL encoder
version 3.0: version 3.0:
- Common Encryption (CENC) MP4 encoding and decoding support - Common Encryption (CENC) MP4 encoding and decoding support
......
...@@ -161,6 +161,7 @@ Hardware-accelerated decoding/encoding: ...@@ -161,6 +161,7 @@ Hardware-accelerated decoding/encoding:
--enable-libmfx enable HW acceleration through libmfx --enable-libmfx enable HW acceleration through libmfx
--enable-mmal enable decoding via MMAL [no] --enable-mmal enable decoding via MMAL [no]
--enable-nvenc enable NVIDIA NVENC support [no] --enable-nvenc enable NVIDIA NVENC support [no]
--enable-omx enable encoding via OpenMAX IL [no]
Individual component options: Individual component options:
--disable-everything disable all components listed below --disable-everything disable all components listed below
...@@ -1564,6 +1565,7 @@ HW_CODECS_LIST=" ...@@ -1564,6 +1565,7 @@ HW_CODECS_LIST="
libmfx libmfx
mmal mmal
nvenc nvenc
omx
" "
HWACCEL_LIST=" HWACCEL_LIST="
...@@ -2540,6 +2542,7 @@ h264_mediacodec_decoder_select="h264_mp4toannexb_bsf h264_parser" ...@@ -2540,6 +2542,7 @@ h264_mediacodec_decoder_select="h264_mp4toannexb_bsf h264_parser"
h264_mmal_decoder_deps="mmal" h264_mmal_decoder_deps="mmal"
h264_mmal_decoder_select="mmal" h264_mmal_decoder_select="mmal"
h264_mmal_hwaccel_deps="mmal" h264_mmal_hwaccel_deps="mmal"
h264_omx_encoder_deps="omx"
h264_qsv_hwaccel_deps="libmfx" h264_qsv_hwaccel_deps="libmfx"
h264_vaapi_hwaccel_deps="vaapi" h264_vaapi_hwaccel_deps="vaapi"
h264_vaapi_hwaccel_select="h264_decoder" h264_vaapi_hwaccel_select="h264_decoder"
...@@ -2598,6 +2601,7 @@ mpeg4_crystalhd_decoder_select="crystalhd" ...@@ -2598,6 +2601,7 @@ mpeg4_crystalhd_decoder_select="crystalhd"
mpeg4_mmal_decoder_deps="mmal" mpeg4_mmal_decoder_deps="mmal"
mpeg4_mmal_decoder_select="mmal" mpeg4_mmal_decoder_select="mmal"
mpeg4_mmal_hwaccel_deps="mmal" mpeg4_mmal_hwaccel_deps="mmal"
mpeg4_omx_encoder_deps="omx"
mpeg4_vaapi_hwaccel_deps="vaapi" mpeg4_vaapi_hwaccel_deps="vaapi"
mpeg4_vaapi_hwaccel_select="mpeg4_decoder" mpeg4_vaapi_hwaccel_select="mpeg4_decoder"
mpeg4_vdpau_decoder_deps="vdpau" mpeg4_vdpau_decoder_deps="vdpau"
...@@ -2637,6 +2641,8 @@ wmv3_vdpau_decoder_select="vc1_vdpau_decoder" ...@@ -2637,6 +2641,8 @@ wmv3_vdpau_decoder_select="vc1_vdpau_decoder"
wmv3_vdpau_hwaccel_select="vc1_vdpau_hwaccel" wmv3_vdpau_hwaccel_select="vc1_vdpau_hwaccel"
# hardware-accelerated codecs # hardware-accelerated codecs
omx_deps="dlopen pthreads"
omx_extralibs='$ldl'
qsvdec_select="qsv" qsvdec_select="qsv"
qsvenc_select="qsv" qsvenc_select="qsv"
vaapi_encode_deps="vaapi" vaapi_encode_deps="vaapi"
...@@ -5729,6 +5735,7 @@ enabled openssl && { use_pkg_config openssl openssl/ssl.h SSL_library_ ...@@ -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 -lssl32 -leay32 ||
check_lib openssl/ssl.h SSL_library_init -lssl -lcrypto -lws2_32 -lgdi32 || check_lib openssl/ssl.h SSL_library_init -lssl -lcrypto -lws2_32 -lgdi32 ||
die "ERROR: openssl not found"; } 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; } enabled qtkit_indev && { check_header_objcc QTKit/QTKit.h || disable qtkit_indev; }
# libdc1394 check # libdc1394 check
......
...@@ -766,6 +766,7 @@ OBJS-$(CONFIG_QSVENC) += qsvenc.o ...@@ -766,6 +766,7 @@ OBJS-$(CONFIG_QSVENC) += qsvenc.o
OBJS-$(CONFIG_H264_MMAL_DECODER) += mmaldec.o OBJS-$(CONFIG_H264_MMAL_DECODER) += mmaldec.o
OBJS-$(CONFIG_H264_VDA_DECODER) += vda_h264_dec.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_DECODER) += qsvdec_h2645.o
OBJS-$(CONFIG_H264_QSV_ENCODER) += qsvenc_h264.o OBJS-$(CONFIG_H264_QSV_ENCODER) += qsvenc_h264.o
OBJS-$(CONFIG_H264_VAAPI_ENCODER) += vaapi_encode_h264.o vaapi_encode_h26x.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 ...@@ -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_MMAL_DECODER) += mmaldec.o
OBJS-$(CONFIG_MPEG2_QSV_DECODER) += qsvdec_mpeg2.o OBJS-$(CONFIG_MPEG2_QSV_DECODER) += qsvdec_mpeg2.o
OBJS-$(CONFIG_MPEG2_QSV_ENCODER) += qsvenc_mpeg2.o OBJS-$(CONFIG_MPEG2_QSV_ENCODER) += qsvenc_mpeg2.o
OBJS-$(CONFIG_MPEG4_OMX_ENCODER) += omx.o
# libavformat dependencies # libavformat dependencies
OBJS-$(CONFIG_ISO_MEDIA) += mpeg4audio.o mpegaudiodata.o OBJS-$(CONFIG_ISO_MEDIA) += mpeg4audio.o mpegaudiodata.o
......
...@@ -620,6 +620,7 @@ void avcodec_register_all(void) ...@@ -620,6 +620,7 @@ void avcodec_register_all(void)
REGISTER_ENCODER(H264_QSV, h264_qsv); REGISTER_ENCODER(H264_QSV, h264_qsv);
REGISTER_ENCODER(H264_VIDEOTOOLBOX, h264_videotoolbox); REGISTER_ENCODER(H264_VIDEOTOOLBOX, h264_videotoolbox);
REGISTER_ENCODER(NVENC, nvenc); REGISTER_ENCODER(NVENC, nvenc);
REGISTER_ENCODER(H264_OMX, h264_omx);
REGISTER_ENCODER(NVENC_H264, nvenc_h264); REGISTER_ENCODER(NVENC_H264, nvenc_h264);
REGISTER_ENCODER(NVENC_HEVC, nvenc_hevc); REGISTER_ENCODER(NVENC_HEVC, nvenc_hevc);
REGISTER_ENCODER(HEVC_QSV, hevc_qsv); REGISTER_ENCODER(HEVC_QSV, hevc_qsv);
......
This diff is collapsed.
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
#include "libavutil/version.h" #include "libavutil/version.h"
#define LIBAVCODEC_VERSION_MAJOR 57 #define LIBAVCODEC_VERSION_MAJOR 57
#define LIBAVCODEC_VERSION_MINOR 40 #define LIBAVCODEC_VERSION_MINOR 41
#define LIBAVCODEC_VERSION_MICRO 100 #define LIBAVCODEC_VERSION_MICRO 100
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ #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