* commit '5b4797a21db900b7d509660b7a4d49829089b004': avframe: add AV_FRAME_DATA_MATRIXENCODING side data type. Conflicts: libavutil/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>tags/n2.2-rc1
| @@ -15,6 +15,10 @@ libavutil: 2012-10-22 | |||||
| API changes, most recent first: | API changes, most recent first: | ||||
| 2013-12-xx - xxxxxxx - lavu 53.2.0 - frame.h | |||||
| Add AV_FRAME_DATA_MATRIXENCODING value to the AVFrameSideDataType enum, which | |||||
| identifies AVMatrixEncoding data. | |||||
| 2013-12-xx - xxxxxxx - lavu 53.1.0 - channel_layout.h | 2013-12-xx - xxxxxxx - lavu 53.1.0 - channel_layout.h | ||||
| Add values for various Dolby flags to the AVMatrixEncoding enum. | Add values for various Dolby flags to the AVMatrixEncoding enum. | ||||
| @@ -27,6 +27,7 @@ | |||||
| #include <stdint.h> | #include <stdint.h> | ||||
| #include "libavutil/buffer.h" | #include "libavutil/buffer.h" | ||||
| #include "libavutil/channel_layout.h" | |||||
| #include "libavutil/mathematics.h" | #include "libavutil/mathematics.h" | ||||
| #include "libavutil/pixfmt.h" | #include "libavutil/pixfmt.h" | ||||
| #include "avcodec.h" | #include "avcodec.h" | ||||
| @@ -238,4 +239,10 @@ const uint8_t *avpriv_find_start_code(const uint8_t *p, | |||||
| */ | */ | ||||
| int ff_set_dimensions(AVCodecContext *s, int width, int height); | int ff_set_dimensions(AVCodecContext *s, int width, int height); | ||||
| /** | |||||
| * Add or update AV_FRAME_DATA_MATRIXENCODING side data. | |||||
| */ | |||||
| int ff_side_data_update_matrix_encoding(AVFrame *frame, | |||||
| enum AVMatrixEncoding matrix_encoding); | |||||
| #endif /* AVCODEC_INTERNAL_H */ | #endif /* AVCODEC_INTERNAL_H */ | ||||
| @@ -252,6 +252,26 @@ int ff_set_dimensions(AVCodecContext *s, int width, int height) | |||||
| return ret; | return ret; | ||||
| } | } | ||||
| int ff_side_data_update_matrix_encoding(AVFrame *frame, | |||||
| enum AVMatrixEncoding matrix_encoding) | |||||
| { | |||||
| AVFrameSideData *side_data; | |||||
| enum AVMatrixEncoding *data; | |||||
| side_data = av_frame_get_side_data(frame, AV_FRAME_DATA_MATRIXENCODING); | |||||
| if (!side_data) | |||||
| side_data = av_frame_new_side_data(frame, AV_FRAME_DATA_MATRIXENCODING, | |||||
| sizeof(enum AVMatrixEncoding)); | |||||
| if (!side_data) | |||||
| return AVERROR(ENOMEM); | |||||
| data = (enum AVMatrixEncoding*)side_data->data; | |||||
| *data = matrix_encoding; | |||||
| return 0; | |||||
| } | |||||
| #if HAVE_NEON || ARCH_PPC || HAVE_MMX | #if HAVE_NEON || ARCH_PPC || HAVE_MMX | ||||
| # define STRIDE_ALIGN 16 | # define STRIDE_ALIGN 16 | ||||
| #else | #else | ||||
| @@ -69,6 +69,10 @@ enum AVFrameSideDataType { | |||||
| * The data is the AVStereo3D struct defined in libavutil/stereo3d.h. | * The data is the AVStereo3D struct defined in libavutil/stereo3d.h. | ||||
| */ | */ | ||||
| AV_FRAME_DATA_STEREO3D, | AV_FRAME_DATA_STEREO3D, | ||||
| /** | |||||
| * The data is the AVMatrixEncoding enum defined in libavutil/channel_layout.h. | |||||
| */ | |||||
| AV_FRAME_DATA_MATRIXENCODING, | |||||
| }; | }; | ||||
| typedef struct AVFrameSideData { | typedef struct AVFrameSideData { | ||||
| @@ -56,7 +56,7 @@ | |||||
| */ | */ | ||||
| #define LIBAVUTIL_VERSION_MAJOR 52 | #define LIBAVUTIL_VERSION_MAJOR 52 | ||||
| #define LIBAVUTIL_VERSION_MINOR 61 | |||||
| #define LIBAVUTIL_VERSION_MINOR 62 | |||||
| #define LIBAVUTIL_VERSION_MICRO 100 | #define LIBAVUTIL_VERSION_MICRO 100 | ||||
| #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ | #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ | ||||