MCPcopy Create free account
hub / github.com/FFmpeg/FFmpeg / decode_ext_header

Function decode_ext_header

libavcodec/wmv2dec.c:82–112  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

80}
81
82static int decode_ext_header(Wmv2Context *w){
83 MpegEncContext * const s= &w->s;
84 GetBitContext gb;
85 int fps;
86 int code;
87
88 if(s->avctx->extradata_size<4) return -1;
89
90 init_get_bits(&gb, s->avctx->extradata, s->avctx->extradata_size*8);
91
92 fps = get_bits(&gb, 5);
93 s->bit_rate = get_bits(&gb, 11)*1024;
94 w->mspel_bit = get_bits1(&gb);
95 s->loop_filter = get_bits1(&gb);
96 w->abt_flag = get_bits1(&gb);
97 w->j_type_bit = get_bits1(&gb);
98 w->top_left_mv_flag= get_bits1(&gb);
99 w->per_mb_rl_bit = get_bits1(&gb);
100 code = get_bits(&gb, 3);
101
102 if(code==0) return -1;
103
104 s->slice_height = s->mb_height / code;
105
106 if(s->avctx->debug&FF_DEBUG_PICT_INFO){
107 av_log(s->avctx, AV_LOG_DEBUG, "fps:%d, br:%d, qpbit:%d, abt_flag:%d, j_type_bit:%d, tl_mv_flag:%d, mbrl_bit:%d, code:%d, loop_filter:%d, slices:%d\n",
108 fps, s->bit_rate, w->mspel_bit, w->abt_flag, w->j_type_bit, w->top_left_mv_flag, w->per_mb_rl_bit, code, s->loop_filter,
109 code);
110 }
111 return 0;
112}
113
114int ff_wmv2_decode_picture_header(MpegEncContext * s)
115{

Callers 1

Calls 4

init_get_bitsFunction · 0.85
get_bitsFunction · 0.85
get_bits1Function · 0.85
av_logFunction · 0.85

Tested by

no test coverage detected