mirror of
https://github.com/moonlight-stream/moonlight-qt
synced 2024-11-10 05:34:17 +00:00
Update macOS builds to FFmpeg 4.2.1
This commit is contained in:
parent
7cf70b9607
commit
8cefdeae49
15 changed files with 619 additions and 94 deletions
|
@ -452,6 +452,11 @@ enum AVCodecID {
|
|||
AV_CODEC_ID_MWSC,
|
||||
AV_CODEC_ID_WCMV,
|
||||
AV_CODEC_ID_RASC,
|
||||
AV_CODEC_ID_HYMT,
|
||||
AV_CODEC_ID_ARBC,
|
||||
AV_CODEC_ID_AGM,
|
||||
AV_CODEC_ID_LSCR,
|
||||
AV_CODEC_ID_VP4,
|
||||
|
||||
/* various PCM "codecs" */
|
||||
AV_CODEC_ID_FIRST_AUDIO = 0x10000, ///< A dummy id pointing at the start of audio codecs
|
||||
|
@ -536,6 +541,7 @@ enum AVCodecID {
|
|||
AV_CODEC_ID_ADPCM_AICA,
|
||||
AV_CODEC_ID_ADPCM_IMA_DAT4,
|
||||
AV_CODEC_ID_ADPCM_MTAF,
|
||||
AV_CODEC_ID_ADPCM_AGM,
|
||||
|
||||
/* AMR */
|
||||
AV_CODEC_ID_AMR_NB = 0x12000,
|
||||
|
@ -645,6 +651,7 @@ enum AVCodecID {
|
|||
AV_CODEC_ID_APTX_HD,
|
||||
AV_CODEC_ID_SBC,
|
||||
AV_CODEC_ID_ATRAC9,
|
||||
AV_CODEC_ID_HCOM,
|
||||
|
||||
/* subtitle codecs */
|
||||
AV_CODEC_ID_FIRST_SUBTITLE = 0x17000, ///< A dummy ID pointing at the start of subtitle codecs.
|
||||
|
@ -674,6 +681,7 @@ enum AVCodecID {
|
|||
AV_CODEC_ID_ASS,
|
||||
AV_CODEC_ID_HDMV_TEXT_SUBTITLE,
|
||||
AV_CODEC_ID_TTML,
|
||||
AV_CODEC_ID_ARIB_CAPTION,
|
||||
|
||||
/* other specific kind of codecs (generally used for attachments) */
|
||||
AV_CODEC_ID_FIRST_UNKNOWN = 0x18000, ///< A dummy ID pointing at the start of various fake codecs.
|
||||
|
@ -852,6 +860,11 @@ typedef struct RcOverride{
|
|||
* Use qpel MC.
|
||||
*/
|
||||
#define AV_CODEC_FLAG_QPEL (1 << 4)
|
||||
/**
|
||||
* Don't output frames whose parameters differ from first
|
||||
* decoded frame in stream.
|
||||
*/
|
||||
#define AV_CODEC_FLAG_DROPCHANGED (1 << 5)
|
||||
/**
|
||||
* Use internal 2pass ratecontrol in first pass mode.
|
||||
*/
|
||||
|
@ -1071,6 +1084,13 @@ typedef struct RcOverride{
|
|||
*/
|
||||
#define AV_CODEC_CAP_HYBRID (1 << 19)
|
||||
|
||||
/**
|
||||
* This codec takes the reordered_opaque field from input AVFrames
|
||||
* and returns it in the corresponding field in AVCodecContext after
|
||||
* encoding.
|
||||
*/
|
||||
#define AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE (1 << 20)
|
||||
|
||||
/**
|
||||
* Pan Scan area.
|
||||
* This specifies the area which should be displayed.
|
||||
|
@ -1110,17 +1130,29 @@ typedef struct AVCPBProperties {
|
|||
* Maximum bitrate of the stream, in bits per second.
|
||||
* Zero if unknown or unspecified.
|
||||
*/
|
||||
#if FF_API_UNSANITIZED_BITRATES
|
||||
int max_bitrate;
|
||||
#else
|
||||
int64_t max_bitrate;
|
||||
#endif
|
||||
/**
|
||||
* Minimum bitrate of the stream, in bits per second.
|
||||
* Zero if unknown or unspecified.
|
||||
*/
|
||||
#if FF_API_UNSANITIZED_BITRATES
|
||||
int min_bitrate;
|
||||
#else
|
||||
int64_t min_bitrate;
|
||||
#endif
|
||||
/**
|
||||
* Average bitrate of the stream, in bits per second.
|
||||
* Zero if unknown or unspecified.
|
||||
*/
|
||||
#if FF_API_UNSANITIZED_BITRATES
|
||||
int avg_bitrate;
|
||||
#else
|
||||
int64_t avg_bitrate;
|
||||
#endif
|
||||
|
||||
/**
|
||||
* The size of the buffer to which the ratecontrol is applied, in bits.
|
||||
|
@ -1321,7 +1353,7 @@ enum AVPacketSideDataType {
|
|||
AV_PKT_DATA_METADATA_UPDATE,
|
||||
|
||||
/**
|
||||
* MPEGTS stream ID, this is required to pass the stream ID
|
||||
* MPEGTS stream ID as uint8_t, this is required to pass the stream ID
|
||||
* information from the demuxer to the corresponding muxer.
|
||||
*/
|
||||
AV_PKT_DATA_MPEGTS_STREAM_ID,
|
||||
|
@ -2025,15 +2057,19 @@ typedef struct AVCodecContext {
|
|||
|
||||
/**
|
||||
* custom intra quantization matrix
|
||||
* - encoding: Set by user, can be NULL.
|
||||
* - decoding: Set by libavcodec.
|
||||
* Must be allocated with the av_malloc() family of functions, and will be freed in
|
||||
* avcodec_free_context().
|
||||
* - encoding: Set/allocated by user, freed by libavcodec. Can be NULL.
|
||||
* - decoding: Set/allocated/freed by libavcodec.
|
||||
*/
|
||||
uint16_t *intra_matrix;
|
||||
|
||||
/**
|
||||
* custom inter quantization matrix
|
||||
* - encoding: Set by user, can be NULL.
|
||||
* - decoding: Set by libavcodec.
|
||||
* Must be allocated with the av_malloc() family of functions, and will be freed in
|
||||
* avcodec_free_context().
|
||||
* - encoding: Set/allocated by user, freed by libavcodec. Can be NULL.
|
||||
* - decoding: Set/allocated/freed by libavcodec.
|
||||
*/
|
||||
uint16_t *inter_matrix;
|
||||
|
||||
|
@ -2677,7 +2713,10 @@ typedef struct AVCodecContext {
|
|||
/**
|
||||
* opaque 64-bit number (generally a PTS) that will be reordered and
|
||||
* output in AVFrame.reordered_opaque
|
||||
* - encoding: unused
|
||||
* - encoding: Set by libavcodec to the reordered_opaque of the input
|
||||
* frame corresponding to the last returned packet. Only
|
||||
* supported by encoders with the
|
||||
* AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE capability.
|
||||
* - decoding: Set by user.
|
||||
*/
|
||||
int64_t reordered_opaque;
|
||||
|
@ -2961,6 +3000,16 @@ typedef struct AVCodecContext {
|
|||
|
||||
#define FF_PROFILE_SBC_MSBC 1
|
||||
|
||||
#define FF_PROFILE_PRORES_PROXY 0
|
||||
#define FF_PROFILE_PRORES_LT 1
|
||||
#define FF_PROFILE_PRORES_STANDARD 2
|
||||
#define FF_PROFILE_PRORES_HQ 3
|
||||
#define FF_PROFILE_PRORES_4444 4
|
||||
#define FF_PROFILE_PRORES_XQ 5
|
||||
|
||||
#define FF_PROFILE_ARIB_PROFILE_A 0
|
||||
#define FF_PROFILE_ARIB_PROFILE_C 1
|
||||
|
||||
/**
|
||||
* level
|
||||
* - encoding: Set by user.
|
||||
|
@ -3313,6 +3362,14 @@ typedef struct AVCodecContext {
|
|||
* used as reference pictures).
|
||||
*/
|
||||
int extra_hw_frames;
|
||||
|
||||
/**
|
||||
* The percentage of damaged samples to discard a frame.
|
||||
*
|
||||
* - decoding: set by user
|
||||
* - encoding: unused
|
||||
*/
|
||||
int discard_damaged_percentage;
|
||||
} AVCodecContext;
|
||||
|
||||
#if FF_API_CODEC_GET_SET
|
||||
|
@ -4365,7 +4422,7 @@ int av_grow_packet(AVPacket *pkt, int grow_by);
|
|||
* Initialize a reference-counted packet from av_malloc()ed data.
|
||||
*
|
||||
* @param pkt packet to be initialized. This function will set the data, size,
|
||||
* buf and destruct fields, all others are left untouched.
|
||||
* and buf fields, all others are left untouched.
|
||||
* @param data Data allocated by av_malloc() to be used as packet data. If this
|
||||
* function returns successfully, the data is owned by the underlying AVBuffer.
|
||||
* The caller may not access the data through other means.
|
||||
|
@ -4871,6 +4928,9 @@ int avcodec_send_packet(AVCodecContext *avctx, const AVPacket *avpkt);
|
|||
* AVERROR_EOF: the decoder has been fully flushed, and there will be
|
||||
* no more output frames
|
||||
* AVERROR(EINVAL): codec not opened, or it is an encoder
|
||||
* AVERROR_INPUT_CHANGED: current decoded frame has changed parameters
|
||||
* with respect to first decoded frame. Applicable
|
||||
* when flag AV_CODEC_FLAG_DROPCHANGED is set.
|
||||
* other negative values: legitimate decoding errors
|
||||
*/
|
||||
int avcodec_receive_frame(AVCodecContext *avctx, AVFrame *frame);
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
#include "libavutil/version.h"
|
||||
|
||||
#define LIBAVCODEC_VERSION_MAJOR 58
|
||||
#define LIBAVCODEC_VERSION_MINOR 35
|
||||
#define LIBAVCODEC_VERSION_MINOR 54
|
||||
#define LIBAVCODEC_VERSION_MICRO 100
|
||||
|
||||
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
|
||||
|
@ -132,6 +132,9 @@
|
|||
#ifndef FF_API_NEXT
|
||||
#define FF_API_NEXT (LIBAVCODEC_VERSION_MAJOR < 59)
|
||||
#endif
|
||||
#ifndef FF_API_UNSANITIZED_BITRATES
|
||||
#define FF_API_UNSANITIZED_BITRATES (LIBAVCODEC_VERSION_MAJOR < 59)
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* AVCODEC_VERSION_H */
|
||||
|
|
|
@ -400,6 +400,12 @@ int av_utf8_decode(int32_t *codep, const uint8_t **bufp, const uint8_t *buf_end,
|
|||
*/
|
||||
int av_match_list(const char *name, const char *list, char separator);
|
||||
|
||||
/**
|
||||
* See libc sscanf manual for more information.
|
||||
* Locale-independent sscanf implementation.
|
||||
*/
|
||||
int av_sscanf(const char *string, const char *format, ...);
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* Automatically generated by version.sh, do not manually edit! */
|
||||
#ifndef AVUTIL_FFVERSION_H
|
||||
#define AVUTIL_FFVERSION_H
|
||||
#define FFMPEG_VERSION "4.1"
|
||||
#define FFMPEG_VERSION "4.2.1"
|
||||
#endif /* AVUTIL_FFVERSION_H */
|
||||
|
|
|
@ -166,6 +166,19 @@ enum AVFrameSideDataType {
|
|||
* function in libavutil/timecode.c.
|
||||
*/
|
||||
AV_FRAME_DATA_S12M_TIMECODE,
|
||||
|
||||
/**
|
||||
* HDR dynamic metadata associated with a video frame. The payload is
|
||||
* an AVDynamicHDRPlus type and contains information for color
|
||||
* volume transform - application 4 of SMPTE 2094-40:2016 standard.
|
||||
*/
|
||||
AV_FRAME_DATA_DYNAMIC_HDR_PLUS,
|
||||
|
||||
/**
|
||||
* Regions Of Interest, the data is an array of AVRegionOfInterest type, the number of
|
||||
* array element is implied by AVFrameSideData.size / AVRegionOfInterest.self_size.
|
||||
*/
|
||||
AV_FRAME_DATA_REGIONS_OF_INTEREST,
|
||||
};
|
||||
|
||||
enum AVActiveFormatDescription {
|
||||
|
@ -193,6 +206,62 @@ typedef struct AVFrameSideData {
|
|||
AVBufferRef *buf;
|
||||
} AVFrameSideData;
|
||||
|
||||
/**
|
||||
* Structure describing a single Region Of Interest.
|
||||
*
|
||||
* When multiple regions are defined in a single side-data block, they
|
||||
* should be ordered from most to least important - some encoders are only
|
||||
* capable of supporting a limited number of distinct regions, so will have
|
||||
* to truncate the list.
|
||||
*
|
||||
* When overlapping regions are defined, the first region containing a given
|
||||
* area of the frame applies.
|
||||
*/
|
||||
typedef struct AVRegionOfInterest {
|
||||
/**
|
||||
* Must be set to the size of this data structure (that is,
|
||||
* sizeof(AVRegionOfInterest)).
|
||||
*/
|
||||
uint32_t self_size;
|
||||
/**
|
||||
* Distance in pixels from the top edge of the frame to the top and
|
||||
* bottom edges and from the left edge of the frame to the left and
|
||||
* right edges of the rectangle defining this region of interest.
|
||||
*
|
||||
* The constraints on a region are encoder dependent, so the region
|
||||
* actually affected may be slightly larger for alignment or other
|
||||
* reasons.
|
||||
*/
|
||||
int top;
|
||||
int bottom;
|
||||
int left;
|
||||
int right;
|
||||
/**
|
||||
* Quantisation offset.
|
||||
*
|
||||
* Must be in the range -1 to +1. A value of zero indicates no quality
|
||||
* change. A negative value asks for better quality (less quantisation),
|
||||
* while a positive value asks for worse quality (greater quantisation).
|
||||
*
|
||||
* The range is calibrated so that the extreme values indicate the
|
||||
* largest possible offset - if the rest of the frame is encoded with the
|
||||
* worst possible quality, an offset of -1 indicates that this region
|
||||
* should be encoded with the best possible quality anyway. Intermediate
|
||||
* values are then interpolated in some codec-dependent way.
|
||||
*
|
||||
* For example, in 10-bit H.264 the quantisation parameter varies between
|
||||
* -12 and 51. A typical qoffset value of -1/10 therefore indicates that
|
||||
* this region should be encoded with a QP around one-tenth of the full
|
||||
* range better than the rest of the frame. So, if most of the frame
|
||||
* were to be encoded with a QP of around 30, this region would get a QP
|
||||
* of around 24 (an offset of approximately -1/10 * (51 - -12) = -6.3).
|
||||
* An extreme value of -1 would indicate that this region should be
|
||||
* encoded with the best possible quality regardless of the treatment of
|
||||
* the rest of the frame - that is, should be encoded at a QP of -12.
|
||||
*/
|
||||
AVRational qoffset;
|
||||
} AVRegionOfInterest;
|
||||
|
||||
/**
|
||||
* This structure describes decoded (raw) audio or video data.
|
||||
*
|
||||
|
@ -389,7 +458,6 @@ typedef struct AVFrame {
|
|||
* that time,
|
||||
* the decoder reorders values as needed and sets AVFrame.reordered_opaque
|
||||
* to exactly one of the values provided by the user through AVCodecContext.reordered_opaque
|
||||
* @deprecated in favor of pkt_pts
|
||||
*/
|
||||
int64_t reordered_opaque;
|
||||
|
||||
|
@ -522,6 +590,8 @@ typedef struct AVFrame {
|
|||
int decode_error_flags;
|
||||
#define FF_DECODE_ERROR_INVALID_BITSTREAM 1
|
||||
#define FF_DECODE_ERROR_MISSING_REFERENCE 2
|
||||
#define FF_DECODE_ERROR_CONCEALMENT_ACTIVE 4
|
||||
#define FF_DECODE_ERROR_DECODE_SLICES 8
|
||||
|
||||
/**
|
||||
* number of audio channels, only used for audio.
|
||||
|
|
343
libs/mac/include/libavutil/hdr_dynamic_metadata.h
Normal file
343
libs/mac/include/libavutil/hdr_dynamic_metadata.h
Normal file
|
@ -0,0 +1,343 @@
|
|||
/*
|
||||
* Copyright (c) 2018 Mohammad Izadi <moh.izadi at gmail.com>
|
||||
*
|
||||
* 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 AVUTIL_HDR_DYNAMIC_METADATA_H
|
||||
#define AVUTIL_HDR_DYNAMIC_METADATA_H
|
||||
|
||||
#include "frame.h"
|
||||
#include "rational.h"
|
||||
|
||||
/**
|
||||
* Option for overlapping elliptical pixel selectors in an image.
|
||||
*/
|
||||
enum AVHDRPlusOverlapProcessOption {
|
||||
AV_HDR_PLUS_OVERLAP_PROCESS_WEIGHTED_AVERAGING = 0,
|
||||
AV_HDR_PLUS_OVERLAP_PROCESS_LAYERING = 1,
|
||||
};
|
||||
|
||||
/**
|
||||
* Represents the percentile at a specific percentage in
|
||||
* a distribution.
|
||||
*/
|
||||
typedef struct AVHDRPlusPercentile {
|
||||
/**
|
||||
* The percentage value corresponding to a specific percentile linearized
|
||||
* RGB value in the processing window in the scene. The value shall be in
|
||||
* the range of 0 to100, inclusive.
|
||||
*/
|
||||
uint8_t percentage;
|
||||
|
||||
/**
|
||||
* The linearized maxRGB value at a specific percentile in the processing
|
||||
* window in the scene. The value shall be in the range of 0 to 1, inclusive
|
||||
* and in multiples of 0.00001.
|
||||
*/
|
||||
AVRational percentile;
|
||||
} AVHDRPlusPercentile;
|
||||
|
||||
/**
|
||||
* Color transform parameters at a processing window in a dynamic metadata for
|
||||
* SMPTE 2094-40.
|
||||
*/
|
||||
typedef struct AVHDRPlusColorTransformParams {
|
||||
/**
|
||||
* The relative x coordinate of the top left pixel of the processing
|
||||
* window. The value shall be in the range of 0 and 1, inclusive and
|
||||
* in multiples of 1/(width of Picture - 1). The value 1 corresponds
|
||||
* to the absolute coordinate of width of Picture - 1. The value for
|
||||
* first processing window shall be 0.
|
||||
*/
|
||||
AVRational window_upper_left_corner_x;
|
||||
|
||||
/**
|
||||
* The relative y coordinate of the top left pixel of the processing
|
||||
* window. The value shall be in the range of 0 and 1, inclusive and
|
||||
* in multiples of 1/(height of Picture - 1). The value 1 corresponds
|
||||
* to the absolute coordinate of height of Picture - 1. The value for
|
||||
* first processing window shall be 0.
|
||||
*/
|
||||
AVRational window_upper_left_corner_y;
|
||||
|
||||
/**
|
||||
* The relative x coordinate of the bottom right pixel of the processing
|
||||
* window. The value shall be in the range of 0 and 1, inclusive and
|
||||
* in multiples of 1/(width of Picture - 1). The value 1 corresponds
|
||||
* to the absolute coordinate of width of Picture - 1. The value for
|
||||
* first processing window shall be 1.
|
||||
*/
|
||||
AVRational window_lower_right_corner_x;
|
||||
|
||||
/**
|
||||
* The relative y coordinate of the bottom right pixel of the processing
|
||||
* window. The value shall be in the range of 0 and 1, inclusive and
|
||||
* in multiples of 1/(height of Picture - 1). The value 1 corresponds
|
||||
* to the absolute coordinate of height of Picture - 1. The value for
|
||||
* first processing window shall be 1.
|
||||
*/
|
||||
AVRational window_lower_right_corner_y;
|
||||
|
||||
/**
|
||||
* The x coordinate of the center position of the concentric internal and
|
||||
* external ellipses of the elliptical pixel selector in the processing
|
||||
* window. The value shall be in the range of 0 to (width of Picture - 1),
|
||||
* inclusive and in multiples of 1 pixel.
|
||||
*/
|
||||
uint16_t center_of_ellipse_x;
|
||||
|
||||
/**
|
||||
* The y coordinate of the center position of the concentric internal and
|
||||
* external ellipses of the elliptical pixel selector in the processing
|
||||
* window. The value shall be in the range of 0 to (height of Picture - 1),
|
||||
* inclusive and in multiples of 1 pixel.
|
||||
*/
|
||||
uint16_t center_of_ellipse_y;
|
||||
|
||||
/**
|
||||
* The clockwise rotation angle in degree of arc with respect to the
|
||||
* positive direction of the x-axis of the concentric internal and external
|
||||
* ellipses of the elliptical pixel selector in the processing window. The
|
||||
* value shall be in the range of 0 to 180, inclusive and in multiples of 1.
|
||||
*/
|
||||
uint8_t rotation_angle;
|
||||
|
||||
/**
|
||||
* The semi-major axis value of the internal ellipse of the elliptical pixel
|
||||
* selector in amount of pixels in the processing window. The value shall be
|
||||
* in the range of 1 to 65535, inclusive and in multiples of 1 pixel.
|
||||
*/
|
||||
uint16_t semimajor_axis_internal_ellipse;
|
||||
|
||||
/**
|
||||
* The semi-major axis value of the external ellipse of the elliptical pixel
|
||||
* selector in amount of pixels in the processing window. The value
|
||||
* shall not be less than semimajor_axis_internal_ellipse of the current
|
||||
* processing window. The value shall be in the range of 1 to 65535,
|
||||
* inclusive and in multiples of 1 pixel.
|
||||
*/
|
||||
uint16_t semimajor_axis_external_ellipse;
|
||||
|
||||
/**
|
||||
* The semi-minor axis value of the external ellipse of the elliptical pixel
|
||||
* selector in amount of pixels in the processing window. The value shall be
|
||||
* in the range of 1 to 65535, inclusive and in multiples of 1 pixel.
|
||||
*/
|
||||
uint16_t semiminor_axis_external_ellipse;
|
||||
|
||||
/**
|
||||
* Overlap process option indicates one of the two methods of combining
|
||||
* rendered pixels in the processing window in an image with at least one
|
||||
* elliptical pixel selector. For overlapping elliptical pixel selectors
|
||||
* in an image, overlap_process_option shall have the same value.
|
||||
*/
|
||||
enum AVHDRPlusOverlapProcessOption overlap_process_option;
|
||||
|
||||
/**
|
||||
* The maximum of the color components of linearized RGB values in the
|
||||
* processing window in the scene. The values should be in the range of 0 to
|
||||
* 1, inclusive and in multiples of 0.00001. maxscl[ 0 ], maxscl[ 1 ], and
|
||||
* maxscl[ 2 ] are corresponding to R, G, B color components respectively.
|
||||
*/
|
||||
AVRational maxscl[3];
|
||||
|
||||
/**
|
||||
* The average of linearized maxRGB values in the processing window in the
|
||||
* scene. The value should be in the range of 0 to 1, inclusive and in
|
||||
* multiples of 0.00001.
|
||||
*/
|
||||
AVRational average_maxrgb;
|
||||
|
||||
/**
|
||||
* The number of linearized maxRGB values at given percentiles in the
|
||||
* processing window in the scene. The maximum value shall be 15.
|
||||
*/
|
||||
uint8_t num_distribution_maxrgb_percentiles;
|
||||
|
||||
/**
|
||||
* The linearized maxRGB values at given percentiles in the
|
||||
* processing window in the scene.
|
||||
*/
|
||||
AVHDRPlusPercentile distribution_maxrgb[15];
|
||||
|
||||
/**
|
||||
* The fraction of selected pixels in the image that contains the brightest
|
||||
* pixel in the scene. The value shall be in the range of 0 to 1, inclusive
|
||||
* and in multiples of 0.001.
|
||||
*/
|
||||
AVRational fraction_bright_pixels;
|
||||
|
||||
/**
|
||||
* This flag indicates that the metadata for the tone mapping function in
|
||||
* the processing window is present (for value of 1).
|
||||
*/
|
||||
uint8_t tone_mapping_flag;
|
||||
|
||||
/**
|
||||
* The x coordinate of the separation point between the linear part and the
|
||||
* curved part of the tone mapping function. The value shall be in the range
|
||||
* of 0 to 1, excluding 0 and in multiples of 1/4095.
|
||||
*/
|
||||
AVRational knee_point_x;
|
||||
|
||||
/**
|
||||
* The y coordinate of the separation point between the linear part and the
|
||||
* curved part of the tone mapping function. The value shall be in the range
|
||||
* of 0 to 1, excluding 0 and in multiples of 1/4095.
|
||||
*/
|
||||
AVRational knee_point_y;
|
||||
|
||||
/**
|
||||
* The number of the intermediate anchor parameters of the tone mapping
|
||||
* function in the processing window. The maximum value shall be 15.
|
||||
*/
|
||||
uint8_t num_bezier_curve_anchors;
|
||||
|
||||
/**
|
||||
* The intermediate anchor parameters of the tone mapping function in the
|
||||
* processing window in the scene. The values should be in the range of 0
|
||||
* to 1, inclusive and in multiples of 1/1023.
|
||||
*/
|
||||
AVRational bezier_curve_anchors[15];
|
||||
|
||||
/**
|
||||
* This flag shall be equal to 0 in bitstreams conforming to this version of
|
||||
* this Specification. Other values are reserved for future use.
|
||||
*/
|
||||
uint8_t color_saturation_mapping_flag;
|
||||
|
||||
/**
|
||||
* The color saturation gain in the processing window in the scene. The
|
||||
* value shall be in the range of 0 to 63/8, inclusive and in multiples of
|
||||
* 1/8. The default value shall be 1.
|
||||
*/
|
||||
AVRational color_saturation_weight;
|
||||
} AVHDRPlusColorTransformParams;
|
||||
|
||||
/**
|
||||
* This struct represents dynamic metadata for color volume transform -
|
||||
* application 4 of SMPTE 2094-40:2016 standard.
|
||||
*
|
||||
* To be used as payload of a AVFrameSideData or AVPacketSideData with the
|
||||
* appropriate type.
|
||||
*
|
||||
* @note The struct should be allocated with
|
||||
* av_dynamic_hdr_plus_alloc() and its size is not a part of
|
||||
* the public ABI.
|
||||
*/
|
||||
typedef struct AVDynamicHDRPlus {
|
||||
/**
|
||||
* Country code by Rec. ITU-T T.35 Annex A. The value shall be 0xB5.
|
||||
*/
|
||||
uint8_t itu_t_t35_country_code;
|
||||
|
||||
/**
|
||||
* Application version in the application defining document in ST-2094
|
||||
* suite. The value shall be set to 0.
|
||||
*/
|
||||
uint8_t application_version;
|
||||
|
||||
/**
|
||||
* The number of processing windows. The value shall be in the range
|
||||
* of 1 to 3, inclusive.
|
||||
*/
|
||||
uint8_t num_windows;
|
||||
|
||||
/**
|
||||
* The color transform parameters for every processing window.
|
||||
*/
|
||||
AVHDRPlusColorTransformParams params[3];
|
||||
|
||||
/**
|
||||
* The nominal maximum display luminance of the targeted system display,
|
||||
* in units of 0.0001 candelas per square metre. The value shall be in
|
||||
* the range of 0 to 10000, inclusive.
|
||||
*/
|
||||
AVRational targeted_system_display_maximum_luminance;
|
||||
|
||||
/**
|
||||
* This flag shall be equal to 0 in bit streams conforming to this version
|
||||
* of this Specification. The value 1 is reserved for future use.
|
||||
*/
|
||||
uint8_t targeted_system_display_actual_peak_luminance_flag;
|
||||
|
||||
/**
|
||||
* The number of rows in the targeted system_display_actual_peak_luminance
|
||||
* array. The value shall be in the range of 2 to 25, inclusive.
|
||||
*/
|
||||
uint8_t num_rows_targeted_system_display_actual_peak_luminance;
|
||||
|
||||
/**
|
||||
* The number of columns in the
|
||||
* targeted_system_display_actual_peak_luminance array. The value shall be
|
||||
* in the range of 2 to 25, inclusive.
|
||||
*/
|
||||
uint8_t num_cols_targeted_system_display_actual_peak_luminance;
|
||||
|
||||
/**
|
||||
* The normalized actual peak luminance of the targeted system display. The
|
||||
* values should be in the range of 0 to 1, inclusive and in multiples of
|
||||
* 1/15.
|
||||
*/
|
||||
AVRational targeted_system_display_actual_peak_luminance[25][25];
|
||||
|
||||
/**
|
||||
* This flag shall be equal to 0 in bitstreams conforming to this version of
|
||||
* this Specification. The value 1 is reserved for future use.
|
||||
*/
|
||||
uint8_t mastering_display_actual_peak_luminance_flag;
|
||||
|
||||
/**
|
||||
* The number of rows in the mastering_display_actual_peak_luminance array.
|
||||
* The value shall be in the range of 2 to 25, inclusive.
|
||||
*/
|
||||
uint8_t num_rows_mastering_display_actual_peak_luminance;
|
||||
|
||||
/**
|
||||
* The number of columns in the mastering_display_actual_peak_luminance
|
||||
* array. The value shall be in the range of 2 to 25, inclusive.
|
||||
*/
|
||||
uint8_t num_cols_mastering_display_actual_peak_luminance;
|
||||
|
||||
/**
|
||||
* The normalized actual peak luminance of the mastering display used for
|
||||
* mastering the image essence. The values should be in the range of 0 to 1,
|
||||
* inclusive and in multiples of 1/15.
|
||||
*/
|
||||
AVRational mastering_display_actual_peak_luminance[25][25];
|
||||
} AVDynamicHDRPlus;
|
||||
|
||||
/**
|
||||
* Allocate an AVDynamicHDRPlus structure and set its fields to
|
||||
* default values. The resulting struct can be freed using av_freep().
|
||||
*
|
||||
* @return An AVDynamicHDRPlus filled with default values or NULL
|
||||
* on failure.
|
||||
*/
|
||||
AVDynamicHDRPlus *av_dynamic_hdr_plus_alloc(size_t *size);
|
||||
|
||||
/**
|
||||
* Allocate a complete AVDynamicHDRPlus and add it to the frame.
|
||||
* @param frame The frame which side data is added to.
|
||||
*
|
||||
* @return The AVDynamicHDRPlus structure to be filled by caller or NULL
|
||||
* on failure.
|
||||
*/
|
||||
AVDynamicHDRPlus *av_dynamic_hdr_plus_create_side_data(AVFrame *frame);
|
||||
|
||||
#endif /* AVUTIL_HDR_DYNAMIC_METADATA_H */
|
|
@ -542,6 +542,21 @@ union unaligned_16 { uint16_t l; } __attribute__((packed)) av_alias;
|
|||
# define AV_WN64A(p, v) AV_WNA(64, p, v)
|
||||
#endif
|
||||
|
||||
#if AV_HAVE_BIGENDIAN
|
||||
# define AV_RLA(s, p) av_bswap##s(AV_RN##s##A(p))
|
||||
# define AV_WLA(s, p, v) AV_WN##s##A(p, av_bswap##s(v))
|
||||
#else
|
||||
# define AV_RLA(s, p) AV_RN##s##A(p)
|
||||
# define AV_WLA(s, p, v) AV_WN##s##A(p, v)
|
||||
#endif
|
||||
|
||||
#ifndef AV_RL64A
|
||||
# define AV_RL64A(p) AV_RLA(64, p)
|
||||
#endif
|
||||
#ifndef AV_WL64A
|
||||
# define AV_WL64A(p, v) AV_WLA(64, p, v)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* The AV_COPYxxU macros are suitable for copying data to/from unaligned
|
||||
* memory locations.
|
||||
|
|
|
@ -1,66 +0,0 @@
|
|||
/*
|
||||
* LZO 1x decompression
|
||||
* copyright (c) 2006 Reimar Doeffinger
|
||||
*
|
||||
* 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 AVUTIL_LZO_H
|
||||
#define AVUTIL_LZO_H
|
||||
|
||||
/**
|
||||
* @defgroup lavu_lzo LZO
|
||||
* @ingroup lavu_crypto
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
/** @name Error flags returned by av_lzo1x_decode
|
||||
* @{ */
|
||||
/// end of the input buffer reached before decoding finished
|
||||
#define AV_LZO_INPUT_DEPLETED 1
|
||||
/// decoded data did not fit into output buffer
|
||||
#define AV_LZO_OUTPUT_FULL 2
|
||||
/// a reference to previously decoded data was wrong
|
||||
#define AV_LZO_INVALID_BACKPTR 4
|
||||
/// a non-specific error in the compressed bitstream
|
||||
#define AV_LZO_ERROR 8
|
||||
/** @} */
|
||||
|
||||
#define AV_LZO_INPUT_PADDING 8
|
||||
#define AV_LZO_OUTPUT_PADDING 12
|
||||
|
||||
/**
|
||||
* @brief Decodes LZO 1x compressed data.
|
||||
* @param out output buffer
|
||||
* @param outlen size of output buffer, number of bytes left are returned here
|
||||
* @param in input buffer
|
||||
* @param inlen size of input buffer, number of bytes left are returned here
|
||||
* @return 0 on success, otherwise a combination of the error flags above
|
||||
*
|
||||
* Make sure all buffers are appropriately padded, in must provide
|
||||
* AV_LZO_INPUT_PADDING, out must provide AV_LZO_OUTPUT_PADDING additional bytes.
|
||||
*/
|
||||
int av_lzo1x_decode(void *out, int *outlen, const void *in, int *inlen);
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
#endif /* AVUTIL_LZO_H */
|
|
@ -339,7 +339,7 @@ av_alloc_size(2, 3) void *av_realloc_array(void *ptr, size_t nmemb, size_t size)
|
|||
* @warning Unlike av_malloc(), the allocated memory is not guaranteed to be
|
||||
* correctly aligned.
|
||||
*/
|
||||
av_alloc_size(2, 3) int av_reallocp_array(void *ptr, size_t nmemb, size_t size);
|
||||
int av_reallocp_array(void *ptr, size_t nmemb, size_t size);
|
||||
|
||||
/**
|
||||
* Reallocate the given buffer if it is not large enough, otherwise do nothing.
|
||||
|
@ -363,10 +363,10 @@ av_alloc_size(2, 3) int av_reallocp_array(void *ptr, size_t nmemb, size_t size);
|
|||
* @endcode
|
||||
*
|
||||
* @param[in,out] ptr Already allocated buffer, or `NULL`
|
||||
* @param[in,out] size Pointer to current size of buffer `ptr`. `*size` is
|
||||
* changed to `min_size` in case of success or 0 in
|
||||
* case of failure
|
||||
* @param[in] min_size New size of buffer `ptr`
|
||||
* @param[in,out] size Pointer to the size of buffer `ptr`. `*size` is
|
||||
* updated to the new allocated size, in particular 0
|
||||
* in case of failure.
|
||||
* @param[in] min_size Desired minimal size of buffer `ptr`
|
||||
* @return `ptr` if the buffer is large enough, a pointer to newly reallocated
|
||||
* buffer if the buffer was not large enough, or `NULL` in case of
|
||||
* error
|
||||
|
@ -397,10 +397,10 @@ void *av_fast_realloc(void *ptr, unsigned int *size, size_t min_size);
|
|||
* @param[in,out] ptr Pointer to pointer to an already allocated buffer.
|
||||
* `*ptr` will be overwritten with pointer to new
|
||||
* buffer on success or `NULL` on failure
|
||||
* @param[in,out] size Pointer to current size of buffer `*ptr`. `*size` is
|
||||
* changed to `min_size` in case of success or 0 in
|
||||
* case of failure
|
||||
* @param[in] min_size New size of buffer `*ptr`
|
||||
* @param[in,out] size Pointer to the size of buffer `*ptr`. `*size` is
|
||||
* updated to the new allocated size, in particular 0
|
||||
* in case of failure.
|
||||
* @param[in] min_size Desired minimal size of buffer `*ptr`
|
||||
* @see av_realloc()
|
||||
* @see av_fast_mallocz()
|
||||
*/
|
||||
|
@ -418,10 +418,10 @@ void av_fast_malloc(void *ptr, unsigned int *size, size_t min_size);
|
|||
* @param[in,out] ptr Pointer to pointer to an already allocated buffer.
|
||||
* `*ptr` will be overwritten with pointer to new
|
||||
* buffer on success or `NULL` on failure
|
||||
* @param[in,out] size Pointer to current size of buffer `*ptr`. `*size` is
|
||||
* changed to `min_size` in case of success or 0 in
|
||||
* case of failure
|
||||
* @param[in] min_size New size of buffer `*ptr`
|
||||
* @param[in,out] size Pointer to the size of buffer `*ptr`. `*size` is
|
||||
* updated to the new allocated size, in particular 0
|
||||
* in case of failure.
|
||||
* @param[in] min_size Desired minimal size of buffer `*ptr`
|
||||
* @see av_fast_malloc()
|
||||
*/
|
||||
void av_fast_mallocz(void *ptr, unsigned int *size, size_t min_size);
|
||||
|
|
|
@ -340,6 +340,14 @@ enum AVPixelFormat {
|
|||
AV_PIX_FMT_GRAYF32BE, ///< IEEE-754 single precision Y, 32bpp, big-endian
|
||||
AV_PIX_FMT_GRAYF32LE, ///< IEEE-754 single precision Y, 32bpp, little-endian
|
||||
|
||||
AV_PIX_FMT_YUVA422P12BE, ///< planar YUV 4:2:2,24bpp, (1 Cr & Cb sample per 2x1 Y samples), 12b alpha, big-endian
|
||||
AV_PIX_FMT_YUVA422P12LE, ///< planar YUV 4:2:2,24bpp, (1 Cr & Cb sample per 2x1 Y samples), 12b alpha, little-endian
|
||||
AV_PIX_FMT_YUVA444P12BE, ///< planar YUV 4:4:4,36bpp, (1 Cr & Cb sample per 1x1 Y samples), 12b alpha, big-endian
|
||||
AV_PIX_FMT_YUVA444P12LE, ///< planar YUV 4:4:4,36bpp, (1 Cr & Cb sample per 1x1 Y samples), 12b alpha, little-endian
|
||||
|
||||
AV_PIX_FMT_NV24, ///< planar YUV 4:4:4, 24bpp, 1 plane for Y and 1 plane for the UV components, which are interleaved (first byte U and the following byte V)
|
||||
AV_PIX_FMT_NV42, ///< as above, but U and V bytes are swapped
|
||||
|
||||
AV_PIX_FMT_NB ///< number of pixel formats, DO NOT USE THIS if you want to link with shared libav* because the number of formats might differ between versions
|
||||
};
|
||||
|
||||
|
@ -416,6 +424,8 @@ enum AVPixelFormat {
|
|||
#define AV_PIX_FMT_YUVA420P10 AV_PIX_FMT_NE(YUVA420P10BE, YUVA420P10LE)
|
||||
#define AV_PIX_FMT_YUVA422P10 AV_PIX_FMT_NE(YUVA422P10BE, YUVA422P10LE)
|
||||
#define AV_PIX_FMT_YUVA444P10 AV_PIX_FMT_NE(YUVA444P10BE, YUVA444P10LE)
|
||||
#define AV_PIX_FMT_YUVA422P12 AV_PIX_FMT_NE(YUVA422P12BE, YUVA422P12LE)
|
||||
#define AV_PIX_FMT_YUVA444P12 AV_PIX_FMT_NE(YUVA444P12BE, YUVA444P12LE)
|
||||
#define AV_PIX_FMT_YUVA420P16 AV_PIX_FMT_NE(YUVA420P16BE, YUVA420P16LE)
|
||||
#define AV_PIX_FMT_YUVA422P16 AV_PIX_FMT_NE(YUVA422P16BE, YUVA422P16LE)
|
||||
#define AV_PIX_FMT_YUVA444P16 AV_PIX_FMT_NE(YUVA444P16BE, YUVA444P16LE)
|
||||
|
|
81
libs/mac/include/libavutil/tx.h
Normal file
81
libs/mac/include/libavutil/tx.h
Normal file
|
@ -0,0 +1,81 @@
|
|||
/*
|
||||
* 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 AVUTIL_TX_H
|
||||
#define AVUTIL_TX_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
|
||||
typedef struct AVTXContext AVTXContext;
|
||||
|
||||
typedef struct AVComplexFloat {
|
||||
float re, im;
|
||||
} AVComplexFloat;
|
||||
|
||||
enum AVTXType {
|
||||
/**
|
||||
* Standard complex to complex FFT with sample data type AVComplexFloat.
|
||||
* Scaling currently unsupported
|
||||
*/
|
||||
AV_TX_FLOAT_FFT = 0,
|
||||
/**
|
||||
* Standard MDCT with sample data type of float and a scale type of
|
||||
* float. Length is the frame size, not the window size (which is 2x frame)
|
||||
*/
|
||||
AV_TX_FLOAT_MDCT = 1,
|
||||
};
|
||||
|
||||
/**
|
||||
* Function pointer to a function to perform the transform.
|
||||
*
|
||||
* @note Using a different context than the one allocated during av_tx_init()
|
||||
* is not allowed.
|
||||
*
|
||||
* @param s the transform context
|
||||
* @param out the output array
|
||||
* @param in the input array
|
||||
* @param stride the input or output stride (depending on transform direction)
|
||||
* in bytes, currently implemented for all MDCT transforms
|
||||
*/
|
||||
typedef void (*av_tx_fn)(AVTXContext *s, void *out, void *in, ptrdiff_t stride);
|
||||
|
||||
/**
|
||||
* Initialize a transform context with the given configuration
|
||||
* Currently power of two lengths from 4 to 131072 are supported, along with
|
||||
* any length decomposable to a power of two and either 3, 5 or 15.
|
||||
*
|
||||
* @param ctx the context to allocate, will be NULL on error
|
||||
* @param tx pointer to the transform function pointer to set
|
||||
* @param type type the type of transform
|
||||
* @param inv whether to do an inverse or a forward transform
|
||||
* @param len the size of the transform in samples
|
||||
* @param scale pointer to the value to scale the output if supported by type
|
||||
* @param flags currently unused
|
||||
*
|
||||
* @return 0 on success, negative error code on failure
|
||||
*/
|
||||
int av_tx_init(AVTXContext **ctx, av_tx_fn *tx, enum AVTXType type,
|
||||
int inv, int len, const void *scale, uint64_t flags);
|
||||
|
||||
/**
|
||||
* Frees a context and sets ctx to NULL, does nothing when ctx == NULL
|
||||
*/
|
||||
void av_tx_uninit(AVTXContext **ctx);
|
||||
|
||||
#endif /* AVUTIL_TX_H */
|
|
@ -79,7 +79,7 @@
|
|||
*/
|
||||
|
||||
#define LIBAVUTIL_VERSION_MAJOR 56
|
||||
#define LIBAVUTIL_VERSION_MINOR 22
|
||||
#define LIBAVUTIL_VERSION_MINOR 31
|
||||
#define LIBAVUTIL_VERSION_MICRO 100
|
||||
|
||||
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
|
||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -1,7 +1,10 @@
|
|||
./configure --extra-cflags="-mmacosx-version-min=10.11" --install-name-dir=@loader_path/../lib --enable-pic --enable-shared --disable-static --disable-all --enable-avcodec --enable-decoder=h264 --enable-decoder=hevc --enable-hwaccel=h264_videotoolbox --enable-hwaccel=hevc_videotoolbox
|
||||
rm -rf /tmp/ffmpeg
|
||||
mkdir /tmp/ffmpeg
|
||||
./configure --prefix=/tmp/ffmpeg --extra-cflags="-mmacosx-version-min=10.13" --install-name-dir=@loader_path/../Frameworks --enable-pic --enable-shared --disable-static --disable-all --enable-avcodec --enable-decoder=h264 --enable-decoder=hevc --enable-hwaccel=h264_videotoolbox --enable-hwaccel=hevc_videotoolbox
|
||||
make clean
|
||||
make -j4
|
||||
codesign -s 45U78722YL libavcodec/libavcodec.dylib
|
||||
codesign -s 45U78722YL libavutil/libavutil.dylib
|
||||
codesign -s "$SIGNING_IDENTITY" libavcodec/libavcodec.dylib
|
||||
codesign -s "$SIGNING_IDENTITY" libavutil/libavutil.dylib
|
||||
codesign -vv libavcodec/libavcodec.dylib
|
||||
codesign -vv libavutil/libavutil.dylib
|
||||
codesign -vv libavutil/libavutil.dylib
|
||||
make install
|
Loading…
Reference in a new issue