aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2012-02-17 14:18:22 -0800
committerRonald S. Bultje <rsbultje@gmail.com>2012-02-18 09:16:39 -0800
commitc742ab4e81bb9dcabfdab006d6b8b09a5808c4ce (patch)
tree0eff1949c90bb07c23de568e8a39ecb1a47826af
parent9d3050d3e95e307ebc34a943484c7add838d1220 (diff)
downloadffmpeg-c742ab4e81bb9dcabfdab006d6b8b09a5808c4ce.tar.gz
vc1parse: call vc1_init_common().
The parser uses VLC tables initialized in vc1_common_init(), therefore we should call this function on parser init also. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
-rw-r--r--libavcodec/vc1.h1
-rw-r--r--libavcodec/vc1_parser.c2
-rw-r--r--libavcodec/vc1dec.c4
3 files changed, 4 insertions, 3 deletions
diff --git a/libavcodec/vc1.h b/libavcodec/vc1.h
index f895aad204..d07ad8937e 100644
--- a/libavcodec/vc1.h
+++ b/libavcodec/vc1.h
@@ -447,5 +447,6 @@ int ff_vc1_decode_entry_point(AVCodecContext *avctx, VC1Context *v, GetBitContex
int ff_vc1_parse_frame_header (VC1Context *v, GetBitContext *gb);
int ff_vc1_parse_frame_header_adv(VC1Context *v, GetBitContext *gb);
+int ff_vc1_init_common(VC1Context *v);
#endif /* AVCODEC_VC1_H */
diff --git a/libavcodec/vc1_parser.c b/libavcodec/vc1_parser.c
index dfbb1f5119..bf29032c54 100644
--- a/libavcodec/vc1_parser.c
+++ b/libavcodec/vc1_parser.c
@@ -188,7 +188,7 @@ static int vc1_parse_init(AVCodecParserContext *s)
{
VC1ParseContext *vpc = s->priv_data;
vpc->v.s.slice_context_count = 1;
- return 0;
+ return ff_vc1_init_common(&vpc->v);
}
AVCodecParser ff_vc1_parser = {
diff --git a/libavcodec/vc1dec.c b/libavcodec/vc1dec.c
index e48aabcfb2..8ab92b4177 100644
--- a/libavcodec/vc1dec.c
+++ b/libavcodec/vc1dec.c
@@ -67,7 +67,7 @@ static const int offset_table2[9] = { 0, 1, 3, 7, 15, 31, 63, 127, 255 };
* @param v The VC1Context to initialize
* @return Status
*/
-static int vc1_init_common(VC1Context *v)
+int ff_vc1_init_common(VC1Context *v)
{
static int done = 0;
int i = 0;
@@ -5274,7 +5274,7 @@ static av_cold int vc1_decode_init(AVCodecContext *avctx)
avctx->idct_algo = FF_IDCT_WMV2;
}
- if (vc1_init_common(v) < 0)
+ if (ff_vc1_init_common(v) < 0)
return -1;
ff_vc1dsp_init(&v->vc1dsp);