forked from ports/contrib
libquicktime: x264 compile patch
This commit is contained in:
parent
d5d9725adb
commit
0f6e91800d
@ -1 +1,3 @@
|
||||
81b4b2ec9b540b4253e71da82f2f5ffd libquicktime-1.0.3-x264-65.patch
|
||||
22b5b00396a5fee59fbf373fcaa995c0 libquicktime-1.0.3-x264lavc.patch
|
||||
823191104cdd665c75d447c8f5f8bf7e libquicktime-1.0.3.tar.gz
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Description: A library for reading and writing quicktime files.
|
||||
# Description: A library based on quicktime4linux with extensions.
|
||||
# URL: http://libquicktime.sourceforge.net/
|
||||
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
|
||||
# Packager: Younes Hafri, ycrux at club-internet dot fr
|
||||
@ -7,10 +7,14 @@
|
||||
name=libquicktime
|
||||
version=1.0.3
|
||||
release=1
|
||||
source=(http://dl.sourceforge.net/sourceforge/$name/$name-$version.tar.gz)
|
||||
source=(http://dl.sourceforge.net/sourceforge/$name/$name-$version.tar.gz
|
||||
libquicktime-1.0.3-x264lavc.patch
|
||||
libquicktime-1.0.3-x264-65.patch)
|
||||
|
||||
build() {
|
||||
cd $name-$version
|
||||
patch -p 0 -i $SRC/libquicktime-1.0.3-x264lavc.patch
|
||||
patch -p 0 -i $SRC/libquicktime-1.0.3-x264-65.patch
|
||||
|
||||
./configure \
|
||||
--prefix=/usr \
|
||||
@ -23,4 +27,3 @@ build() {
|
||||
make
|
||||
make DESTDIR=$PKG install
|
||||
}
|
||||
|
||||
|
76
libquicktime/libquicktime-1.0.3-x264-65.patch
Normal file
76
libquicktime/libquicktime-1.0.3-x264-65.patch
Normal file
@ -0,0 +1,76 @@
|
||||
Index: plugins/x264/lqt_x264.c
|
||||
===================================================================
|
||||
RCS file: /cvsroot/libquicktime/libquicktime/plugins/x264/lqt_x264.c,v
|
||||
retrieving revision 1.11
|
||||
diff -u -B -r1.11 lqt_x264.c
|
||||
--- plugins/x264/lqt_x264.c 22 Sep 2008 18:24:49 -0000 1.11
|
||||
+++ plugins/x264/lqt_x264.c 5 Oct 2008 18:32:41 -0000
|
||||
@@ -323,11 +323,20 @@
|
||||
.real_name = TRS("Partition decision"),
|
||||
.type = LQT_PARAMETER_INT,
|
||||
.val_min = { .val_int = 1 },
|
||||
+#if X264_BUILD < 65
|
||||
.val_max = { .val_int = 7 },
|
||||
+#else
|
||||
+ .val_max = { .val_int = 9 },
|
||||
+#endif
|
||||
.val_default = { .val_int = 5 },
|
||||
.help_string = TRS("Subpixel motion estimation and partition decision "
|
||||
+#if X264_BUILD < 65
|
||||
"quality: 1=fast, 7=best.")
|
||||
+#else
|
||||
+ "quality: 1=fast, 9=best.")
|
||||
+#endif
|
||||
},
|
||||
+#if X264_BUILD < 65
|
||||
{
|
||||
.name = "x264_b_bframe_rdo",
|
||||
.real_name = TRS("RD based mode decision for B-frames"),
|
||||
@@ -338,6 +347,7 @@
|
||||
.help_string = TRS("RD based mode decision for B-frames. Requires partition "
|
||||
"decision 6.")
|
||||
},
|
||||
+#endif
|
||||
{
|
||||
.name = "x264_i_me_range",
|
||||
.real_name = TRS("Search range"),
|
||||
@@ -377,6 +387,7 @@
|
||||
.help_string = TRS("Allow each MB partition in P-frames to have it's own "
|
||||
"reference number")
|
||||
},
|
||||
+#if X264_BUILD < 65
|
||||
{
|
||||
.name = "x264_b_bidir_me",
|
||||
.real_name = TRS("Bidirectional ME"),
|
||||
@@ -386,6 +397,7 @@
|
||||
.val_default = { .val_int = 0 },
|
||||
.help_string = TRS("Jointly optimize both MVs in B-frames")
|
||||
},
|
||||
+#endif
|
||||
{
|
||||
.name = "x264_b_weighted_bipred",
|
||||
.real_name = TRS("Weighted biprediction"),
|
||||
Index: plugins/x264/x264.c
|
||||
===================================================================
|
||||
RCS file: /cvsroot/libquicktime/libquicktime/plugins/x264/x264.c,v
|
||||
retrieving revision 1.25
|
||||
diff -u -B -r1.25 x264.c
|
||||
--- plugins/x264/x264.c 22 Sep 2008 22:01:40 -0000 1.25
|
||||
+++ plugins/x264/x264.c 5 Oct 2008 18:32:42 -0000
|
||||
@@ -880,12 +880,16 @@
|
||||
ENUMPARAM("x264_i_me_method", codec->params.analyse.i_me_method, me_methods);
|
||||
|
||||
INTPARAM("x264_i_subpel_refine", codec->params.analyse.i_subpel_refine);
|
||||
+#if X264_BUILD < 65
|
||||
INTPARAM("x264_b_bframe_rdo", codec->params.analyse.b_bframe_rdo);
|
||||
+#endif
|
||||
INTPARAM("x264_i_me_range", codec->params.analyse.i_me_range);
|
||||
INTPARAM("x264_i_frame_reference", codec->params.i_frame_reference);
|
||||
INTPARAM("x264_b_chroma_me", codec->params.analyse.b_chroma_me);
|
||||
INTPARAM("x264_b_mixed_references", codec->params.analyse.b_mixed_references);
|
||||
+#if X264_BUILD < 65
|
||||
INTPARAM("x264_b_bidir_me", codec->params.analyse.b_bidir_me);
|
||||
+#endif
|
||||
INTPARAM("x264_b_weighted_bipred", codec->params.analyse.b_weighted_bipred);
|
||||
|
||||
ENUMPARAM("x264_i_direct_mv_pred", codec->params.analyse.i_direct_mv_pred, direct_modes);
|
191
libquicktime/libquicktime-1.0.3-x264lavc.patch
Normal file
191
libquicktime/libquicktime-1.0.3-x264lavc.patch
Normal file
@ -0,0 +1,191 @@
|
||||
Index: plugins/ffmpeg/audio.c
|
||||
===================================================================
|
||||
RCS file: /cvsroot/libquicktime/libquicktime/plugins/ffmpeg/audio.c,v
|
||||
retrieving revision 1.38
|
||||
retrieving revision 1.39
|
||||
diff -u -B -r1.38 -r1.39
|
||||
--- plugins/ffmpeg/audio.c 11 Nov 2007 00:38:12 -0000 1.38
|
||||
+++ plugins/ffmpeg/audio.c 22 Sep 2008 18:24:49 -0000 1.39
|
||||
@@ -670,9 +670,11 @@
|
||||
|
||||
// priv->ctx->block_align = s->data.audio.block_align;
|
||||
// priv->ctx->bit_rate = s->codec_bitrate;
|
||||
-
|
||||
+#if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
|
||||
codec->avctx->bits_per_sample = quicktime_audio_bits(file, track);
|
||||
-
|
||||
+#else
|
||||
+ codec->avctx->bits_per_coded_sample = quicktime_audio_bits(file, track);
|
||||
+#endif
|
||||
/* Some codecs need extra stuff */
|
||||
|
||||
if(codec->decoder->id == CODEC_ID_ALAC)
|
||||
Index: plugins/ffmpeg/lqt_ffmpeg.c
|
||||
===================================================================
|
||||
RCS file: /cvsroot/libquicktime/libquicktime/plugins/ffmpeg/lqt_ffmpeg.c,v
|
||||
retrieving revision 1.78
|
||||
retrieving revision 1.79
|
||||
diff -u -B -r1.78 -r1.79
|
||||
--- plugins/ffmpeg/lqt_ffmpeg.c 5 Sep 2008 22:53:48 -0000 1.78
|
||||
+++ plugins/ffmpeg/lqt_ffmpeg.c 22 Sep 2008 18:24:49 -0000 1.79
|
||||
@@ -77,7 +77,7 @@
|
||||
PARAM_QCOMPRESS, \
|
||||
PARAM_QBLUR, \
|
||||
PARAM_QUANTIZER_NOISE_SHAPING, \
|
||||
- PARAM_FLAG_TRELLIS_QUANT
|
||||
+ PARAM_TRELLIS
|
||||
|
||||
#define ENCODE_PARAM_VIDEO_QUANTIZER_IP \
|
||||
ENCODE_PARAM_VIDEO_QUANTIZER_I, \
|
||||
Index: plugins/ffmpeg/params.c
|
||||
===================================================================
|
||||
RCS file: /cvsroot/libquicktime/libquicktime/plugins/ffmpeg/params.c,v
|
||||
retrieving revision 1.10
|
||||
retrieving revision 1.11
|
||||
diff -u -B -r1.10 -r1.11
|
||||
--- plugins/ffmpeg/params.c 5 Sep 2008 22:53:48 -0000 1.10
|
||||
+++ plugins/ffmpeg/params.c 22 Sep 2008 18:24:49 -0000 1.11
|
||||
@@ -242,7 +242,11 @@
|
||||
PARAM_FLAG("ff_flag_emu_edge",CODEC_FLAG_EMU_EDGE);
|
||||
PARAM_FLAG("ff_flag_normalize_aqp",CODEC_FLAG_NORMALIZE_AQP);
|
||||
PARAM_FLAG("ff_flag_alt_scan",CODEC_FLAG_ALT_SCAN);
|
||||
+#if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
|
||||
PARAM_FLAG("ff_flag_trellis_quant",CODEC_FLAG_TRELLIS_QUANT);
|
||||
+#else
|
||||
+ PARAM_INT("ff_trellis",trellis);
|
||||
+#endif
|
||||
PARAM_FLAG("ff_flag_bitexact",CODEC_FLAG_BITEXACT);
|
||||
PARAM_FLAG("ff_flag_ac_pred",CODEC_FLAG_AC_PRED);
|
||||
PARAM_FLAG("ff_flag_h263p_umv",CODEC_FLAG_H263P_UMV);
|
||||
Index: plugins/ffmpeg/params.h
|
||||
===================================================================
|
||||
RCS file: /cvsroot/libquicktime/libquicktime/plugins/ffmpeg/params.h,v
|
||||
retrieving revision 1.10
|
||||
retrieving revision 1.11
|
||||
diff -u -B -r1.10 -r1.11
|
||||
--- plugins/ffmpeg/params.h 3 Sep 2007 23:26:48 -0000 1.10
|
||||
+++ plugins/ffmpeg/params.h 22 Sep 2008 18:24:49 -0000 1.11
|
||||
@@ -1032,7 +1032,9 @@
|
||||
}
|
||||
|
||||
/** Quantizer */
|
||||
-#define PARAM_FLAG_TRELLIS_QUANT \
|
||||
+#if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
|
||||
+
|
||||
+#define PARAM_TRELLIS \
|
||||
{ \
|
||||
.name = "ff_flag_trellis_quant", \
|
||||
.real_name = TRS("Use trellis quantization"), \
|
||||
@@ -1042,6 +1044,18 @@
|
||||
.val_max = { .val_int = 1 }, \
|
||||
.help_string = TRS("Use trellis quantization (improves quality)") \
|
||||
}
|
||||
+#else
|
||||
+#define PARAM_TRELLIS \
|
||||
+ { \
|
||||
+ .name = "ff_trellis", \
|
||||
+ .real_name = TRS("Use trellis quantization"), \
|
||||
+ .type = LQT_PARAMETER_INT, \
|
||||
+ .val_default = { .val_int = 0 }, \
|
||||
+ .val_min = { .val_int = 0 }, \
|
||||
+ .val_max = { .val_int = 1 }, \
|
||||
+ .help_string = TRS("Use trellis quantization (improves quality)") \
|
||||
+ }
|
||||
+#endif
|
||||
|
||||
#define PARAM_FLAG_BITEXACT \
|
||||
{ \
|
||||
Index: plugins/ffmpeg/video.c
|
||||
===================================================================
|
||||
RCS file: /cvsroot/libquicktime/libquicktime/plugins/ffmpeg/video.c,v
|
||||
retrieving revision 1.63
|
||||
retrieving revision 1.64
|
||||
diff -u -B -r1.63 -r1.64
|
||||
--- plugins/ffmpeg/video.c 28 May 2008 16:48:20 -0000 1.63
|
||||
+++ plugins/ffmpeg/video.c 22 Sep 2008 18:24:49 -0000 1.64
|
||||
@@ -377,7 +377,12 @@
|
||||
{
|
||||
codec->avctx->width = width;
|
||||
codec->avctx->height = height;
|
||||
+
|
||||
+#if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
|
||||
codec->avctx->bits_per_sample = quicktime_video_depth(file, track);
|
||||
+#else
|
||||
+ codec->avctx->bits_per_coded_sample = quicktime_video_depth(file, track);
|
||||
+#endif
|
||||
|
||||
/* Set extradata: It's done differently for each codec */
|
||||
|
||||
Index: plugins/x264/lqt_x264.c
|
||||
===================================================================
|
||||
RCS file: /cvsroot/libquicktime/libquicktime/plugins/x264/lqt_x264.c,v
|
||||
retrieving revision 1.10
|
||||
retrieving revision 1.11
|
||||
diff -u -B -r1.10 -r1.11
|
||||
--- plugins/x264/lqt_x264.c 5 Sep 2008 22:53:50 -0000 1.10
|
||||
+++ plugins/x264/lqt_x264.c 22 Sep 2008 18:24:49 -0000 1.11
|
||||
@@ -64,6 +64,7 @@
|
||||
.val_max = { .val_int = 16 },
|
||||
.help_string = TRS("Number of B-frames between I and P"),
|
||||
},
|
||||
+#if X264_BUILD < 63
|
||||
{
|
||||
.name = "x264_b_bframe_adaptive",
|
||||
.real_name = TRS("Adaptive B-frame decision"),
|
||||
@@ -72,6 +73,18 @@
|
||||
.val_min = { .val_int = 0 },
|
||||
.val_max = { .val_int = 1 },
|
||||
},
|
||||
+#else
|
||||
+ {
|
||||
+ .name = "x264_i_bframe_adaptive",
|
||||
+ .real_name = TRS("Adaptive B-frame decision"),
|
||||
+ .type = LQT_PARAMETER_STRINGLIST,
|
||||
+ .val_default = { .val_string = "Fast" },
|
||||
+ .stringlist_options = (char*[]){ TRS("None"),
|
||||
+ TRS("Fast"),
|
||||
+ TRS("Trellis"),
|
||||
+ (char*)0 },
|
||||
+ },
|
||||
+#endif
|
||||
{
|
||||
.name = "x264_i_bframe_bias",
|
||||
.real_name = TRS("B-frame bias"),
|
||||
Index: plugins/x264/x264.c
|
||||
===================================================================
|
||||
RCS file: /cvsroot/libquicktime/libquicktime/plugins/x264/x264.c,v
|
||||
retrieving revision 1.23
|
||||
retrieving revision 1.24
|
||||
diff -u -B -r1.23 -r1.24
|
||||
--- plugins/x264/x264.c 5 Sep 2008 22:53:50 -0000 1.23
|
||||
+++ plugins/x264/x264.c 22 Sep 2008 18:24:49 -0000 1.24
|
||||
@@ -763,7 +763,15 @@
|
||||
{ "Average bitrate", X264_RC_ABR },
|
||||
{ "CRF based VBR", X264_RC_CRF }
|
||||
};
|
||||
-
|
||||
+
|
||||
+#if X264_BUILD >= 63
|
||||
+enum_t bframe_adaptives[] =
|
||||
+ {
|
||||
+ { "None", X264_B_ADAPT_NONE },
|
||||
+ { "Fast", X264_B_ADAPT_FAST },
|
||||
+ { "Trellis", X264_B_ADAPT_TRELLIS }
|
||||
+ };
|
||||
+#endif
|
||||
|
||||
static int set_parameter(quicktime_t *file,
|
||||
int track,
|
||||
@@ -777,7 +785,11 @@
|
||||
INTPARAM("x264_i_keyint_min", codec->params.i_keyint_min);
|
||||
INTPARAM("x264_i_scenecut_threshold", codec->params.i_scenecut_threshold);
|
||||
INTPARAM("x264_i_bframe", codec->params.i_bframe);
|
||||
- INTPARAM("x264_b_bframe_adaptive", codec->params.b_bframe_adaptive);
|
||||
+#if X264_BUILD < 63
|
||||
+ INTPARAM("x264_b_bframe_adaptive", codec->params.b_bframe_adaptive);
|
||||
+#else
|
||||
+ ENUMPARAM("x264_i_bframe_adaptive", codec->params.i_bframe_adaptive, bframe_adaptives);
|
||||
+#endif
|
||||
INTPARAM("x264_i_bframe_bias", codec->params.i_bframe_bias);
|
||||
INTPARAM("x264_b_bframe_pyramid", codec->params.b_bframe_pyramid);
|
||||
|
Loading…
x
Reference in New Issue
Block a user