mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
media-video/guvcview: fix build with ffmpeg4
Package-Manager: Portage-2.3.31, Repoman-2.3.9
This commit is contained in:
195
media-video/guvcview/files/ffmpeg4.patch
Normal file
195
media-video/guvcview/files/ffmpeg4.patch
Normal file
@@ -0,0 +1,195 @@
|
||||
Index: guvcview-src-2.0.5/guvcview/gui_qt5_callbacks.cpp
|
||||
===================================================================
|
||||
--- guvcview-src-2.0.5.orig/guvcview/gui_qt5_callbacks.cpp
|
||||
+++ guvcview-src-2.0.5/guvcview/gui_qt5_callbacks.cpp
|
||||
@@ -1590,10 +1590,8 @@ void MainWindow::video_codec_properties(
|
||||
framerefs->setValue(defaults->framerefs);
|
||||
form.addRow(_("framerefs: "), framerefs);
|
||||
/*me method*/
|
||||
- QSpinBox *me_method = new QSpinBox(&dialog);
|
||||
- me_method->setRange(1, 10);
|
||||
- me_method->setSingleStep(1);
|
||||
- me_method->setValue(defaults->me_method);
|
||||
+ QLabel *me_method = new QLabel(&dialog);
|
||||
+ me_method->setText(defaults->me_method);
|
||||
form.addRow(_("me method: "), me_method);
|
||||
/*mb decision*/
|
||||
QSpinBox *mb_decision = new QSpinBox(&dialog);
|
||||
@@ -1645,7 +1643,7 @@ void MainWindow::video_codec_properties(
|
||||
defaults->qblur = qblur->value();
|
||||
defaults->subq = subq->value();
|
||||
defaults->framerefs = framerefs->value();
|
||||
- defaults->me_method = me_method->value();
|
||||
+ defaults->me_method = me_method->text().toLatin1().data();
|
||||
defaults->mb_decision = mb_decision->value();
|
||||
defaults->max_b_frames = max_b_frames->value();
|
||||
defaults->num_threads = num_threads->value();
|
||||
Index: guvcview-src-2.0.5/gview_encoder/encoder.c
|
||||
===================================================================
|
||||
--- guvcview-src-2.0.5.orig/gview_encoder/encoder.c
|
||||
+++ guvcview-src-2.0.5/gview_encoder/encoder.c
|
||||
@@ -445,10 +445,8 @@ static encoder_video_context_t *encoder_
|
||||
#if !LIBAVCODEC_VER_AT_LEAST(56,60)
|
||||
video_codec_data->codec_context->me_method = video_defaults->me_method;
|
||||
#else
|
||||
- if( video_defaults->codec_id == AV_CODEC_ID_H264 && video_defaults->me_method > 4)
|
||||
- video_defaults->me_method = X264_ME_HEX;
|
||||
-
|
||||
- av_dict_set_int(&video_codec_data->private_options, "motion-est", video_defaults->me_method, 0);
|
||||
+ if(video_defaults->me_method)
|
||||
+ av_dict_set(&video_codec_data->private_options, "motion-est", video_defaults->me_method, 0);
|
||||
#endif
|
||||
|
||||
#if !LIBAVCODEC_VER_AT_LEAST(57,00)
|
||||
Index: guvcview-src-2.0.5/gview_encoder/gviewencoder.h
|
||||
===================================================================
|
||||
--- guvcview-src-2.0.5.orig/gview_encoder/gviewencoder.h
|
||||
+++ guvcview-src-2.0.5/gview_encoder/gviewencoder.h
|
||||
@@ -104,7 +104,7 @@ typedef struct _video_codec_t
|
||||
char codec_name[20]; //lavc codec_name
|
||||
int mb_decision; //lavc mb_decision
|
||||
int trellis; //lavc trellis quantization
|
||||
- int me_method; //lavc motion estimation method
|
||||
+ const char* me_method; //lavc motion estimation method
|
||||
int mpeg_quant; //lavc mpeg quantization
|
||||
int max_b_frames; //lavc max b frames
|
||||
int num_threads; //lavc num threads
|
||||
Index: guvcview-src-2.0.5/gview_encoder/video_codecs.c
|
||||
===================================================================
|
||||
--- guvcview-src-2.0.5.orig/gview_encoder/video_codecs.c
|
||||
+++ guvcview-src-2.0.5/gview_encoder/video_codecs.c
|
||||
@@ -97,7 +97,7 @@ static video_codec_t listSupCodecs[] =
|
||||
.codec_name = "none",
|
||||
.mb_decision = 0,
|
||||
.trellis = 0,
|
||||
- .me_method = 0,
|
||||
+ .me_method = NULL,
|
||||
.mpeg_quant = 0,
|
||||
.max_b_frames = 0,
|
||||
.num_threads = 0,
|
||||
@@ -133,7 +133,7 @@ static video_codec_t listSupCodecs[] =
|
||||
.codec_name = "mjpeg",
|
||||
.mb_decision = 0,
|
||||
.trellis = 0,
|
||||
- .me_method = ME_EPZS,
|
||||
+ .me_method = "epsz",
|
||||
.mpeg_quant = 0,
|
||||
.max_b_frames = 0,
|
||||
.num_threads = 0,
|
||||
@@ -169,7 +169,7 @@ static video_codec_t listSupCodecs[] =
|
||||
.codec_name = "mpeg1video",
|
||||
.mb_decision = FF_MB_DECISION_RD,
|
||||
.trellis = 1,
|
||||
- .me_method = ME_EPZS,
|
||||
+ .me_method = "epsz",
|
||||
.mpeg_quant = 0,
|
||||
.max_b_frames = 0,
|
||||
.num_threads = 1,
|
||||
@@ -205,11 +205,11 @@ static video_codec_t listSupCodecs[] =
|
||||
.codec_name = "flv",
|
||||
.mb_decision = FF_MB_DECISION_RD,
|
||||
.trellis = 1,
|
||||
- .me_method = ME_EPZS,
|
||||
+ .me_method = "epsz",
|
||||
.mpeg_quant = 0,
|
||||
.max_b_frames = 0,
|
||||
.num_threads = 1,
|
||||
- .flags = CODEC_FLAG_4MV
|
||||
+ .flags = AV_CODEC_FLAG_4MV
|
||||
},
|
||||
{
|
||||
.valid = 1,
|
||||
@@ -241,7 +241,7 @@ static video_codec_t listSupCodecs[] =
|
||||
.codec_name = "wmv1",
|
||||
.mb_decision = FF_MB_DECISION_RD,
|
||||
.trellis = 1,
|
||||
- .me_method = ME_EPZS,
|
||||
+ .me_method = "epsz",
|
||||
.mpeg_quant = 0,
|
||||
.max_b_frames = 0,
|
||||
.num_threads = 1,
|
||||
@@ -277,7 +277,7 @@ static video_codec_t listSupCodecs[] =
|
||||
.codec_name = "mpeg2video",
|
||||
.mb_decision = FF_MB_DECISION_RD,
|
||||
.trellis = 1,
|
||||
- .me_method = ME_EPZS,
|
||||
+ .me_method = "epsz",
|
||||
.mpeg_quant = 0,
|
||||
.max_b_frames = 0,
|
||||
.num_threads = 1,
|
||||
@@ -313,7 +313,7 @@ static video_codec_t listSupCodecs[] =
|
||||
.codec_name = "msmpeg4v3",
|
||||
.mb_decision = FF_MB_DECISION_RD,
|
||||
.trellis = 1,
|
||||
- .me_method = ME_EPZS,
|
||||
+ .me_method = "epsz",
|
||||
.mpeg_quant = 0,
|
||||
.max_b_frames = 0,
|
||||
.num_threads = 1,
|
||||
@@ -349,7 +349,7 @@ static video_codec_t listSupCodecs[] =
|
||||
.codec_name = "mpeg4",
|
||||
.mb_decision = FF_MB_DECISION_RD,
|
||||
.trellis = 1,
|
||||
- .me_method = ME_EPZS,
|
||||
+ .me_method = "epsz",
|
||||
.mpeg_quant = 1,
|
||||
.max_b_frames = 0,
|
||||
.num_threads = 1,
|
||||
@@ -385,7 +385,7 @@ static video_codec_t listSupCodecs[] =
|
||||
.codec_name = "libx264",
|
||||
.mb_decision = FF_MB_DECISION_RD,
|
||||
.trellis = 0,
|
||||
- .me_method = X264_ME_HEX,
|
||||
+ .me_method = "hex",
|
||||
.mpeg_quant = 1,
|
||||
.max_b_frames = 16,
|
||||
.num_threads = 4,
|
||||
@@ -426,7 +426,7 @@ static video_codec_t listSupCodecs[] =
|
||||
.codec_name = "libx265",
|
||||
.mb_decision = FF_MB_DECISION_RD,
|
||||
.trellis = 0,
|
||||
- .me_method = ME_HEX,
|
||||
+ .me_method = "hex",
|
||||
.mpeg_quant = 1,
|
||||
.max_b_frames = 16,
|
||||
.num_threads = 4,
|
||||
@@ -463,7 +463,7 @@ static video_codec_t listSupCodecs[] =
|
||||
.codec_name = "libvpx_vp8",
|
||||
.mb_decision = FF_MB_DECISION_RD,
|
||||
.trellis = 0,
|
||||
- .me_method = ME_HEX,
|
||||
+ .me_method = "hex",
|
||||
.mpeg_quant = 1,
|
||||
.max_b_frames = 0,
|
||||
.num_threads = 4,
|
||||
@@ -500,7 +500,7 @@ static video_codec_t listSupCodecs[] =
|
||||
.codec_name = "libvpx_vp9",
|
||||
.mb_decision = FF_MB_DECISION_RD,
|
||||
.trellis = 0,
|
||||
- .me_method = ME_HEX,
|
||||
+ .me_method = "hex",
|
||||
.mpeg_quant = 1,
|
||||
.max_b_frames = 16,
|
||||
.num_threads = 4,
|
||||
@@ -537,7 +537,7 @@ static video_codec_t listSupCodecs[] =
|
||||
.codec_name = "libtheora",
|
||||
.mb_decision = FF_MB_DECISION_RD,
|
||||
.trellis = 0,
|
||||
- .me_method = ME_HEX,
|
||||
+ .me_method = "hex",
|
||||
.mpeg_quant = 1,
|
||||
.max_b_frames = 0,
|
||||
.num_threads = 4,
|
||||
Index: guvcview-src-2.0.5/gview_v4l2core/uvc_h264.c
|
||||
===================================================================
|
||||
--- guvcview-src-2.0.5.orig/gview_v4l2core/uvc_h264.c
|
||||
+++ guvcview-src-2.0.5/gview_v4l2core/uvc_h264.c
|
||||
@@ -1039,7 +1039,7 @@ int h264_init_decoder(int width, int hei
|
||||
exit(-1);
|
||||
}
|
||||
|
||||
- h264_ctx->context->flags2 |= CODEC_FLAG2_FAST;
|
||||
+ h264_ctx->context->flags2 |= AV_CODEC_FLAG2_FAST;
|
||||
h264_ctx->context->pix_fmt = AV_PIX_FMT_YUV420P;
|
||||
h264_ctx->context->width = width;
|
||||
h264_ctx->context->height = height;
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
@@ -41,6 +41,7 @@ S=${WORKDIR}/${MY_P}
|
||||
|
||||
src_prepare() {
|
||||
sed -i '/^docdir/,/^$/d' Makefile.am || die
|
||||
has_version '>=media-video/ffmpeg-4' && epatch "${FILESDIR}/ffmpeg4.patch"
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user