case AV_PIX_FMT_YUV444P:
return 3;
+ case AV_PIX_FMT_BGR0:
case AV_PIX_FMT_BGR24:
case AV_PIX_FMT_RGB24:
return 1;
case AV_PIX_FMT_YUV444P9:
case AV_PIX_FMT_YUV444P10: return X264_CSP_I444;
#ifdef X264_CSP_BGR
+ case AV_PIX_FMT_BGR0:
+ return X264_CSP_BGRA;
case AV_PIX_FMT_BGR24:
return X264_CSP_BGR;
s = x264_encoder_headers(x4->enc, &nal, &nnal);
avctx->extradata = p = av_malloc(s);
if (!p)
- goto nomem;
+ return AVERROR(ENOMEM);
for (i = 0; i < nnal; i++) {
/* Don't put the SEI in extradata. */
x4->sei_size = nal[i].i_payload;
x4->sei = av_malloc(x4->sei_size);
if (!x4->sei)
- goto nomem;
+ return AVERROR(ENOMEM);
memcpy(x4->sei, nal[i].p_payload, nal[i].i_payload);
continue;
}
}
return 0;
-nomem:
- X264_close(avctx);
- return AVERROR(ENOMEM);
}
static const enum AVPixelFormat pix_fmts_8bit[] = {
};
static const enum AVPixelFormat pix_fmts_8bit_rgb[] = {
#ifdef X264_CSP_BGR
+ AV_PIX_FMT_BGR0,
AV_PIX_FMT_BGR24,
AV_PIX_FMT_RGB24,
#endif