Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mpc-hc/LAVFilters.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'decoder/LAVVideo/decoders/avcodec.cpp')
-rw-r--r--decoder/LAVVideo/decoders/avcodec.cpp242
1 files changed, 121 insertions, 121 deletions
diff --git a/decoder/LAVVideo/decoders/avcodec.cpp b/decoder/LAVVideo/decoders/avcodec.cpp
index 965deff5..43e78f05 100644
--- a/decoder/LAVVideo/decoders/avcodec.cpp
+++ b/decoder/LAVVideo/decoders/avcodec.cpp
@@ -105,7 +105,7 @@ static DXVA2_ExtendedFormat GetDXVA2ExtendedFlags(AVCodecContext *ctx, AVFrame *
}
// Color Range, 0-255 or 16-235
- BOOL ffFullRange = (ctx->color_range == AVCOL_RANGE_JPEG) || frame->format == PIX_FMT_YUVJ420P || frame->format == PIX_FMT_YUVJ422P || frame->format == PIX_FMT_YUVJ444P || frame->format == PIX_FMT_YUVJ440P;
+ BOOL ffFullRange = (ctx->color_range == AVCOL_RANGE_JPEG) || frame->format == AV_PIX_FMT_YUVJ420P || frame->format == AV_PIX_FMT_YUVJ422P || frame->format == AV_PIX_FMT_YUVJ444P || frame->format == AV_PIX_FMT_YUVJ440P;
fmt.NominalRange = ffFullRange ? DXVA2_NominalRange_0_255 : (ctx->color_range == AVCOL_RANGE_MPEG) ? DXVA2_NominalRange_16_235 : DXVA2_NominalRange_Unknown;
return fmt;
@@ -123,121 +123,121 @@ static struct PixelFormatMapping {
BOOL conversion;
int bpp;
} ff_pix_map[] = {
- { PIX_FMT_YUV420P, LAVPixFmt_YUV420, FALSE },
- { PIX_FMT_YUYV422, LAVPixFmt_YUY2, FALSE },
- { PIX_FMT_RGB24, LAVPixFmt_RGB32, TRUE },
- { PIX_FMT_BGR24, LAVPixFmt_RGB24, FALSE },
- { PIX_FMT_YUV422P, LAVPixFmt_YUV422, FALSE },
- { PIX_FMT_YUV444P, LAVPixFmt_YUV444, FALSE },
- { PIX_FMT_YUV410P, LAVPixFmt_YUV420, TRUE },
- { PIX_FMT_YUV411P, LAVPixFmt_YUV422, TRUE },
- { PIX_FMT_GRAY8, LAVPixFmt_YUV420, TRUE },
- { PIX_FMT_MONOWHITE, LAVPixFmt_YUV420, TRUE },
- { PIX_FMT_MONOBLACK, LAVPixFmt_YUV420, TRUE },
- { PIX_FMT_PAL8, LAVPixFmt_RGB32, TRUE },
- { PIX_FMT_YUVJ420P, LAVPixFmt_YUV420, FALSE },
- { PIX_FMT_YUVJ422P, LAVPixFmt_YUV422, FALSE },
- { PIX_FMT_YUVJ444P, LAVPixFmt_YUV444, FALSE },
- { PIX_FMT_UYVY422, LAVPixFmt_YUV422, TRUE },
- { PIX_FMT_UYYVYY411, LAVPixFmt_YUV422, TRUE },
- { PIX_FMT_BGR8, LAVPixFmt_RGB32, TRUE },
- { PIX_FMT_BGR4, LAVPixFmt_RGB32, TRUE },
- { PIX_FMT_BGR4_BYTE, LAVPixFmt_RGB32, TRUE },
- { PIX_FMT_RGB8, LAVPixFmt_RGB32, TRUE },
- { PIX_FMT_RGB4, LAVPixFmt_RGB32, TRUE },
- { PIX_FMT_RGB4_BYTE, LAVPixFmt_RGB32, TRUE },
- { PIX_FMT_NV12, LAVPixFmt_NV12, FALSE },
- { PIX_FMT_NV21, LAVPixFmt_NV12, TRUE },
-
- { PIX_FMT_ARGB, LAVPixFmt_ARGB32, TRUE },
- { PIX_FMT_RGBA, LAVPixFmt_ARGB32, TRUE },
- { PIX_FMT_ABGR, LAVPixFmt_ARGB32, TRUE },
- { PIX_FMT_BGRA, LAVPixFmt_ARGB32, FALSE },
-
- { PIX_FMT_GRAY16BE, LAVPixFmt_YUV420, TRUE },
- { PIX_FMT_GRAY16LE, LAVPixFmt_YUV420, TRUE },
- { PIX_FMT_YUV440P, LAVPixFmt_YUV444, TRUE },
- { PIX_FMT_YUVJ440P, LAVPixFmt_YUV444, TRUE },
- { PIX_FMT_YUVA420P, LAVPixFmt_YUV420, TRUE },
- { PIX_FMT_RGB48BE, LAVPixFmt_RGB48, TRUE },
- { PIX_FMT_RGB48LE, LAVPixFmt_RGB48, TRUE },
-
- { PIX_FMT_RGB565BE, LAVPixFmt_RGB32, TRUE },
- { PIX_FMT_RGB565LE, LAVPixFmt_RGB32, TRUE },
- { PIX_FMT_RGB555BE, LAVPixFmt_RGB32, TRUE },
- { PIX_FMT_RGB555LE, LAVPixFmt_RGB32, TRUE },
-
- { PIX_FMT_BGR565BE, LAVPixFmt_RGB32, TRUE },
- { PIX_FMT_BGR565LE, LAVPixFmt_RGB32, TRUE },
- { PIX_FMT_BGR555BE, LAVPixFmt_RGB32, TRUE },
- { PIX_FMT_BGR555LE, LAVPixFmt_RGB32, TRUE },
-
- { PIX_FMT_YUV420P16LE, LAVPixFmt_YUV420bX, FALSE, 16 },
- { PIX_FMT_YUV420P16BE, LAVPixFmt_YUV420bX, TRUE, 16 },
- { PIX_FMT_YUV422P16LE, LAVPixFmt_YUV422bX, FALSE, 16 },
- { PIX_FMT_YUV422P16BE, LAVPixFmt_YUV422bX, TRUE, 16 },
- { PIX_FMT_YUV444P16LE, LAVPixFmt_YUV444bX, FALSE, 16 },
- { PIX_FMT_YUV444P16BE, LAVPixFmt_YUV444bX, TRUE, 16 },
-
- { PIX_FMT_RGB444LE, LAVPixFmt_RGB32, TRUE },
- { PIX_FMT_RGB444BE, LAVPixFmt_RGB32, TRUE },
- { PIX_FMT_BGR444LE, LAVPixFmt_RGB32, TRUE },
- { PIX_FMT_BGR444BE, LAVPixFmt_RGB32, TRUE },
- { PIX_FMT_GRAY8A, LAVPixFmt_YUV420, TRUE },
- { PIX_FMT_BGR48BE, LAVPixFmt_RGB48, TRUE },
- { PIX_FMT_BGR48LE, LAVPixFmt_RGB48, FALSE },
-
- { PIX_FMT_YUV420P9BE, LAVPixFmt_YUV420bX, TRUE, 9 },
- { PIX_FMT_YUV420P9LE, LAVPixFmt_YUV420bX, FALSE, 9 },
- { PIX_FMT_YUV420P10BE, LAVPixFmt_YUV420bX, TRUE, 10 },
- { PIX_FMT_YUV420P10LE, LAVPixFmt_YUV420bX, FALSE, 10 },
- { PIX_FMT_YUV422P10BE, LAVPixFmt_YUV422bX, TRUE, 10 },
- { PIX_FMT_YUV422P10LE, LAVPixFmt_YUV422bX, FALSE, 10 },
- { PIX_FMT_YUV444P9BE, LAVPixFmt_YUV444bX, TRUE, 9 },
- { PIX_FMT_YUV444P9LE, LAVPixFmt_YUV444bX, FALSE, 9 },
- { PIX_FMT_YUV444P10BE, LAVPixFmt_YUV444bX, TRUE, 10 },
- { PIX_FMT_YUV444P10LE, LAVPixFmt_YUV444bX, FALSE, 10 },
- { PIX_FMT_YUV422P9BE, LAVPixFmt_YUV422bX, TRUE, 9 },
- { PIX_FMT_YUV422P9LE, LAVPixFmt_YUV422bX, FALSE, 9 },
-
- { PIX_FMT_GBRP, LAVPixFmt_RGB32, TRUE },
- { PIX_FMT_GBRP9BE, LAVPixFmt_RGB48, TRUE },
- { PIX_FMT_GBRP9LE, LAVPixFmt_RGB48, TRUE },
- { PIX_FMT_GBRP10BE, LAVPixFmt_RGB48, TRUE },
- { PIX_FMT_GBRP10LE, LAVPixFmt_RGB48, TRUE },
- { PIX_FMT_GBRP16BE, LAVPixFmt_RGB48, TRUE },
- { PIX_FMT_GBRP16LE, LAVPixFmt_RGB48, TRUE },
-
- { PIX_FMT_RGBA64BE, LAVPixFmt_RGB48, TRUE },
- { PIX_FMT_RGBA64LE, LAVPixFmt_RGB48, TRUE },
- { PIX_FMT_BGRA64BE, LAVPixFmt_RGB48, TRUE },
- { PIX_FMT_BGRA64LE, LAVPixFmt_RGB48, TRUE },
-
- { PIX_FMT_0RGB, LAVPixFmt_RGB32, TRUE },
- { PIX_FMT_RGB0, LAVPixFmt_RGB32, TRUE },
- { PIX_FMT_0BGR, LAVPixFmt_RGB32, TRUE },
- { PIX_FMT_BGR0, LAVPixFmt_RGB32, FALSE },
- { PIX_FMT_YUVA444P, LAVPixFmt_YUV444, TRUE },
- { PIX_FMT_YUVA422P, LAVPixFmt_YUV422, TRUE },
-
- { PIX_FMT_YUV420P12BE, LAVPixFmt_YUV420bX, TRUE, 12 },
- { PIX_FMT_YUV420P12LE, LAVPixFmt_YUV420bX, FALSE, 12 },
- { PIX_FMT_YUV420P14BE, LAVPixFmt_YUV420bX, TRUE, 14 },
- { PIX_FMT_YUV420P14LE, LAVPixFmt_YUV420bX, FALSE, 14 },
- { PIX_FMT_YUV422P12BE, LAVPixFmt_YUV422bX, TRUE, 12 },
- { PIX_FMT_YUV422P12LE, LAVPixFmt_YUV422bX, FALSE, 12 },
- { PIX_FMT_YUV422P14BE, LAVPixFmt_YUV422bX, TRUE, 14 },
- { PIX_FMT_YUV422P14LE, LAVPixFmt_YUV422bX, FALSE, 14 },
- { PIX_FMT_YUV444P12BE, LAVPixFmt_YUV444bX, TRUE, 12 },
- { PIX_FMT_YUV444P12LE, LAVPixFmt_YUV444bX, FALSE, 12 },
- { PIX_FMT_YUV444P14BE, LAVPixFmt_YUV444bX, TRUE, 14 },
- { PIX_FMT_YUV444P14LE, LAVPixFmt_YUV444bX, FALSE, 14 },
- { PIX_FMT_GBRP12BE, LAVPixFmt_RGB48, TRUE },
- { PIX_FMT_GBRP12LE, LAVPixFmt_RGB48, TRUE },
- { PIX_FMT_GBRP14BE, LAVPixFmt_RGB48, TRUE },
- { PIX_FMT_GBRP14LE, LAVPixFmt_RGB48, TRUE },
-
- { PIX_FMT_DXVA2_VLD, LAVPixFmt_DXVA2, FALSE },
+ { AV_PIX_FMT_YUV420P, LAVPixFmt_YUV420, FALSE },
+ { AV_PIX_FMT_YUYV422, LAVPixFmt_YUY2, FALSE },
+ { AV_PIX_FMT_RGB24, LAVPixFmt_RGB32, TRUE },
+ { AV_PIX_FMT_BGR24, LAVPixFmt_RGB24, FALSE },
+ { AV_PIX_FMT_YUV422P, LAVPixFmt_YUV422, FALSE },
+ { AV_PIX_FMT_YUV444P, LAVPixFmt_YUV444, FALSE },
+ { AV_PIX_FMT_YUV410P, LAVPixFmt_YUV420, TRUE },
+ { AV_PIX_FMT_YUV411P, LAVPixFmt_YUV422, TRUE },
+ { AV_PIX_FMT_GRAY8, LAVPixFmt_YUV420, TRUE },
+ { AV_PIX_FMT_MONOWHITE, LAVPixFmt_YUV420, TRUE },
+ { AV_PIX_FMT_MONOBLACK, LAVPixFmt_YUV420, TRUE },
+ { AV_PIX_FMT_PAL8, LAVPixFmt_RGB32, TRUE },
+ { AV_PIX_FMT_YUVJ420P, LAVPixFmt_YUV420, FALSE },
+ { AV_PIX_FMT_YUVJ422P, LAVPixFmt_YUV422, FALSE },
+ { AV_PIX_FMT_YUVJ444P, LAVPixFmt_YUV444, FALSE },
+ { AV_PIX_FMT_UYVY422, LAVPixFmt_YUV422, TRUE },
+ { AV_PIX_FMT_UYYVYY411, LAVPixFmt_YUV422, TRUE },
+ { AV_PIX_FMT_BGR8, LAVPixFmt_RGB32, TRUE },
+ { AV_PIX_FMT_BGR4, LAVPixFmt_RGB32, TRUE },
+ { AV_PIX_FMT_BGR4_BYTE, LAVPixFmt_RGB32, TRUE },
+ { AV_PIX_FMT_RGB8, LAVPixFmt_RGB32, TRUE },
+ { AV_PIX_FMT_RGB4, LAVPixFmt_RGB32, TRUE },
+ { AV_PIX_FMT_RGB4_BYTE, LAVPixFmt_RGB32, TRUE },
+ { AV_PIX_FMT_NV12, LAVPixFmt_NV12, FALSE },
+ { AV_PIX_FMT_NV21, LAVPixFmt_NV12, TRUE },
+
+ { AV_PIX_FMT_ARGB, LAVPixFmt_ARGB32, TRUE },
+ { AV_PIX_FMT_RGBA, LAVPixFmt_ARGB32, TRUE },
+ { AV_PIX_FMT_ABGR, LAVPixFmt_ARGB32, TRUE },
+ { AV_PIX_FMT_BGRA, LAVPixFmt_ARGB32, FALSE },
+
+ { AV_PIX_FMT_GRAY16BE, LAVPixFmt_YUV420, TRUE },
+ { AV_PIX_FMT_GRAY16LE, LAVPixFmt_YUV420, TRUE },
+ { AV_PIX_FMT_YUV440P, LAVPixFmt_YUV444, TRUE },
+ { AV_PIX_FMT_YUVJ440P, LAVPixFmt_YUV444, TRUE },
+ { AV_PIX_FMT_YUVA420P, LAVPixFmt_YUV420, TRUE },
+ { AV_PIX_FMT_RGB48BE, LAVPixFmt_RGB48, TRUE },
+ { AV_PIX_FMT_RGB48LE, LAVPixFmt_RGB48, TRUE },
+
+ { AV_PIX_FMT_RGB565BE, LAVPixFmt_RGB32, TRUE },
+ { AV_PIX_FMT_RGB565LE, LAVPixFmt_RGB32, TRUE },
+ { AV_PIX_FMT_RGB555BE, LAVPixFmt_RGB32, TRUE },
+ { AV_PIX_FMT_RGB555LE, LAVPixFmt_RGB32, TRUE },
+
+ { AV_PIX_FMT_BGR565BE, LAVPixFmt_RGB32, TRUE },
+ { AV_PIX_FMT_BGR565LE, LAVPixFmt_RGB32, TRUE },
+ { AV_PIX_FMT_BGR555BE, LAVPixFmt_RGB32, TRUE },
+ { AV_PIX_FMT_BGR555LE, LAVPixFmt_RGB32, TRUE },
+
+ { AV_PIX_FMT_YUV420P16LE, LAVPixFmt_YUV420bX, FALSE, 16 },
+ { AV_PIX_FMT_YUV420P16BE, LAVPixFmt_YUV420bX, TRUE, 16 },
+ { AV_PIX_FMT_YUV422P16LE, LAVPixFmt_YUV422bX, FALSE, 16 },
+ { AV_PIX_FMT_YUV422P16BE, LAVPixFmt_YUV422bX, TRUE, 16 },
+ { AV_PIX_FMT_YUV444P16LE, LAVPixFmt_YUV444bX, FALSE, 16 },
+ { AV_PIX_FMT_YUV444P16BE, LAVPixFmt_YUV444bX, TRUE, 16 },
+
+ { AV_PIX_FMT_RGB444LE, LAVPixFmt_RGB32, TRUE },
+ { AV_PIX_FMT_RGB444BE, LAVPixFmt_RGB32, TRUE },
+ { AV_PIX_FMT_BGR444LE, LAVPixFmt_RGB32, TRUE },
+ { AV_PIX_FMT_BGR444BE, LAVPixFmt_RGB32, TRUE },
+ { AV_PIX_FMT_GRAY8A, LAVPixFmt_YUV420, TRUE },
+ { AV_PIX_FMT_BGR48BE, LAVPixFmt_RGB48, TRUE },
+ { AV_PIX_FMT_BGR48LE, LAVPixFmt_RGB48, FALSE },
+
+ { AV_PIX_FMT_YUV420P9BE, LAVPixFmt_YUV420bX, TRUE, 9 },
+ { AV_PIX_FMT_YUV420P9LE, LAVPixFmt_YUV420bX, FALSE, 9 },
+ { AV_PIX_FMT_YUV420P10BE, LAVPixFmt_YUV420bX, TRUE, 10 },
+ { AV_PIX_FMT_YUV420P10LE, LAVPixFmt_YUV420bX, FALSE, 10 },
+ { AV_PIX_FMT_YUV422P10BE, LAVPixFmt_YUV422bX, TRUE, 10 },
+ { AV_PIX_FMT_YUV422P10LE, LAVPixFmt_YUV422bX, FALSE, 10 },
+ { AV_PIX_FMT_YUV444P9BE, LAVPixFmt_YUV444bX, TRUE, 9 },
+ { AV_PIX_FMT_YUV444P9LE, LAVPixFmt_YUV444bX, FALSE, 9 },
+ { AV_PIX_FMT_YUV444P10BE, LAVPixFmt_YUV444bX, TRUE, 10 },
+ { AV_PIX_FMT_YUV444P10LE, LAVPixFmt_YUV444bX, FALSE, 10 },
+ { AV_PIX_FMT_YUV422P9BE, LAVPixFmt_YUV422bX, TRUE, 9 },
+ { AV_PIX_FMT_YUV422P9LE, LAVPixFmt_YUV422bX, FALSE, 9 },
+
+ { AV_PIX_FMT_GBRP, LAVPixFmt_RGB32, TRUE },
+ { AV_PIX_FMT_GBRP9BE, LAVPixFmt_RGB48, TRUE },
+ { AV_PIX_FMT_GBRP9LE, LAVPixFmt_RGB48, TRUE },
+ { AV_PIX_FMT_GBRP10BE, LAVPixFmt_RGB48, TRUE },
+ { AV_PIX_FMT_GBRP10LE, LAVPixFmt_RGB48, TRUE },
+ { AV_PIX_FMT_GBRP16BE, LAVPixFmt_RGB48, TRUE },
+ { AV_PIX_FMT_GBRP16LE, LAVPixFmt_RGB48, TRUE },
+
+ { AV_PIX_FMT_RGBA64BE, LAVPixFmt_RGB48, TRUE },
+ { AV_PIX_FMT_RGBA64LE, LAVPixFmt_RGB48, TRUE },
+ { AV_PIX_FMT_BGRA64BE, LAVPixFmt_RGB48, TRUE },
+ { AV_PIX_FMT_BGRA64LE, LAVPixFmt_RGB48, TRUE },
+
+ { AV_PIX_FMT_0RGB, LAVPixFmt_RGB32, TRUE },
+ { AV_PIX_FMT_RGB0, LAVPixFmt_RGB32, TRUE },
+ { AV_PIX_FMT_0BGR, LAVPixFmt_RGB32, TRUE },
+ { AV_PIX_FMT_BGR0, LAVPixFmt_RGB32, FALSE },
+ { AV_PIX_FMT_YUVA444P, LAVPixFmt_YUV444, TRUE },
+ { AV_PIX_FMT_YUVA422P, LAVPixFmt_YUV422, TRUE },
+
+ { AV_PIX_FMT_YUV420P12BE, LAVPixFmt_YUV420bX, TRUE, 12 },
+ { AV_PIX_FMT_YUV420P12LE, LAVPixFmt_YUV420bX, FALSE, 12 },
+ { AV_PIX_FMT_YUV420P14BE, LAVPixFmt_YUV420bX, TRUE, 14 },
+ { AV_PIX_FMT_YUV420P14LE, LAVPixFmt_YUV420bX, FALSE, 14 },
+ { AV_PIX_FMT_YUV422P12BE, LAVPixFmt_YUV422bX, TRUE, 12 },
+ { AV_PIX_FMT_YUV422P12LE, LAVPixFmt_YUV422bX, FALSE, 12 },
+ { AV_PIX_FMT_YUV422P14BE, LAVPixFmt_YUV422bX, TRUE, 14 },
+ { AV_PIX_FMT_YUV422P14LE, LAVPixFmt_YUV422bX, FALSE, 14 },
+ { AV_PIX_FMT_YUV444P12BE, LAVPixFmt_YUV444bX, TRUE, 12 },
+ { AV_PIX_FMT_YUV444P12LE, LAVPixFmt_YUV444bX, FALSE, 12 },
+ { AV_PIX_FMT_YUV444P14BE, LAVPixFmt_YUV444bX, TRUE, 14 },
+ { AV_PIX_FMT_YUV444P14LE, LAVPixFmt_YUV444bX, FALSE, 14 },
+ { AV_PIX_FMT_GBRP12BE, LAVPixFmt_RGB48, TRUE },
+ { AV_PIX_FMT_GBRP12LE, LAVPixFmt_RGB48, TRUE },
+ { AV_PIX_FMT_GBRP14BE, LAVPixFmt_RGB48, TRUE },
+ { AV_PIX_FMT_GBRP14LE, LAVPixFmt_RGB48, TRUE },
+
+ { AV_PIX_FMT_DXVA2_VLD, LAVPixFmt_DXVA2, FALSE },
};
static AVCodecID ff_interlace_capable[] = {
@@ -565,9 +565,9 @@ STDMETHODIMP CDecAvcodec::InitDecoder(AVCodecID codec, const CMediaType *pmt)
CMPEG2HeaderParser mpeg2Parser(extra, extralen);
if (mpeg2Parser.hdr.valid) {
if (mpeg2Parser.hdr.chroma < 2) {
- m_pAVCtx->pix_fmt = PIX_FMT_YUV420P;
+ m_pAVCtx->pix_fmt = AV_PIX_FMT_YUV420P;
} else if (mpeg2Parser.hdr.chroma == 2) {
- m_pAVCtx->pix_fmt = PIX_FMT_YUV422P;
+ m_pAVCtx->pix_fmt = AV_PIX_FMT_YUV422P;
}
m_iInterlaced = mpeg2Parser.hdr.interlaced;
}
@@ -587,9 +587,9 @@ STDMETHODIMP CDecAvcodec::InitDecoder(AVCodecID codec, const CMediaType *pmt)
}
if (codec == AV_CODEC_ID_DNXHD)
- m_pAVCtx->pix_fmt = PIX_FMT_YUV422P10;
+ m_pAVCtx->pix_fmt = AV_PIX_FMT_YUV422P10;
else if (codec == AV_CODEC_ID_FRAPS)
- m_pAVCtx->pix_fmt = PIX_FMT_BGR24;
+ m_pAVCtx->pix_fmt = AV_PIX_FMT_BGR24;
if (bLAVInfoValid && codec != AV_CODEC_ID_FRAPS && m_pAVCtx->pix_fmt != AV_PIX_FMT_DXVA2_VLD)
m_pAVCtx->pix_fmt = lavPinInfo.pix_fmt;
@@ -988,7 +988,7 @@ STDMETHODIMP CDecAvcodec::EndOfStream()
STDMETHODIMP CDecAvcodec::GetPixelFormat(LAVPixelFormat *pPix, int *pBpp)
{
- PixelFormat pixfmt = m_pAVCtx ? m_pAVCtx->pix_fmt : PIX_FMT_NONE;
+ PixelFormat pixfmt = m_pAVCtx ? m_pAVCtx->pix_fmt : AV_PIX_FMT_NONE;
PixelFormatMapping mapping = getPixFmtMapping(pixfmt);
if (pPix)
*pPix = mapping.lavpixfmt;