diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2013-07-17 22:41:39 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-07-23 03:11:28 +0200 |
commit | abc8110f7e54fc009895c659ce2a977fb0d697c5 (patch) | |
tree | c6861fd1376876d78bdfb177853673c1d80073f4 /libavcodec | |
parent | b7397857e20d5ad25e6c59a7d052bd61fe224e10 (diff) | |
download | ffmpeg-abc8110f7e54fc009895c659ce2a977fb0d697c5.tar.gz |
avcodec: add avcodec_chroma_pos_to_enum()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/avcodec.h | 11 | ||||
-rw-r--r-- | libavcodec/utils.c | 11 | ||||
-rw-r--r-- | libavcodec/version.h | 4 |
3 files changed, 24 insertions, 2 deletions
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index bcef2a454d..98217b8be5 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -3617,6 +3617,17 @@ void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height, */ int avcodec_enum_to_chroma_pos(int *xpos, int *ypos, enum AVChromaLocation pos); +/** + * Converts swscale x/y chroma position to AVChromaLocation. + * + * The positions represent the chroma (0,0) position in a coordinates system + * with luma (0,0) representing the origin and luma(1,1) representing 256,256 + * + * @param xpos horizontal chroma sample position + * @param ypos vertical chroma sample position + */ +enum AVChromaLocation avcodec_chroma_pos_to_enum(int xpos, int ypos); + #if FF_API_OLD_DECODE_AUDIO /** * Wrapper function which calls avcodec_decode_audio4. diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 0b33170079..64bae3eea5 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -350,6 +350,17 @@ int avcodec_enum_to_chroma_pos(int *xpos, int *ypos, enum AVChromaLocation pos) return 0; } +enum AVChromaLocation avcodec_chroma_pos_to_enum(int xpos, int ypos) +{ + int pos, xout, yout; + + for (pos = AVCHROMA_LOC_UNSPECIFIED + 1; pos < AVCHROMA_LOC_NB; pos++) { + if (avcodec_enum_to_chroma_pos(&xout, &yout, pos) == 0 && xout == xpos && yout == ypos) + return pos; + } + return AVCHROMA_LOC_UNSPECIFIED; +} + int avcodec_fill_audio_frame(AVFrame *frame, int nb_channels, enum AVSampleFormat sample_fmt, const uint8_t *buf, int buf_size, int align) diff --git a/libavcodec/version.h b/libavcodec/version.h index 32834460b5..06777bf3a0 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -29,8 +29,8 @@ #include "libavutil/avutil.h" #define LIBAVCODEC_VERSION_MAJOR 55 -#define LIBAVCODEC_VERSION_MINOR 18 -#define LIBAVCODEC_VERSION_MICRO 102 +#define LIBAVCODEC_VERSION_MINOR 19 +#define LIBAVCODEC_VERSION_MICRO 100 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ LIBAVCODEC_VERSION_MINOR, \ |