diff options
author | Anton Khirnov <anton@khirnov.net> | 2016-06-22 11:41:26 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2016-07-03 09:13:29 +0200 |
commit | 536bb17e9659c5ed7576a218d4085cdd6d5742fa (patch) | |
tree | 2cd8eb3c14f5552967172f635bbfd1c833b7ec2b /libavcodec/qsvdec.c | |
parent | d20c118975220a0256027d1c2410bade94b8534d (diff) | |
download | ffmpeg-536bb17e9659c5ed7576a218d4085cdd6d5742fa.tar.gz |
qsvdec: make ff_qsv_map_pixfmt() return a MFX fourcc as well
Stop hardcoding NV12.
Also, move this function to the shared code, it will be used by the
encoder as well.
Diffstat (limited to 'libavcodec/qsvdec.c')
-rw-r--r-- | libavcodec/qsvdec.c | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/libavcodec/qsvdec.c b/libavcodec/qsvdec.c index 0215761335..2b01d34624 100644 --- a/libavcodec/qsvdec.c +++ b/libavcodec/qsvdec.c @@ -40,17 +40,6 @@ #include "qsv_internal.h" #include "qsvdec.h" -int ff_qsv_map_pixfmt(enum AVPixelFormat format) -{ - switch (format) { - case AV_PIX_FMT_YUV420P: - case AV_PIX_FMT_YUVJ420P: - return AV_PIX_FMT_NV12; - default: - return AVERROR(ENOSYS); - } -} - static int qsv_init_session(AVCodecContext *avctx, QSVContext *q, mfxSession session, AVBufferRef *hw_frames_ref) { @@ -150,7 +139,7 @@ static int qsv_decode_init(AVCodecContext *avctx, QSVContext *q) param.mfx.FrameInfo.BitDepthLuma = 8; param.mfx.FrameInfo.BitDepthChroma = 8; param.mfx.FrameInfo.Shift = 0; - param.mfx.FrameInfo.FourCC = MFX_FOURCC_NV12; + param.mfx.FrameInfo.FourCC = q->fourcc; param.mfx.FrameInfo.Width = avctx->coded_width; param.mfx.FrameInfo.Height = avctx->coded_height; param.mfx.FrameInfo.ChromaFormat = MFX_CHROMAFORMAT_YUV420; @@ -463,7 +452,7 @@ int ff_qsv_process_data(AVCodecContext *avctx, QSVContext *q, AV_PIX_FMT_NONE }; enum AVPixelFormat qsv_format; - qsv_format = ff_qsv_map_pixfmt(q->parser->format); + qsv_format = ff_qsv_map_pixfmt(q->parser->format, &q->fourcc); if (qsv_format < 0) { av_log(avctx, AV_LOG_ERROR, "Only 8-bit YUV420 streams are supported.\n"); |