diff --git a/libs/windows/include/libavcodec/avcodec.h b/libs/windows/include/libavcodec/avcodec.h index f85af3f1..7ffef768 100644 --- a/libs/windows/include/libavcodec/avcodec.h +++ b/libs/windows/include/libavcodec/avcodec.h @@ -409,6 +409,7 @@ enum AVCodecID { AV_CODEC_ID_DXV, AV_CODEC_ID_SCREENPRESSO, AV_CODEC_ID_RSCC, + AV_CODEC_ID_AVS2, AV_CODEC_ID_Y41P = 0x8000, AV_CODEC_ID_AVRP, @@ -446,6 +447,11 @@ enum AVCodecID { AV_CODEC_ID_SVG, AV_CODEC_ID_GDV, AV_CODEC_ID_FITS, + AV_CODEC_ID_IMM4, + AV_CODEC_ID_PROSUMER, + AV_CODEC_ID_MWSC, + AV_CODEC_ID_WCMV, + AV_CODEC_ID_RASC, /* various PCM "codecs" */ AV_CODEC_ID_FIRST_AUDIO = 0x10000, ///< A dummy id pointing at the start of audio codecs @@ -485,6 +491,7 @@ enum AVCodecID { AV_CODEC_ID_PCM_S64BE, AV_CODEC_ID_PCM_F16LE, AV_CODEC_ID_PCM_F24LE, + AV_CODEC_ID_PCM_VIDC, /* various ADPCM codecs */ AV_CODEC_ID_ADPCM_IMA_QT = 0x11000, @@ -1359,6 +1366,12 @@ enum AVPacketSideDataType { */ AV_PKT_DATA_ENCRYPTION_INFO, + /** + * Active Format Description data consisting of a single byte as specified + * in ETSI TS 101 154 using AVActiveFormatDescription enum. + */ + AV_PKT_DATA_AFD, + /** * The number of side data types. * This is not part of the public API/ABI in the sense that it may @@ -1614,6 +1627,7 @@ typedef struct AVCodecContext { * The allocated memory should be AV_INPUT_BUFFER_PADDING_SIZE bytes larger * than extradata_size to avoid problems if it is read with the bitstream reader. * The bytewise contents of extradata must not depend on the architecture or CPU endianness. + * Must be allocated with the av_malloc() family of functions. * - encoding: Set/allocated/freed by libavcodec. * - decoding: Set/allocated/freed by user. */ @@ -5768,6 +5782,7 @@ typedef struct AVBitStreamFilter { int (*init)(AVBSFContext *ctx); int (*filter)(AVBSFContext *ctx, AVPacket *pkt); void (*close)(AVBSFContext *ctx); + void (*flush)(AVBSFContext *ctx); } AVBitStreamFilter; #if FF_API_OLD_BSF @@ -5894,6 +5909,11 @@ int av_bsf_send_packet(AVBSFContext *ctx, AVPacket *pkt); */ int av_bsf_receive_packet(AVBSFContext *ctx, AVPacket *pkt); +/** + * Reset the internal bitstream filter state / flush internal buffers. + */ +void av_bsf_flush(AVBSFContext *ctx); + /** * Free a bitstream filter context and everything associated with it; write NULL * into the supplied pointer. diff --git a/libs/windows/include/libavcodec/mediacodec.h b/libs/windows/include/libavcodec/mediacodec.h index 5606d24a..4c8545df 100644 --- a/libs/windows/include/libavcodec/mediacodec.h +++ b/libs/windows/include/libavcodec/mediacodec.h @@ -85,4 +85,17 @@ typedef struct MediaCodecBuffer AVMediaCodecBuffer; */ int av_mediacodec_release_buffer(AVMediaCodecBuffer *buffer, int render); +/** + * Release a MediaCodec buffer and render it at the given time to the surface + * that is associated with the decoder. The timestamp must be within one second + * of the current java/lang/System#nanoTime() (which is implemented using + * CLOCK_MONOTONIC on Android). See the Android MediaCodec documentation + * of android/media/MediaCodec#releaseOutputBuffer(int,long) for more details. + * + * @param buffer the buffer to render + * @param time timestamp in nanoseconds of when to render the buffer + * @return 0 on success, < 0 otherwise + */ +int av_mediacodec_render_buffer_at_time(AVMediaCodecBuffer *buffer, int64_t time); + #endif /* AVCODEC_MEDIACODEC_H */ diff --git a/libs/windows/include/libavcodec/version.h b/libs/windows/include/libavcodec/version.h index 471ea4a8..782ba978 100644 --- a/libs/windows/include/libavcodec/version.h +++ b/libs/windows/include/libavcodec/version.h @@ -28,8 +28,8 @@ #include "libavutil/version.h" #define LIBAVCODEC_VERSION_MAJOR 58 -#define LIBAVCODEC_VERSION_MINOR 21 -#define LIBAVCODEC_VERSION_MICRO 104 +#define LIBAVCODEC_VERSION_MINOR 35 +#define LIBAVCODEC_VERSION_MICRO 100 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ LIBAVCODEC_VERSION_MINOR, \ diff --git a/libs/windows/include/libavutil/avassert.h b/libs/windows/include/libavutil/avassert.h index 46f3fea5..9abeadea 100644 --- a/libs/windows/include/libavutil/avassert.h +++ b/libs/windows/include/libavutil/avassert.h @@ -66,7 +66,7 @@ #endif /** - * Assert that floating point opperations can be executed. + * Assert that floating point operations can be executed. * * This will av_assert0() that the cpu is not in MMX state on X86 */ diff --git a/libs/windows/include/libavutil/ffversion.h b/libs/windows/include/libavutil/ffversion.h index 1d7a8ffb..e2474e90 100644 --- a/libs/windows/include/libavutil/ffversion.h +++ b/libs/windows/include/libavutil/ffversion.h @@ -1,5 +1,5 @@ /* Automatically generated by version.sh, do not manually edit! */ #ifndef AVUTIL_FFVERSION_H #define AVUTIL_FFVERSION_H -#define FFMPEG_VERSION "N-91434-gcced03dd66" +#define FFMPEG_VERSION "4.1" #endif /* AVUTIL_FFVERSION_H */ diff --git a/libs/windows/include/libavutil/file.h b/libs/windows/include/libavutil/file.h index 8666c7b1..3ef4a602 100644 --- a/libs/windows/include/libavutil/file.h +++ b/libs/windows/include/libavutil/file.h @@ -33,6 +33,8 @@ * allocated buffer or map it with mmap() when available. * In case of success set *bufptr to the read or mmapped buffer, and * *size to the size in bytes of the buffer in *bufptr. + * Unlike mmap this function succeeds with zero sized files, in this + * case *bufptr will be set to NULL and *size will be set to 0. * The returned buffer must be released with av_file_unmap(). * * @param log_offset loglevel offset used for logging diff --git a/libs/windows/include/libavutil/frame.h b/libs/windows/include/libavutil/frame.h index 9d57d6ce..e2a29298 100644 --- a/libs/windows/include/libavutil/frame.h +++ b/libs/windows/include/libavutil/frame.h @@ -158,6 +158,14 @@ enum AVFrameSideDataType { */ AV_FRAME_DATA_QP_TABLE_DATA, #endif + + /** + * Timecode which conforms to SMPTE ST 12-1. The data is an array of 4 uint32_t + * where the first uint32_t describes how many (1-3) of the other timecodes are used. + * The timecode format is described in the av_timecode_get_smpte_from_framenum() + * function in libavutil/timecode.c. + */ + AV_FRAME_DATA_S12M_TIMECODE, }; enum AVActiveFormatDescription { diff --git a/libs/windows/include/libavutil/pixdesc.h b/libs/windows/include/libavutil/pixdesc.h index 4f9c5a27..c055810a 100644 --- a/libs/windows/include/libavutil/pixdesc.h +++ b/libs/windows/include/libavutil/pixdesc.h @@ -343,7 +343,13 @@ char *av_get_pix_fmt_string(char *buf, int buf_size, * format writes the values corresponding to the palette * component c in data[1] to dst, rather than the palette indexes in * data[0]. The behavior is undefined if the format is not paletted. + * @param dst_element_size size of elements in dst array (2 or 4 byte) */ +void av_read_image_line2(void *dst, const uint8_t *data[4], + const int linesize[4], const AVPixFmtDescriptor *desc, + int x, int y, int c, int w, int read_pal_component, + int dst_element_size); + void av_read_image_line(uint16_t *dst, const uint8_t *data[4], const int linesize[4], const AVPixFmtDescriptor *desc, int x, int y, int c, int w, int read_pal_component); @@ -361,7 +367,12 @@ void av_read_image_line(uint16_t *dst, const uint8_t *data[4], * @param y the vertical coordinate of the first pixel to write * @param w the width of the line to write, that is the number of * values to write to the image line + * @param src_element_size size of elements in src array (2 or 4 byte) */ +void av_write_image_line2(const void *src, uint8_t *data[4], + const int linesize[4], const AVPixFmtDescriptor *desc, + int x, int y, int c, int w, int src_element_size); + void av_write_image_line(const uint16_t *src, uint8_t *data[4], const int linesize[4], const AVPixFmtDescriptor *desc, int x, int y, int c, int w); diff --git a/libs/windows/include/libavutil/pixfmt.h b/libs/windows/include/libavutil/pixfmt.h index aea008bb..6815f8dc 100644 --- a/libs/windows/include/libavutil/pixfmt.h +++ b/libs/windows/include/libavutil/pixfmt.h @@ -42,6 +42,10 @@ * This is stored as BGRA on little-endian CPU architectures and ARGB on * big-endian CPUs. * + * @note + * If the resolution is not a multiple of the chroma subsampling factor + * then the chroma plane resolution must be rounded up. + * * @par * When the pixel format is palettized RGB32 (AV_PIX_FMT_PAL8), the palettized * image data is stored in AVFrame.data[0]. The palette is transported in @@ -333,6 +337,9 @@ enum AVPixelFormat { AV_PIX_FMT_GRAY14BE, ///< Y , 14bpp, big-endian AV_PIX_FMT_GRAY14LE, ///< Y , 14bpp, little-endian + 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_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 }; @@ -401,6 +408,8 @@ enum AVPixelFormat { #define AV_PIX_FMT_GBRPF32 AV_PIX_FMT_NE(GBRPF32BE, GBRPF32LE) #define AV_PIX_FMT_GBRAPF32 AV_PIX_FMT_NE(GBRAPF32BE, GBRAPF32LE) +#define AV_PIX_FMT_GRAYF32 AV_PIX_FMT_NE(GRAYF32BE, GRAYF32LE) + #define AV_PIX_FMT_YUVA420P9 AV_PIX_FMT_NE(YUVA420P9BE , YUVA420P9LE) #define AV_PIX_FMT_YUVA422P9 AV_PIX_FMT_NE(YUVA422P9BE , YUVA422P9LE) #define AV_PIX_FMT_YUVA444P9 AV_PIX_FMT_NE(YUVA444P9BE , YUVA444P9LE) diff --git a/libs/windows/include/libavutil/version.h b/libs/windows/include/libavutil/version.h index 44bdebdc..8f6da6ae 100644 --- a/libs/windows/include/libavutil/version.h +++ b/libs/windows/include/libavutil/version.h @@ -79,8 +79,8 @@ */ #define LIBAVUTIL_VERSION_MAJOR 56 -#define LIBAVUTIL_VERSION_MINOR 18 -#define LIBAVUTIL_VERSION_MICRO 102 +#define LIBAVUTIL_VERSION_MINOR 22 +#define LIBAVUTIL_VERSION_MICRO 100 #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ LIBAVUTIL_VERSION_MINOR, \ diff --git a/libs/windows/lib/x64/avcodec-58.dll b/libs/windows/lib/x64/avcodec-58.dll index e517da31..a8fe9143 100644 Binary files a/libs/windows/lib/x64/avcodec-58.dll and b/libs/windows/lib/x64/avcodec-58.dll differ diff --git a/libs/windows/lib/x64/avcodec-58.pdb b/libs/windows/lib/x64/avcodec-58.pdb index 6c8a0925..95779f2a 100644 Binary files a/libs/windows/lib/x64/avcodec-58.pdb and b/libs/windows/lib/x64/avcodec-58.pdb differ diff --git a/libs/windows/lib/x64/avcodec.lib b/libs/windows/lib/x64/avcodec.lib index 6efe1e0f..0802b9fa 100644 Binary files a/libs/windows/lib/x64/avcodec.lib and b/libs/windows/lib/x64/avcodec.lib differ diff --git a/libs/windows/lib/x64/avutil-56.dll b/libs/windows/lib/x64/avutil-56.dll index 49e3bc80..21a15021 100644 Binary files a/libs/windows/lib/x64/avutil-56.dll and b/libs/windows/lib/x64/avutil-56.dll differ diff --git a/libs/windows/lib/x64/avutil-56.pdb b/libs/windows/lib/x64/avutil-56.pdb index 9dd9a059..d04802e2 100644 Binary files a/libs/windows/lib/x64/avutil-56.pdb and b/libs/windows/lib/x64/avutil-56.pdb differ diff --git a/libs/windows/lib/x64/avutil.lib b/libs/windows/lib/x64/avutil.lib index afff2895..64c5a5b4 100644 Binary files a/libs/windows/lib/x64/avutil.lib and b/libs/windows/lib/x64/avutil.lib differ diff --git a/libs/windows/lib/x86/avcodec-58.dll b/libs/windows/lib/x86/avcodec-58.dll index 19c5e3f7..48b4758d 100644 Binary files a/libs/windows/lib/x86/avcodec-58.dll and b/libs/windows/lib/x86/avcodec-58.dll differ diff --git a/libs/windows/lib/x86/avcodec-58.pdb b/libs/windows/lib/x86/avcodec-58.pdb index 7493db3f..9beed1db 100644 Binary files a/libs/windows/lib/x86/avcodec-58.pdb and b/libs/windows/lib/x86/avcodec-58.pdb differ diff --git a/libs/windows/lib/x86/avcodec.lib b/libs/windows/lib/x86/avcodec.lib index 33ec0693..8df33dbc 100644 Binary files a/libs/windows/lib/x86/avcodec.lib and b/libs/windows/lib/x86/avcodec.lib differ diff --git a/libs/windows/lib/x86/avutil-56.dll b/libs/windows/lib/x86/avutil-56.dll index 1a2484c9..274e82aa 100644 Binary files a/libs/windows/lib/x86/avutil-56.dll and b/libs/windows/lib/x86/avutil-56.dll differ diff --git a/libs/windows/lib/x86/avutil-56.pdb b/libs/windows/lib/x86/avutil-56.pdb index 9dc6e350..5de8ffd6 100644 Binary files a/libs/windows/lib/x86/avutil-56.pdb and b/libs/windows/lib/x86/avutil-56.pdb differ diff --git a/libs/windows/lib/x86/avutil.lib b/libs/windows/lib/x86/avutil.lib index fd927928..55190278 100644 Binary files a/libs/windows/lib/x86/avutil.lib and b/libs/windows/lib/x86/avutil.lib differ