76 lines
2.3 KiB
Diff
76 lines
2.3 KiB
Diff
Submitted By: Bruce Dubbs <bdubbs@linuxfromscratch.org>
|
|
Date: 2018-08-24
|
|
Initial Package Version: 1.3.0
|
|
Upstream Status: Applied
|
|
Origin: Upstream commit log (http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=2a111c99a60fdf4fe5eea2b073901630190c6c93) + local changes
|
|
Description: Fixes compilation with x264.
|
|
|
|
--- ffmpeg/libavcodec/libx264.c.orig 2018-08-24 12:27:37.716498689 -0500
|
|
+++ ffmpeg/libavcodec/libx264.c 2018-08-24 12:33:56.339997152 -0500
|
|
@@ -268,7 +268,7 @@
|
|
|
|
x264_picture_init( &x4->pic );
|
|
x4->pic.img.i_csp = x4->params.i_csp;
|
|
- if (x264_bit_depth > 8)
|
|
+ if (X264_BIT_DEPTH > 8)
|
|
x4->pic.img.i_csp |= X264_CSP_HIGH_DEPTH;
|
|
x4->pic.img.i_plane = avfmt2_num_planes(ctx->pix_fmt);
|
|
|
|
@@ -745,6 +745,9 @@
|
|
|
|
x4->params.i_width = avctx->width;
|
|
x4->params.i_height = avctx->height;
|
|
+#if X264_BUILD >= 153
|
|
+ x4->params.i_bitdepth = av_pix_fmt_desc_get(avctx->pix_fmt)->comp[0].depth;
|
|
+#endif
|
|
av_reduce(&sw, &sh, avctx->sample_aspect_ratio.num, avctx->sample_aspect_ratio.den, 4096);
|
|
x4->params.vui.i_sar_width = sw;
|
|
x4->params.vui.i_sar_height = sh;
|
|
@@ -858,6 +861,28 @@
|
|
return 0;
|
|
}
|
|
|
|
+static const enum AVPixelFormat pix_fmts[] = {
|
|
+ AV_PIX_FMT_YUV420P,
|
|
+ AV_PIX_FMT_YUVJ420P,
|
|
+ AV_PIX_FMT_YUV422P,
|
|
+ AV_PIX_FMT_YUVJ422P,
|
|
+ AV_PIX_FMT_YUV444P,
|
|
+ AV_PIX_FMT_YUVJ444P,
|
|
+ AV_PIX_FMT_YUV420P10,
|
|
+ AV_PIX_FMT_YUV422P10,
|
|
+ AV_PIX_FMT_YUV444P10,
|
|
+ AV_PIX_FMT_NV12,
|
|
+ AV_PIX_FMT_NV16,
|
|
+ AV_PIX_FMT_NV20,
|
|
+#ifdef X264_CSP_NV21
|
|
+ AV_PIX_FMT_NV21,
|
|
+#endif
|
|
+ AV_PIX_FMT_NONE
|
|
+};
|
|
+
|
|
+
|
|
+
|
|
+
|
|
static const enum AVPixelFormat pix_fmts_8bit[] = {
|
|
AV_PIX_FMT_YUV420P,
|
|
AV_PIX_FMT_YUVJ420P,
|
|
@@ -895,12 +920,14 @@
|
|
|
|
static av_cold void X264_init_static(AVCodec *codec)
|
|
{
|
|
- if (x264_bit_depth == 8)
|
|
+ if (X264_BIT_DEPTH == 8)
|
|
codec->pix_fmts = pix_fmts_8bit;
|
|
- else if (x264_bit_depth == 9)
|
|
+ else if (X264_BIT_DEPTH == 9)
|
|
codec->pix_fmts = pix_fmts_9bit;
|
|
- else if (x264_bit_depth == 10)
|
|
+ else if (X264_BIT_DEPTH == 10)
|
|
codec->pix_fmts = pix_fmts_10bit;
|
|
+ else /* X264_BIT_DEPTH == 0 */
|
|
+ codec->pix_fmts = pix_fmts;
|
|
}
|
|
|
|
#define OFFSET(x) offsetof(X264Context, x)
|