aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/mpeg12dec.c
diff options
context:
space:
mode:
authorKieran Kunhya <kierank@obe.tv>2017-12-29 15:42:14 +0000
committerKieran Kunhya <kierank@obe.tv>2018-04-02 13:06:23 +0100
commitf9d3841ae6147eaa51c57c574cd81e9ce9566e3a (patch)
treedd24a952bd115ed8596b952999aad07dcc36742e /libavcodec/mpeg12dec.c
parent699fa8f382704acdbdf720042dd7b21df2eb7558 (diff)
downloadffmpeg-f9d3841ae6147eaa51c57c574cd81e9ce9566e3a.tar.gz
mpeg4video: Add support for MPEG-4 Simple Studio Profile.
This is a profile supporting > 8-bit video and has a higher quality DCT
Diffstat (limited to 'libavcodec/mpeg12dec.c')
-rw-r--r--libavcodec/mpeg12dec.c18
1 files changed, 4 insertions, 14 deletions
diff --git a/libavcodec/mpeg12dec.c b/libavcodec/mpeg12dec.c
index 9e076e89da..83e537884b 100644
--- a/libavcodec/mpeg12dec.c
+++ b/libavcodec/mpeg12dec.c
@@ -649,16 +649,6 @@ static inline int get_dmv(MpegEncContext *s)
return 0;
}
-static inline int get_qscale(MpegEncContext *s)
-{
- int qscale = get_bits(&s->gb, 5);
- if (s->q_scale_type)
- return ff_mpeg2_non_linear_qscale[qscale];
- else
- return qscale << 1;
-}
-
-
/* motion type (for MPEG-2) */
#define MT_FIELD 1
#define MT_FRAME 2
@@ -751,7 +741,7 @@ static int mpeg_decode_mb(MpegEncContext *s, int16_t block[12][64])
s->interlaced_dct = get_bits1(&s->gb);
if (IS_QUANT(mb_type))
- s->qscale = get_qscale(s);
+ s->qscale = mpeg_get_qscale(s);
if (s->concealment_motion_vectors) {
/* just parse them */
@@ -819,7 +809,7 @@ static int mpeg_decode_mb(MpegEncContext *s, int16_t block[12][64])
}
if (IS_QUANT(mb_type))
- s->qscale = get_qscale(s);
+ s->qscale = mpeg_get_qscale(s);
s->last_mv[0][0][0] = 0;
s->last_mv[0][0][1] = 0;
@@ -840,7 +830,7 @@ static int mpeg_decode_mb(MpegEncContext *s, int16_t block[12][64])
}
if (IS_QUANT(mb_type))
- s->qscale = get_qscale(s);
+ s->qscale = mpeg_get_qscale(s);
/* motion vectors */
s->mv_dir = (mb_type >> 13) & 3;
@@ -1728,7 +1718,7 @@ static int mpeg_decode_slice(MpegEncContext *s, int mb_y,
ff_mpeg1_clean_buffers(s);
s->interlaced_dct = 0;
- s->qscale = get_qscale(s);
+ s->qscale = mpeg_get_qscale(s);
if (s->qscale == 0) {
av_log(s->avctx, AV_LOG_ERROR, "qscale == 0\n");