Browse Source

Merge commit '5b4797a21db900b7d509660b7a4d49829089b004'

* 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
Michael Niedermayer 11 years ago
parent
commit
4cf4da9dc5
5 changed files with 36 additions and 1 deletions
  1. +4
    -0
      doc/APIchanges
  2. +7
    -0
      libavcodec/internal.h
  3. +20
    -0
      libavcodec/utils.c
  4. +4
    -0
      libavutil/frame.h
  5. +1
    -1
      libavutil/version.h

+ 4
- 0
doc/APIchanges View File

@@ -15,6 +15,10 @@ libavutil: 2012-10-22

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
Add values for various Dolby flags to the AVMatrixEncoding enum.



+ 7
- 0
libavcodec/internal.h View File

@@ -27,6 +27,7 @@
#include <stdint.h>

#include "libavutil/buffer.h"
#include "libavutil/channel_layout.h"
#include "libavutil/mathematics.h"
#include "libavutil/pixfmt.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);

/**
* 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 */

+ 20
- 0
libavcodec/utils.c View File

@@ -252,6 +252,26 @@ int ff_set_dimensions(AVCodecContext *s, int width, int height)
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
# define STRIDE_ALIGN 16
#else


+ 4
- 0
libavutil/frame.h View File

@@ -69,6 +69,10 @@ enum AVFrameSideDataType {
* The data is the AVStereo3D struct defined in libavutil/stereo3d.h.
*/
AV_FRAME_DATA_STEREO3D,
/**
* The data is the AVMatrixEncoding enum defined in libavutil/channel_layout.h.
*/
AV_FRAME_DATA_MATRIXENCODING,
};

typedef struct AVFrameSideData {


+ 1
- 1
libavutil/version.h View File

@@ -56,7 +56,7 @@
*/

#define LIBAVUTIL_VERSION_MAJOR 52
#define LIBAVUTIL_VERSION_MINOR 61
#define LIBAVUTIL_VERSION_MINOR 62
#define LIBAVUTIL_VERSION_MICRO 100

#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \


Loading…
Cancel
Save