}
}
-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) {
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;
}
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 */
static int svq3_decode_frame (AVCodecContext *avctx,
void *data, int *data_size,
- uint8_t *buf, int buf_size) {
+ const uint8_t *buf, int buf_size) {
MpegEncContext *const s = avctx->priv_data;
H264Context *const h = avctx->priv_data;
int m, mb_type;
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;
/* '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);