mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-28 05:06:43 +00:00
ffmpeg: Bump to release/3.1-xbmc (67171c3)
This commit is contained in:
parent
7fe5c2962e
commit
d11b730050
@ -17,8 +17,8 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="ffmpeg"
|
PKG_NAME="ffmpeg"
|
||||||
# Current branch is: release/3.0-xbmc
|
# Current branch is: release/3.1-xbmc
|
||||||
PKG_VERSION="c44bf39"
|
PKG_VERSION="67171c3"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="LGPLv2.1+"
|
PKG_LICENSE="LGPLv2.1+"
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,4 @@
|
|||||||
From ccb1eff2e6dd1259c6a8ca262076553875c5abe2 Mon Sep 17 00:00:00 2001
|
From d08594462136274636c1f2f476a6410ff92a9e16 Mon Sep 17 00:00:00 2001
|
||||||
From: John Cox <jc@kynesim.co.uk>
|
From: John Cox <jc@kynesim.co.uk>
|
||||||
Date: Wed, 13 Jan 2016 16:13:33 +0000
|
Date: Wed, 13 Jan 2016 16:13:33 +0000
|
||||||
Subject: [PATCH] H.265 residual decode rework (v2)
|
Subject: [PATCH] H.265 residual decode rework (v2)
|
||||||
@ -13,8 +13,8 @@ Simplify the code flow and variable usage where possible
|
|||||||
libavcodec/arm/hevcdsp_deblock_neon.S | 13 +-
|
libavcodec/arm/hevcdsp_deblock_neon.S | 13 +-
|
||||||
libavcodec/arm/hevcdsp_epel_neon.S | 9 +-
|
libavcodec/arm/hevcdsp_epel_neon.S | 9 +-
|
||||||
libavcodec/cabac.h | 9 +-
|
libavcodec/cabac.h | 9 +-
|
||||||
libavcodec/hevc_cabac.c | 1098 +++++++++++++++++++++++++--------
|
libavcodec/hevc_cabac.c | 1096 +++++++++++++++++++++++++--------
|
||||||
6 files changed, 1510 insertions(+), 265 deletions(-)
|
6 files changed, 1509 insertions(+), 264 deletions(-)
|
||||||
create mode 100644 libavcodec/arm/hevc_cabac.h
|
create mode 100644 libavcodec/arm/hevc_cabac.h
|
||||||
|
|
||||||
diff --git a/libavcodec/arm/cabac.h b/libavcodec/arm/cabac.h
|
diff --git a/libavcodec/arm/cabac.h b/libavcodec/arm/cabac.h
|
||||||
@ -801,7 +801,7 @@ index 1bf1c62..ccfa991 100644
|
|||||||
const uint8_t *bytestream;
|
const uint8_t *bytestream;
|
||||||
const uint8_t *bytestream_end;
|
const uint8_t *bytestream_end;
|
||||||
diff --git a/libavcodec/hevc_cabac.c b/libavcodec/hevc_cabac.c
|
diff --git a/libavcodec/hevc_cabac.c b/libavcodec/hevc_cabac.c
|
||||||
index 271e17a..4caf720 100644
|
index 8656917..4caf720 100644
|
||||||
--- a/libavcodec/hevc_cabac.c
|
--- a/libavcodec/hevc_cabac.c
|
||||||
+++ b/libavcodec/hevc_cabac.c
|
+++ b/libavcodec/hevc_cabac.c
|
||||||
@@ -21,14 +21,72 @@
|
@@ -21,14 +21,72 @@
|
||||||
@ -1502,9 +1502,8 @@ index 271e17a..4caf720 100644
|
|||||||
int trafo_size = 1 << log2_trafo_size;
|
int trafo_size = 1 << log2_trafo_size;
|
||||||
int i;
|
int i;
|
||||||
- int qp,shift,add,scale,scale_m;
|
- int qp,shift,add,scale,scale_m;
|
||||||
- const uint8_t level_scale[] = { 40, 45, 51, 57, 64, 72 };
|
|
||||||
+ int qp,shift,scale;
|
+ int qp,shift,scale;
|
||||||
+ static const uint8_t level_scale[] = { 40, 45, 51, 57, 64, 72 };
|
static const uint8_t level_scale[] = { 40, 45, 51, 57, 64, 72 };
|
||||||
const uint8_t *scale_matrix = NULL;
|
const uint8_t *scale_matrix = NULL;
|
||||||
uint8_t dc_scale;
|
uint8_t dc_scale;
|
||||||
int pred_mode_intra = (c_idx == 0) ? lc->tu.intra_pred_mode :
|
int pred_mode_intra = (c_idx == 0) ? lc->tu.intra_pred_mode :
|
||||||
@ -2176,6 +2175,6 @@ index 271e17a..4caf720 100644
|
|||||||
log2_trafo_size == 2 &&
|
log2_trafo_size == 2 &&
|
||||||
lc->cu.pred_mode == MODE_INTRA;
|
lc->cu.pred_mode == MODE_INTRA;
|
||||||
--
|
--
|
||||||
2.5.0
|
2.7.4
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,30 +1,28 @@
|
|||||||
From f2e011c656b3579b6ede184bb5c56a7b97fad0f3 Mon Sep 17 00:00:00 2001
|
From 4060f15e2d29e268110032d4366382e370e088d0 Mon Sep 17 00:00:00 2001
|
||||||
From: Hendrik Leppkes <h.leppkes@gmail.com>
|
From: popcornmix <popcornmix@gmail.com>
|
||||||
Date: Sat, 9 Jan 2016 15:34:09 +0100
|
Date: Sun, 26 Jun 2016 20:09:18 +0100
|
||||||
Subject: [PATCH] avcodec: add h264_mvc codec id and profiles
|
Subject: [PATCH] avcodec: add h264_mvc codec id and profiles
|
||||||
|
|
||||||
avcodec: add h264_mvc codec id and profiles
|
|
||||||
---
|
---
|
||||||
libavcodec/avcodec.h | 5 +++++
|
libavcodec/avcodec.h | 5 +++++
|
||||||
libavcodec/codec_desc.c | 7 +++++++
|
libavcodec/codec_desc.c | 7 +++++++
|
||||||
libavcodec/profiles.c | 3 +++
|
|
||||||
libavformat/mpegts.c | 2 +-
|
libavformat/mpegts.c | 2 +-
|
||||||
4 files changed, 16 insertions(+), 1 deletion(-)
|
3 files changed, 13 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
|
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
|
||||||
index f365775..8498921 100644
|
index a1ba217..abd2e91 100644
|
||||||
--- a/libavcodec/avcodec.h
|
--- a/libavcodec/avcodec.h
|
||||||
+++ b/libavcodec/avcodec.h
|
+++ b/libavcodec/avcodec.h
|
||||||
@@ -316,6 +316,8 @@ enum AVCodecID {
|
@@ -410,6 +410,8 @@ enum AVCodecID {
|
||||||
AV_CODEC_ID_APNG,
|
AV_CODEC_ID_SHEERVIDEO,
|
||||||
AV_CODEC_ID_DAALA,
|
AV_CODEC_ID_YLC,
|
||||||
|
|
||||||
+ AV_CODEC_ID_H264_MVC,
|
+ AV_CODEC_ID_H264_MVC,
|
||||||
+
|
+
|
||||||
/* various PCM "codecs" */
|
/* various PCM "codecs" */
|
||||||
AV_CODEC_ID_FIRST_AUDIO = 0x10000, ///< A dummy id pointing at the start of audio codecs
|
AV_CODEC_ID_FIRST_AUDIO = 0x10000, ///< A dummy id pointing at the start of audio codecs
|
||||||
AV_CODEC_ID_PCM_S16LE = 0x10000,
|
AV_CODEC_ID_PCM_S16LE = 0x10000,
|
||||||
@@ -3086,6 +3088,9 @@ typedef struct AVCodecContext {
|
@@ -3195,6 +3197,9 @@ typedef struct AVCodecContext {
|
||||||
#define FF_PROFILE_H264_HIGH_444_PREDICTIVE 244
|
#define FF_PROFILE_H264_HIGH_444_PREDICTIVE 244
|
||||||
#define FF_PROFILE_H264_HIGH_444_INTRA (244|FF_PROFILE_H264_INTRA)
|
#define FF_PROFILE_H264_HIGH_444_INTRA (244|FF_PROFILE_H264_INTRA)
|
||||||
#define FF_PROFILE_H264_CAVLC_444 44
|
#define FF_PROFILE_H264_CAVLC_444 44
|
||||||
@ -35,12 +33,12 @@ index f365775..8498921 100644
|
|||||||
#define FF_PROFILE_VC1_SIMPLE 0
|
#define FF_PROFILE_VC1_SIMPLE 0
|
||||||
#define FF_PROFILE_VC1_MAIN 1
|
#define FF_PROFILE_VC1_MAIN 1
|
||||||
diff --git a/libavcodec/codec_desc.c b/libavcodec/codec_desc.c
|
diff --git a/libavcodec/codec_desc.c b/libavcodec/codec_desc.c
|
||||||
index 5fbe624..9431bd8 100644
|
index 9d94b72..535ebf0 100644
|
||||||
--- a/libavcodec/codec_desc.c
|
--- a/libavcodec/codec_desc.c
|
||||||
+++ b/libavcodec/codec_desc.c
|
+++ b/libavcodec/codec_desc.c
|
||||||
@@ -1521,6 +1521,13 @@ static const AVCodecDescriptor codec_descriptors[] = {
|
@@ -1563,6 +1563,13 @@ static const AVCodecDescriptor codec_descriptors[] = {
|
||||||
.props = AV_CODEC_PROP_LOSSLESS,
|
.long_name = NULL_IF_CONFIG_SMALL("YUY2 Lossless Codec"),
|
||||||
.mime_types= MT("image/png"),
|
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
|
||||||
},
|
},
|
||||||
+ {
|
+ {
|
||||||
+ .id = AV_CODEC_ID_H264_MVC,
|
+ .id = AV_CODEC_ID_H264_MVC,
|
||||||
@ -53,16 +51,19 @@ index 5fbe624..9431bd8 100644
|
|||||||
/* various PCM "codecs" */
|
/* various PCM "codecs" */
|
||||||
{
|
{
|
||||||
diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
|
diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
|
||||||
index 22874e6..34b6987 100644
|
index b31d233..2767306 100644
|
||||||
--- a/libavformat/mpegts.c
|
--- a/libavformat/mpegts.c
|
||||||
+++ b/libavformat/mpegts.c
|
+++ b/libavformat/mpegts.c
|
||||||
@@ -698,7 +698,7 @@ static const StreamType ISO_types[] = {
|
@@ -701,7 +701,7 @@ static const StreamType ISO_types[] = {
|
||||||
{ 0x11, AVMEDIA_TYPE_AUDIO, AV_CODEC_ID_AAC_LATM }, /* LATM syntax */
|
|
||||||
#endif
|
#endif
|
||||||
{ 0x1b, AVMEDIA_TYPE_VIDEO, AV_CODEC_ID_H264 },
|
{ 0x1b, AVMEDIA_TYPE_VIDEO, AV_CODEC_ID_H264 },
|
||||||
|
{ 0x1c, AVMEDIA_TYPE_AUDIO, AV_CODEC_ID_AAC },
|
||||||
- { 0x20, AVMEDIA_TYPE_VIDEO, AV_CODEC_ID_H264 },
|
- { 0x20, AVMEDIA_TYPE_VIDEO, AV_CODEC_ID_H264 },
|
||||||
+ { 0x20, AVMEDIA_TYPE_VIDEO, AV_CODEC_ID_H264_MVC },
|
+ { 0x20, AVMEDIA_TYPE_VIDEO, AV_CODEC_ID_H264_MVC },
|
||||||
{ 0x21, AVMEDIA_TYPE_VIDEO, AV_CODEC_ID_JPEG2000 },
|
{ 0x21, AVMEDIA_TYPE_VIDEO, AV_CODEC_ID_JPEG2000 },
|
||||||
{ 0x24, AVMEDIA_TYPE_VIDEO, AV_CODEC_ID_HEVC },
|
{ 0x24, AVMEDIA_TYPE_VIDEO, AV_CODEC_ID_HEVC },
|
||||||
{ 0x42, AVMEDIA_TYPE_VIDEO, AV_CODEC_ID_CAVS },
|
{ 0x42, AVMEDIA_TYPE_VIDEO, AV_CODEC_ID_CAVS },
|
||||||
|
--
|
||||||
|
2.7.4
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
From 0b857974bc3f2f48800526efbe02b9e72fdeb266 Mon Sep 17 00:00:00 2001
|
From 23dd20678a05e1764e5d8d30481cb354a51b6c8b Mon Sep 17 00:00:00 2001
|
||||||
From: Hendrik Leppkes <h.leppkes@gmail.com>
|
From: popcornmix <popcornmix@gmail.com>
|
||||||
Date: Sat, 9 Jan 2016 16:34:40 +0100
|
Date: Sun, 26 Jun 2016 20:16:03 +0100
|
||||||
Subject: [PATCH] h264_parser: add support for parsing h264 mvc NALUs
|
Subject: [PATCH] h264_parser: add support for parsing h264 mvc NALUs
|
||||||
|
|
||||||
---
|
---
|
||||||
@ -10,10 +10,10 @@ Subject: [PATCH] h264_parser: add support for parsing h264 mvc NALUs
|
|||||||
3 files changed, 33 insertions(+), 4 deletions(-)
|
3 files changed, 33 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c
|
diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c
|
||||||
index 2097db0..66eb571 100644
|
index 54efaad..02a89c3 100644
|
||||||
--- a/libavcodec/allcodecs.c
|
--- a/libavcodec/allcodecs.c
|
||||||
+++ b/libavcodec/allcodecs.c
|
+++ b/libavcodec/allcodecs.c
|
||||||
@@ -633,6 +633,7 @@ void avcodec_register_all(void)
|
@@ -667,6 +667,7 @@ void avcodec_register_all(void)
|
||||||
REGISTER_PARSER(H261, h261);
|
REGISTER_PARSER(H261, h261);
|
||||||
REGISTER_PARSER(H263, h263);
|
REGISTER_PARSER(H263, h263);
|
||||||
REGISTER_PARSER(H264, h264);
|
REGISTER_PARSER(H264, h264);
|
||||||
@ -22,10 +22,10 @@ index 2097db0..66eb571 100644
|
|||||||
REGISTER_PARSER(MJPEG, mjpeg);
|
REGISTER_PARSER(MJPEG, mjpeg);
|
||||||
REGISTER_PARSER(MLP, mlp);
|
REGISTER_PARSER(MLP, mlp);
|
||||||
diff --git a/libavcodec/h264.h b/libavcodec/h264.h
|
diff --git a/libavcodec/h264.h b/libavcodec/h264.h
|
||||||
index 78f4eed..9e1d377 100644
|
index efe3555..16358aa 100644
|
||||||
--- a/libavcodec/h264.h
|
--- a/libavcodec/h264.h
|
||||||
+++ b/libavcodec/h264.h
|
+++ b/libavcodec/h264.h
|
||||||
@@ -123,7 +123,9 @@ enum {
|
@@ -126,7 +126,9 @@ enum {
|
||||||
NAL_END_STREAM = 11,
|
NAL_END_STREAM = 11,
|
||||||
NAL_FILLER_DATA = 12,
|
NAL_FILLER_DATA = 12,
|
||||||
NAL_SPS_EXT = 13,
|
NAL_SPS_EXT = 13,
|
||||||
@ -36,18 +36,18 @@ index 78f4eed..9e1d377 100644
|
|||||||
};
|
};
|
||||||
|
|
||||||
diff --git a/libavcodec/h264_parser.c b/libavcodec/h264_parser.c
|
diff --git a/libavcodec/h264_parser.c b/libavcodec/h264_parser.c
|
||||||
index 12d6397..4337c8c 100644
|
index ce4bab2..082ac17 100644
|
||||||
--- a/libavcodec/h264_parser.c
|
--- a/libavcodec/h264_parser.c
|
||||||
+++ b/libavcodec/h264_parser.c
|
+++ b/libavcodec/h264_parser.c
|
||||||
@@ -38,6 +38,7 @@ typedef struct H264ParseContext {
|
@@ -58,6 +58,7 @@ typedef struct H264ParseContext {
|
||||||
H264Context h;
|
uint8_t parse_history[6];
|
||||||
ParseContext pc;
|
int parse_history_count;
|
||||||
int got_first;
|
int parse_last_mb;
|
||||||
+ int is_mvc;
|
+ int is_mvc;
|
||||||
} H264ParseContext;
|
} H264ParseContext;
|
||||||
|
|
||||||
|
|
||||||
@@ -86,14 +87,18 @@ static int h264_find_frame_end(H264ParseContext *p, const uint8_t *buf,
|
@@ -105,14 +106,18 @@ static int h264_find_frame_end(H264ParseContext *p, const uint8_t *buf,
|
||||||
} else if (state <= 5) {
|
} else if (state <= 5) {
|
||||||
int nalu_type = buf[i] & 0x1F;
|
int nalu_type = buf[i] & 0x1F;
|
||||||
if (nalu_type == NAL_SEI || nalu_type == NAL_SPS ||
|
if (nalu_type == NAL_SEI || nalu_type == NAL_SPS ||
|
||||||
@ -68,7 +68,7 @@ index 12d6397..4337c8c 100644
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
state = 7;
|
state = 7;
|
||||||
@@ -532,7 +537,8 @@ static int h264_parse(AVCodecParserContext *s,
|
@@ -585,7 +590,8 @@ static int h264_parse(AVCodecParserContext *s,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -78,7 +78,7 @@ index 12d6397..4337c8c 100644
|
|||||||
|
|
||||||
if (avctx->framerate.num)
|
if (avctx->framerate.num)
|
||||||
avctx->time_base = av_inv_q(av_mul_q(avctx->framerate, (AVRational){avctx->ticks_per_frame, 1}));
|
avctx->time_base = av_inv_q(av_mul_q(avctx->framerate, (AVRational){avctx->ticks_per_frame, 1}));
|
||||||
@@ -569,7 +575,7 @@ static int h264_split(AVCodecContext *avctx,
|
@@ -622,7 +628,7 @@ static int h264_split(AVCodecContext *avctx,
|
||||||
if ((state & 0xFFFFFF00) != 0x100)
|
if ((state & 0xFFFFFF00) != 0x100)
|
||||||
break;
|
break;
|
||||||
nalu_type = state & 0x1F;
|
nalu_type = state & 0x1F;
|
||||||
@ -87,7 +87,7 @@ index 12d6397..4337c8c 100644
|
|||||||
has_sps = 1;
|
has_sps = 1;
|
||||||
} else if (nalu_type == NAL_PPS)
|
} else if (nalu_type == NAL_PPS)
|
||||||
has_pps = 1;
|
has_pps = 1;
|
||||||
@@ -625,3 +631,23 @@ AVCodecParser ff_h264_parser = {
|
@@ -672,3 +678,23 @@ AVCodecParser ff_h264_parser = {
|
||||||
.parser_close = h264_close,
|
.parser_close = h264_close,
|
||||||
.split = h264_split,
|
.split = h264_split,
|
||||||
};
|
};
|
||||||
@ -111,4 +111,7 @@ index 12d6397..4337c8c 100644
|
|||||||
+ .parser_close = h264_close,
|
+ .parser_close = h264_close,
|
||||||
+ .split = h264_split,
|
+ .split = h264_split,
|
||||||
+};
|
+};
|
||||||
|
--
|
||||||
|
2.7.4
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,39 +1,25 @@
|
|||||||
From fd627f6435db524f3e1fd8df6f64a17dcda5c8b9 Mon Sep 17 00:00:00 2001
|
From 12d99a92469e5916de3bc787dce4c13abfdd5e09 Mon Sep 17 00:00:00 2001
|
||||||
From: Hendrik Leppkes <h.leppkes@gmail.com>
|
From: popcornmix <popcornmix@gmail.com>
|
||||||
Date: Fri, 26 Feb 2016 00:23:53 +0100
|
Date: Sun, 26 Jun 2016 20:20:04 +0100
|
||||||
Subject: [PATCH] h264_parser: fix parsing of mvc slices in some corner cases
|
Subject: [PATCH] h264_parser: fix parsing of mvc slices in some corner cases
|
||||||
|
|
||||||
---
|
---
|
||||||
libavcodec/h264.h | 2 +-
|
|
||||||
libavcodec/h264_parser.c | 10 +++++-----
|
libavcodec/h264_parser.c | 10 +++++-----
|
||||||
2 files changed, 6 insertions(+), 6 deletions(-)
|
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
diff --git a/libavcodec/h264.h b/libavcodec/h264.h
|
|
||||||
index 9e1d377..846e4dc 100644
|
|
||||||
--- a/libavcodec/h264.h
|
|
||||||
+++ b/libavcodec/h264.h
|
|
||||||
@@ -828,7 +828,7 @@ typedef struct H264Context {
|
|
||||||
int cur_bit_depth_luma;
|
|
||||||
int16_t slice_row[MAX_SLICES]; ///< to detect when MAX_SLICES is too low
|
|
||||||
|
|
||||||
- uint8_t parse_history[6];
|
|
||||||
+ uint8_t parse_history[9];
|
|
||||||
int parse_history_count;
|
|
||||||
int parse_last_mb;
|
|
||||||
|
|
||||||
diff --git a/libavcodec/h264_parser.c b/libavcodec/h264_parser.c
|
diff --git a/libavcodec/h264_parser.c b/libavcodec/h264_parser.c
|
||||||
index 4337c8c..2fd3f2b 100644
|
index 082ac17..b9b0c78 100644
|
||||||
--- a/libavcodec/h264_parser.c
|
--- a/libavcodec/h264_parser.c
|
||||||
+++ b/libavcodec/h264_parser.c
|
+++ b/libavcodec/h264_parser.c
|
||||||
@@ -39,6 +39,7 @@ typedef struct H264ParseContext {
|
@@ -59,6 +59,7 @@ typedef struct H264ParseContext {
|
||||||
ParseContext pc;
|
int parse_history_count;
|
||||||
int got_first;
|
int parse_last_mb;
|
||||||
int is_mvc;
|
int is_mvc;
|
||||||
+ int slice_ext;
|
+ int slice_ext;
|
||||||
} H264ParseContext;
|
} H264ParseContext;
|
||||||
|
|
||||||
|
|
||||||
@@ -97,18 +98,17 @@ static int h264_find_frame_end(H264ParseContext *p, const uint8_t *buf,
|
@@ -116,18 +117,17 @@ static int h264_find_frame_end(H264ParseContext *p, const uint8_t *buf,
|
||||||
nalu_type == NAL_IDR_SLICE || (p->is_mvc && nalu_type == NAL_SLICE_EXT)) {
|
nalu_type == NAL_IDR_SLICE || (p->is_mvc && nalu_type == NAL_SLICE_EXT)) {
|
||||||
state += 8;
|
state += 8;
|
||||||
|
|
||||||
@ -44,24 +30,27 @@ index 4337c8c..2fd3f2b 100644
|
|||||||
}
|
}
|
||||||
state = 7;
|
state = 7;
|
||||||
} else {
|
} else {
|
||||||
h->parse_history[h->parse_history_count++]= buf[i];
|
p->parse_history[p->parse_history_count++] = buf[i];
|
||||||
- if (h->parse_history_count>5) {
|
- if (p->parse_history_count > 5) {
|
||||||
+ if (h->parse_history_count>8) {
|
+ if (p->parse_history_count > 8) {
|
||||||
unsigned int mb, last_mb= h->parse_last_mb;
|
unsigned int mb, last_mb = p->parse_last_mb;
|
||||||
GetBitContext gb;
|
GetBitContext gb;
|
||||||
|
|
||||||
- init_get_bits(&gb, h->parse_history, 8*h->parse_history_count);
|
- init_get_bits(&gb, p->parse_history, 8*p->parse_history_count);
|
||||||
+ init_get_bits8(&gb, h->parse_history + 3*p->slice_ext, h->parse_history_count - 3*p->slice_ext);
|
+ init_get_bits8(&gb, p->parse_history + 3*p->slice_ext, p->parse_history_count - 3*p->slice_ext);
|
||||||
h->parse_history_count=0;
|
p->parse_history_count = 0;
|
||||||
mb= get_ue_golomb_long(&gb);
|
mb= get_ue_golomb_long(&gb);
|
||||||
h->parse_last_mb= mb;
|
p->parse_last_mb = mb;
|
||||||
@@ -131,7 +131,7 @@ static int h264_find_frame_end(H264ParseContext *p, const uint8_t *buf,
|
@@ -150,7 +150,7 @@ found:
|
||||||
pc->frame_start_found = 0;
|
pc->frame_start_found = 0;
|
||||||
if (h->is_avc)
|
if (p->is_avc)
|
||||||
return next_avc;
|
return next_avc;
|
||||||
- return i - (state & 5) - 5 * (state > 7);
|
- return i - (state & 5) - 5 * (state > 7);
|
||||||
+ return i - (state & 5) - 8 * (state > 7);
|
+ return i - (state & 5) - 8 * (state > 7);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int scan_mmco_reset(AVCodecParserContext *s)
|
static int scan_mmco_reset(AVCodecParserContext *s, GetBitContext *gb,
|
||||||
|
--
|
||||||
|
2.7.4
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user