Commit d16079ab authored by Michael Niedermayer's avatar Michael Niedermayer

Merge commit '57b6704e'

* commit '57b6704e':
  avcodec: add AVCodecContext.sw_pix_fmt

Conflicts:
	doc/APIchanges
	libavcodec/avcodec.h
	libavcodec/version.h
Merged-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parents 57089084 57b6704e
...@@ -15,6 +15,9 @@ libavutil: 2014-08-09 ...@@ -15,6 +15,9 @@ libavutil: 2014-08-09
API changes, most recent first: API changes, most recent first:
201x-xx-xx - xxxxxxx - lavc 56.8.0 - avcodec.h
Add AVCodecContext.sw_pix_fmt.
2014-12-04 - xxxxxxx - lavc 56.14.100 - dv_profile.h 2014-12-04 - xxxxxxx - lavc 56.14.100 - dv_profile.h
Add av_dv_codec_profile2(). Add av_dv_codec_profile2().
......
...@@ -3004,6 +3004,13 @@ typedef struct AVCodecContext { ...@@ -3004,6 +3004,13 @@ typedef struct AVCodecContext {
*/ */
AVRational framerate; AVRational framerate;
/**
* Nominal unaccelerated pixel format, see AV_PIX_FMT_xxx.
* - encoding: unused.
* - decoding: Set by libavcodec before calling get_format()
*/
enum AVPixelFormat sw_pix_fmt;
/** /**
* Timebase in which pkt_dts/pts and AVPacket.dts/pts are. * Timebase in which pkt_dts/pts and AVPacket.dts/pts are.
* Code outside libavcodec should access this field using: * Code outside libavcodec should access this field using:
......
...@@ -890,10 +890,13 @@ static int get_buffer_internal(AVCodecContext *avctx, AVFrame *frame, int flags) ...@@ -890,10 +890,13 @@ static int get_buffer_internal(AVCodecContext *avctx, AVFrame *frame, int flags)
if ((ret = ff_init_buffer_info(avctx, frame)) < 0) if ((ret = ff_init_buffer_info(avctx, frame)) < 0)
return ret; return ret;
if (hwaccel && hwaccel->alloc_frame) { if (hwaccel) {
ret = hwaccel->alloc_frame(avctx, frame); if (hwaccel->alloc_frame) {
goto end; ret = hwaccel->alloc_frame(avctx, frame);
} goto end;
}
} else
avctx->sw_pix_fmt = avctx->pix_fmt;
#if FF_API_GET_BUFFER #if FF_API_GET_BUFFER
FF_DISABLE_DEPRECATION_WARNINGS FF_DISABLE_DEPRECATION_WARNINGS
...@@ -1196,6 +1199,10 @@ int ff_get_format(AVCodecContext *avctx, const enum AVPixelFormat *fmt) ...@@ -1196,6 +1199,10 @@ int ff_get_format(AVCodecContext *avctx, const enum AVPixelFormat *fmt)
while (fmt[n] != AV_PIX_FMT_NONE) while (fmt[n] != AV_PIX_FMT_NONE)
++n; ++n;
av_assert0(n >= 1);
avctx->sw_pix_fmt = fmt[n - 1];
av_assert2(!is_hwaccel_pix_fmt(avctx->sw_pix_fmt));
choices = av_malloc_array(n + 1, sizeof(*choices)); choices = av_malloc_array(n + 1, sizeof(*choices));
if (!choices) if (!choices)
return AV_PIX_FMT_NONE; return AV_PIX_FMT_NONE;
......
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
#include "libavutil/version.h" #include "libavutil/version.h"
#define LIBAVCODEC_VERSION_MAJOR 56 #define LIBAVCODEC_VERSION_MAJOR 56
#define LIBAVCODEC_VERSION_MINOR 16 #define LIBAVCODEC_VERSION_MINOR 17
#define LIBAVCODEC_VERSION_MICRO 100 #define LIBAVCODEC_VERSION_MICRO 100
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment