X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fsvq3.c;h=ebfaf908da8e4cf2136adc912542a533336f3694;hb=94d9633a329ef411466b7637ab25725dcb6dc7b8;hp=b463bc809d6903ef55f68805301585e614655439;hpb=e5a389a1b70a32a56aa83377e88bf718251aa8f0;p=ffmpeg diff --git a/libavcodec/svq3.c b/libavcodec/svq3.c index b463bc809d6..ebfaf908da8 100644 --- a/libavcodec/svq3.c +++ b/libavcodec/svq3.c @@ -180,34 +180,6 @@ static void svq3_add_idct_c (uint8_t *dst, DCTELEM *block, int stride, int qp, i } } -static void pred4x4_down_left_svq3_c(uint8_t *src, uint8_t *topright, int stride){ - LOAD_TOP_EDGE - LOAD_LEFT_EDGE - const av_unused int unu0= t0; - const av_unused int unu1= l0; - - src[0+0*stride]=(l1 + t1)>>1; - src[1+0*stride]= - src[0+1*stride]=(l2 + t2)>>1; - src[2+0*stride]= - src[1+1*stride]= - src[0+2*stride]= - src[3+0*stride]= - src[2+1*stride]= - src[1+2*stride]= - src[0+3*stride]= - src[3+1*stride]= - src[2+2*stride]= - src[1+3*stride]= - src[3+2*stride]= - src[2+3*stride]= - src[3+3*stride]=(l3 + t3)>>1; -} - -static void pred16x16_plane_svq3_c(uint8_t *src, int stride){ - pred16x16_plane_compat_c(src, stride, 1); -} - static inline int svq3_decode_block (GetBitContext *gb, DCTELEM *block, int index, const int type) { @@ -465,9 +437,9 @@ static int svq3_decode_mb (H264Context *h, unsigned int mb_type) { mb_type = MB_TYPE_16x16; } } else if (mb_type < 8) { /* INTER */ - if (h->thirdpel_flag && h->halfpel_flag == !get_bits (&s->gb, 1)) { + if (h->thirdpel_flag && h->halfpel_flag == !get_bits1 (&s->gb)) { mode = THIRDPEL_MODE; - } else if (h->halfpel_flag && h->thirdpel_flag == !get_bits (&s->gb, 1)) { + } else if (h->halfpel_flag && h->thirdpel_flag == !get_bits1 (&s->gb)) { mode = HALFPEL_MODE; } else { mode = FULLPEL_MODE; @@ -748,7 +720,7 @@ static int svq3_decode_slice_header (H264Context *h) { i = (s->mb_num < 64) ? 6 : (1 + av_log2 (s->mb_num - 1)); s->mb_skip_run = get_bits (&s->gb, i) - (s->mb_x + (s->mb_y * s->mb_width)); } else { - get_bits1 (&s->gb); + skip_bits1 (&s->gb); s->mb_skip_run = 0; } @@ -757,17 +729,17 @@ static int svq3_decode_slice_header (H264Context *h) { s->adaptive_quant = get_bits1 (&s->gb); /* unknown fields */ - get_bits1 (&s->gb); + skip_bits1 (&s->gb); if (h->unknown_svq3_flag) { - get_bits1 (&s->gb); + skip_bits1 (&s->gb); } - get_bits1 (&s->gb); - get_bits (&s->gb, 2); + skip_bits1 (&s->gb); + skip_bits (&s->gb, 2); while (get_bits1 (&s->gb)) { - get_bits (&s->gb, 8); + skip_bits (&s->gb, 8); } /* reset intra predictors and invalidate motion vector references */ @@ -802,12 +774,10 @@ static int svq3_decode_frame (AVCodecContext *avctx, if (!s->context_initialized) { s->width = avctx->width; s->height = avctx->height; - h->pred4x4[DIAG_DOWN_LEFT_PRED] = pred4x4_down_left_svq3_c; - h->pred16x16[PLANE_PRED8x8] = pred16x16_plane_svq3_c; h->halfpel_flag = 1; h->thirdpel_flag = 1; h->unknown_svq3_flag = 0; - h->chroma_qp = 4; + h->chroma_qp[0] = h->chroma_qp[1] = 4; if (MPV_common_init (s) < 0) return -1; @@ -834,26 +804,26 @@ static int svq3_decode_frame (AVCodecContext *avctx, /* 'frame size code' and optional 'width, height' */ if (get_bits (&gb, 3) == 7) { - get_bits (&gb, 12); - get_bits (&gb, 12); + skip_bits (&gb, 12); + skip_bits (&gb, 12); } h->halfpel_flag = get_bits1 (&gb); h->thirdpel_flag = get_bits1 (&gb); /* unknown fields */ - get_bits1 (&gb); - get_bits1 (&gb); - get_bits1 (&gb); - get_bits1 (&gb); + skip_bits1 (&gb); + skip_bits1 (&gb); + skip_bits1 (&gb); + skip_bits1 (&gb); s->low_delay = get_bits1 (&gb); /* unknown field */ - get_bits1 (&gb); + skip_bits1 (&gb); while (get_bits1 (&gb)) { - get_bits (&gb, 8); + skip_bits (&gb, 8); } h->unknown_svq3_flag = get_bits1 (&gb);