Mercurial > libavcodec.hg
comparison h263.c @ 2637:ef44d24680d1 libavcodec
switch to native time bases
author | michael |
---|---|
date | Sat, 30 Apr 2005 21:43:59 +0000 |
parents | 67171616ead6 |
children | e2780f828440 |
comparison
equal
deleted
inserted
replaced
2636:2344c6713011 | 2637:ef44d24680d1 |
---|---|
158 | 158 |
159 align_put_bits(&s->pb); | 159 align_put_bits(&s->pb); |
160 | 160 |
161 put_bits(&s->pb, 17, 1); | 161 put_bits(&s->pb, 17, 1); |
162 put_bits(&s->pb, 5, (s->h263_flv-1)); /* 0: h263 escape codes 1: 11-bit escape codes */ | 162 put_bits(&s->pb, 5, (s->h263_flv-1)); /* 0: h263 escape codes 1: 11-bit escape codes */ |
163 put_bits(&s->pb, 8, (((int64_t)s->picture_number * 30 * s->avctx->frame_rate_base) / | 163 put_bits(&s->pb, 8, (((int64_t)s->picture_number * 30 * s->avctx->time_base.num) / //FIXME use timestamp |
164 s->avctx->frame_rate) & 0xff); /* TemporalReference */ | 164 s->avctx->time_base.den) & 0xff); /* TemporalReference */ |
165 if (s->width == 352 && s->height == 288) | 165 if (s->width == 352 && s->height == 288) |
166 format = 2; | 166 format = 2; |
167 else if (s->width == 176 && s->height == 144) | 167 else if (s->width == 176 && s->height == 144) |
168 format = 3; | 168 format = 3; |
169 else if (s->width == 128 && s->height == 96) | 169 else if (s->width == 128 && s->height == 96) |
206 int best_error= INT_MAX; | 206 int best_error= INT_MAX; |
207 | 207 |
208 if(s->h263_plus){ | 208 if(s->h263_plus){ |
209 for(i=0; i<2; i++){ | 209 for(i=0; i<2; i++){ |
210 int div, error; | 210 int div, error; |
211 div= (s->avctx->frame_rate_base*1800000LL + 500LL*s->avctx->frame_rate) / ((1000LL+i)*s->avctx->frame_rate); | 211 div= (s->avctx->time_base.num*1800000LL + 500LL*s->avctx->time_base.den) / ((1000LL+i)*s->avctx->time_base.den); |
212 div= clip(1, div, 127); | 212 div= clip(1, div, 127); |
213 error= ABS(s->avctx->frame_rate_base*1800000LL - (1000LL+i)*s->avctx->frame_rate*div); | 213 error= ABS(s->avctx->time_base.num*1800000LL - (1000LL+i)*s->avctx->time_base.den*div); |
214 if(error < best_error){ | 214 if(error < best_error){ |
215 best_error= error; | 215 best_error= error; |
216 best_divisor= div; | 216 best_divisor= div; |
217 best_clock_code= i; | 217 best_clock_code= i; |
218 } | 218 } |
225 align_put_bits(&s->pb); | 225 align_put_bits(&s->pb); |
226 | 226 |
227 /* Update the pointer to last GOB */ | 227 /* Update the pointer to last GOB */ |
228 s->ptr_lastgob = pbBufPtr(&s->pb); | 228 s->ptr_lastgob = pbBufPtr(&s->pb); |
229 put_bits(&s->pb, 22, 0x20); /* PSC */ | 229 put_bits(&s->pb, 22, 0x20); /* PSC */ |
230 temp_ref= s->picture_number * (int64_t)coded_frame_rate * s->avctx->frame_rate_base / | 230 temp_ref= s->picture_number * (int64_t)coded_frame_rate * s->avctx->time_base.num / //FIXME use timestamp |
231 (coded_frame_rate_base * (int64_t)s->avctx->frame_rate); | 231 (coded_frame_rate_base * (int64_t)s->avctx->time_base.den); |
232 put_bits(&s->pb, 8, temp_ref & 0xff); /* TemporalReference */ | 232 put_bits(&s->pb, 8, temp_ref & 0xff); /* TemporalReference */ |
233 | 233 |
234 put_bits(&s->pb, 1, 1); /* marker */ | 234 put_bits(&s->pb, 1, 1); /* marker */ |
235 put_bits(&s->pb, 1, 0); /* h263 id */ | 235 put_bits(&s->pb, 1, 0); /* h263 id */ |
236 put_bits(&s->pb, 1, 0); /* split screen off */ | 236 put_bits(&s->pb, 1, 0); /* split screen off */ |
2208 /* must be called before writing the header */ | 2208 /* must be called before writing the header */ |
2209 void ff_set_mpeg4_time(MpegEncContext * s, int picture_number){ | 2209 void ff_set_mpeg4_time(MpegEncContext * s, int picture_number){ |
2210 int time_div, time_mod; | 2210 int time_div, time_mod; |
2211 | 2211 |
2212 assert(s->current_picture_ptr->pts != AV_NOPTS_VALUE); | 2212 assert(s->current_picture_ptr->pts != AV_NOPTS_VALUE); |
2213 s->time= (s->current_picture_ptr->pts*s->time_increment_resolution + AV_TIME_BASE/2)/AV_TIME_BASE; | 2213 s->time= s->current_picture_ptr->pts*s->avctx->time_base.num; |
2214 | 2214 |
2215 time_div= s->time/s->time_increment_resolution; | 2215 time_div= s->time/s->avctx->time_base.den; |
2216 time_mod= s->time%s->time_increment_resolution; | 2216 time_mod= s->time%s->avctx->time_base.den; |
2217 | 2217 |
2218 if(s->pict_type==B_TYPE){ | 2218 if(s->pict_type==B_TYPE){ |
2219 s->pb_time= s->pp_time - (s->last_non_b_time - s->time); | 2219 s->pb_time= s->pp_time - (s->last_non_b_time - s->time); |
2220 assert(s->pb_time > 0 && s->pb_time < s->pp_time); | 2220 assert(s->pb_time > 0 && s->pb_time < s->pp_time); |
2221 }else{ | 2221 }else{ |
2235 put_bits(&s->pb, 16, GOP_STARTCODE); | 2235 put_bits(&s->pb, 16, GOP_STARTCODE); |
2236 | 2236 |
2237 time= s->current_picture_ptr->pts; | 2237 time= s->current_picture_ptr->pts; |
2238 if(s->reordered_input_picture[1]) | 2238 if(s->reordered_input_picture[1]) |
2239 time= FFMIN(time, s->reordered_input_picture[1]->pts); | 2239 time= FFMIN(time, s->reordered_input_picture[1]->pts); |
2240 time= (time*s->time_increment_resolution + AV_TIME_BASE/2)/AV_TIME_BASE; | 2240 time= time*s->avctx->time_base.num; |
2241 | 2241 |
2242 seconds= time/s->time_increment_resolution; | 2242 seconds= time/s->avctx->time_base.den; |
2243 minutes= seconds/60; seconds %= 60; | 2243 minutes= seconds/60; seconds %= 60; |
2244 hours= minutes/60; minutes %= 60; | 2244 hours= minutes/60; minutes %= 60; |
2245 hours%=24; | 2245 hours%=24; |
2246 | 2246 |
2247 put_bits(&s->pb, 5, hours); | 2247 put_bits(&s->pb, 5, hours); |
2250 put_bits(&s->pb, 6, seconds); | 2250 put_bits(&s->pb, 6, seconds); |
2251 | 2251 |
2252 put_bits(&s->pb, 1, !!(s->flags&CODEC_FLAG_CLOSED_GOP)); | 2252 put_bits(&s->pb, 1, !!(s->flags&CODEC_FLAG_CLOSED_GOP)); |
2253 put_bits(&s->pb, 1, 0); //broken link == NO | 2253 put_bits(&s->pb, 1, 0); //broken link == NO |
2254 | 2254 |
2255 s->last_time_base= time / s->time_increment_resolution; | 2255 s->last_time_base= time / s->avctx->time_base.den; |
2256 | 2256 |
2257 ff_mpeg4_stuffing(&s->pb); | 2257 ff_mpeg4_stuffing(&s->pb); |
2258 } | 2258 } |
2259 | 2259 |
2260 static void mpeg4_encode_visual_object_header(MpegEncContext * s){ | 2260 static void mpeg4_encode_visual_object_header(MpegEncContext * s){ |
2347 } | 2347 } |
2348 | 2348 |
2349 put_bits(&s->pb, 2, RECT_SHAPE); /* vol shape= rectangle */ | 2349 put_bits(&s->pb, 2, RECT_SHAPE); /* vol shape= rectangle */ |
2350 put_bits(&s->pb, 1, 1); /* marker bit */ | 2350 put_bits(&s->pb, 1, 1); /* marker bit */ |
2351 | 2351 |
2352 put_bits(&s->pb, 16, s->time_increment_resolution); | 2352 put_bits(&s->pb, 16, s->avctx->time_base.den); |
2353 if (s->time_increment_bits < 1) | 2353 if (s->time_increment_bits < 1) |
2354 s->time_increment_bits = 1; | 2354 s->time_increment_bits = 1; |
2355 put_bits(&s->pb, 1, 1); /* marker bit */ | 2355 put_bits(&s->pb, 1, 1); /* marker bit */ |
2356 put_bits(&s->pb, 1, 0); /* fixed vop rate=no */ | 2356 put_bits(&s->pb, 1, 0); /* fixed vop rate=no */ |
2357 put_bits(&s->pb, 1, 1); /* marker bit */ | 2357 put_bits(&s->pb, 1, 1); /* marker bit */ |
2418 mpeg4_encode_gop_header(s); | 2418 mpeg4_encode_gop_header(s); |
2419 } | 2419 } |
2420 | 2420 |
2421 s->partitioned_frame= s->data_partitioning && s->pict_type!=B_TYPE; | 2421 s->partitioned_frame= s->data_partitioning && s->pict_type!=B_TYPE; |
2422 | 2422 |
2423 //printf("num:%d rate:%d base:%d\n", s->picture_number, s->frame_rate, FRAME_RATE_BASE); | 2423 //printf("num:%d rate:%d base:%d\n", s->picture_number, s->time_base.den, FRAME_RATE_BASE); |
2424 | 2424 |
2425 put_bits(&s->pb, 16, 0); /* vop header */ | 2425 put_bits(&s->pb, 16, 0); /* vop header */ |
2426 put_bits(&s->pb, 16, VOP_STARTCODE); /* vop header */ | 2426 put_bits(&s->pb, 16, VOP_STARTCODE); /* vop header */ |
2427 put_bits(&s->pb, 2, s->pict_type - 1); /* pict type: I = 0 , P = 1 */ | 2427 put_bits(&s->pb, 2, s->pict_type - 1); /* pict type: I = 0 , P = 1 */ |
2428 | 2428 |
2429 time_div= s->time/s->time_increment_resolution; | 2429 time_div= s->time/s->avctx->time_base.den; |
2430 time_mod= s->time%s->time_increment_resolution; | 2430 time_mod= s->time%s->avctx->time_base.den; |
2431 time_incr= time_div - s->last_time_base; | 2431 time_incr= time_div - s->last_time_base; |
2432 assert(time_incr >= 0); | 2432 assert(time_incr >= 0); |
2433 while(time_incr--) | 2433 while(time_incr--) |
2434 put_bits(&s->pb, 1, 1); | 2434 put_bits(&s->pb, 1, 1); |
2435 | 2435 |
5052 skip_bits1(&s->gb); /* Continuous Presence Multipoint mode: off */ | 5052 skip_bits1(&s->gb); /* Continuous Presence Multipoint mode: off */ |
5053 | 5053 |
5054 s->width = width; | 5054 s->width = width; |
5055 s->height = height; | 5055 s->height = height; |
5056 s->avctx->sample_aspect_ratio= (AVRational){12,11}; | 5056 s->avctx->sample_aspect_ratio= (AVRational){12,11}; |
5057 s->avctx->frame_rate = 30000; | 5057 s->avctx->time_base= (AVRational){1001, 30000}; |
5058 s->avctx->frame_rate_base= 1001; | |
5059 } else { | 5058 } else { |
5060 int ufep; | 5059 int ufep; |
5061 | 5060 |
5062 /* H.263v2 */ | 5061 /* H.263v2 */ |
5063 s->h263_plus = 1; | 5062 s->h263_plus = 1; |
5148 s->width = width; | 5147 s->width = width; |
5149 s->height = height; | 5148 s->height = height; |
5150 | 5149 |
5151 if(s->custom_pcf){ | 5150 if(s->custom_pcf){ |
5152 int gcd; | 5151 int gcd; |
5153 s->avctx->frame_rate= 1800000; | 5152 s->avctx->time_base.den= 1800000; |
5154 s->avctx->frame_rate_base= 1000 + get_bits1(&s->gb); | 5153 s->avctx->time_base.num= 1000 + get_bits1(&s->gb); |
5155 s->avctx->frame_rate_base*= get_bits(&s->gb, 7); | 5154 s->avctx->time_base.num*= get_bits(&s->gb, 7); |
5156 if(s->avctx->frame_rate_base == 0){ | 5155 if(s->avctx->time_base.num == 0){ |
5157 av_log(s, AV_LOG_ERROR, "zero framerate\n"); | 5156 av_log(s, AV_LOG_ERROR, "zero framerate\n"); |
5158 return -1; | 5157 return -1; |
5159 } | 5158 } |
5160 gcd= ff_gcd(s->avctx->frame_rate, s->avctx->frame_rate_base); | 5159 gcd= ff_gcd(s->avctx->time_base.den, s->avctx->time_base.num); |
5161 s->avctx->frame_rate /= gcd; | 5160 s->avctx->time_base.den /= gcd; |
5162 s->avctx->frame_rate_base /= gcd; | 5161 s->avctx->time_base.num /= gcd; |
5163 // av_log(s->avctx, AV_LOG_DEBUG, "%d/%d\n", s->avctx->frame_rate, s->avctx->frame_rate_base); | 5162 // av_log(s->avctx, AV_LOG_DEBUG, "%d/%d\n", s->avctx->time_base.den, s->avctx->time_base.num); |
5164 }else{ | 5163 }else{ |
5165 s->avctx->frame_rate = 30000; | 5164 s->avctx->time_base= (AVRational){1001, 30000}; |
5166 s->avctx->frame_rate_base= 1001; | |
5167 } | 5165 } |
5168 } | 5166 } |
5169 | 5167 |
5170 if(s->custom_pcf){ | 5168 if(s->custom_pcf){ |
5171 skip_bits(&s->gb, 2); //extended Temporal reference | 5169 skip_bits(&s->gb, 2); //extended Temporal reference |
5232 s->h263_aic ? " AIC" : "", | 5230 s->h263_aic ? " AIC" : "", |
5233 s->alt_inter_vlc ? " AIV" : "", | 5231 s->alt_inter_vlc ? " AIV" : "", |
5234 s->modified_quant ? " MQ" : "", | 5232 s->modified_quant ? " MQ" : "", |
5235 s->loop_filter ? " LOOP" : "", | 5233 s->loop_filter ? " LOOP" : "", |
5236 s->h263_slice_structured ? " SS" : "", | 5234 s->h263_slice_structured ? " SS" : "", |
5237 s->avctx->frame_rate, s->avctx->frame_rate_base | 5235 s->avctx->time_base.den, s->avctx->time_base.num |
5238 ); | 5236 ); |
5239 } | 5237 } |
5240 #if 1 | 5238 #if 1 |
5241 if (s->pict_type == I_TYPE && s->avctx->codec_tag == ff_get_fourcc("ZYGO")){ | 5239 if (s->pict_type == I_TYPE && s->avctx->codec_tag == ff_get_fourcc("ZYGO")){ |
5242 int i,j; | 5240 int i,j; |
5535 skip_bits(gb, 4); //video_object_layer_shape_extension | 5533 skip_bits(gb, 4); //video_object_layer_shape_extension |
5536 } | 5534 } |
5537 | 5535 |
5538 check_marker(gb, "before time_increment_resolution"); | 5536 check_marker(gb, "before time_increment_resolution"); |
5539 | 5537 |
5540 s->time_increment_resolution = get_bits(gb, 16); | 5538 s->avctx->time_base.den = get_bits(gb, 16); |
5541 | 5539 |
5542 s->time_increment_bits = av_log2(s->time_increment_resolution - 1) + 1; | 5540 s->time_increment_bits = av_log2(s->avctx->time_base.den - 1) + 1; |
5543 if (s->time_increment_bits < 1) | 5541 if (s->time_increment_bits < 1) |
5544 s->time_increment_bits = 1; | 5542 s->time_increment_bits = 1; |
5545 | 5543 |
5546 check_marker(gb, "before fixed_vop_rate"); | 5544 check_marker(gb, "before fixed_vop_rate"); |
5547 | 5545 |
5548 if (get_bits1(gb) != 0) { /* fixed_vop_rate */ | 5546 if (get_bits1(gb) != 0) { /* fixed_vop_rate */ |
5549 skip_bits(gb, s->time_increment_bits); | 5547 s->avctx->time_base.num = get_bits(gb, s->time_increment_bits); |
5550 } | 5548 }else |
5551 | 5549 s->avctx->time_base.num = 1; |
5550 | |
5552 s->t_frame=0; | 5551 s->t_frame=0; |
5553 | 5552 |
5554 if (s->shape != BIN_ONLY_SHAPE) { | 5553 if (s->shape != BIN_ONLY_SHAPE) { |
5555 if (s->shape == RECT_SHAPE) { | 5554 if (s->shape == RECT_SHAPE) { |
5556 skip_bits1(gb); /* marker */ | 5555 skip_bits1(gb); /* marker */ |
5797 if(s->partitioned_frame) | 5796 if(s->partitioned_frame) |
5798 s->decode_mb= mpeg4_decode_partitioned_mb; | 5797 s->decode_mb= mpeg4_decode_partitioned_mb; |
5799 else | 5798 else |
5800 s->decode_mb= ff_mpeg4_decode_mb; | 5799 s->decode_mb= ff_mpeg4_decode_mb; |
5801 | 5800 |
5802 if(s->time_increment_resolution==0){ | 5801 if(s->avctx->time_base.den==0){ |
5803 s->time_increment_resolution=1; | 5802 s->avctx->time_base.den=1; |
5804 // fprintf(stderr, "time_increment_resolution is illegal\n"); | 5803 // fprintf(stderr, "time_increment_resolution is illegal\n"); |
5805 } | 5804 } |
5806 time_incr=0; | 5805 time_incr=0; |
5807 while (get_bits1(gb) != 0) | 5806 while (get_bits1(gb) != 0) |
5808 time_incr++; | 5807 time_incr++; |
5825 // printf("%d %X\n", s->time_increment_bits, time_increment); | 5824 // printf("%d %X\n", s->time_increment_bits, time_increment); |
5826 //av_log(s->avctx, AV_LOG_DEBUG, " type:%d modulo_time_base:%d increment:%d t_frame %d\n", s->pict_type, time_incr, time_increment, s->t_frame); | 5825 //av_log(s->avctx, AV_LOG_DEBUG, " type:%d modulo_time_base:%d increment:%d t_frame %d\n", s->pict_type, time_incr, time_increment, s->t_frame); |
5827 if(s->pict_type!=B_TYPE){ | 5826 if(s->pict_type!=B_TYPE){ |
5828 s->last_time_base= s->time_base; | 5827 s->last_time_base= s->time_base; |
5829 s->time_base+= time_incr; | 5828 s->time_base+= time_incr; |
5830 s->time= s->time_base*s->time_increment_resolution + time_increment; | 5829 s->time= s->time_base*s->avctx->time_base.den + time_increment; |
5831 if(s->workaround_bugs&FF_BUG_UMP4){ | 5830 if(s->workaround_bugs&FF_BUG_UMP4){ |
5832 if(s->time < s->last_non_b_time){ | 5831 if(s->time < s->last_non_b_time){ |
5833 // fprintf(stderr, "header is not mpeg4 compatible, broken encoder, trying to workaround\n"); | 5832 // fprintf(stderr, "header is not mpeg4 compatible, broken encoder, trying to workaround\n"); |
5834 s->time_base++; | 5833 s->time_base++; |
5835 s->time+= s->time_increment_resolution; | 5834 s->time+= s->avctx->time_base.den; |
5836 } | 5835 } |
5837 } | 5836 } |
5838 s->pp_time= s->time - s->last_non_b_time; | 5837 s->pp_time= s->time - s->last_non_b_time; |
5839 s->last_non_b_time= s->time; | 5838 s->last_non_b_time= s->time; |
5840 }else{ | 5839 }else{ |
5841 s->time= (s->last_time_base + time_incr)*s->time_increment_resolution + time_increment; | 5840 s->time= (s->last_time_base + time_incr)*s->avctx->time_base.den + time_increment; |
5842 s->pb_time= s->pp_time - (s->last_non_b_time - s->time); | 5841 s->pb_time= s->pp_time - (s->last_non_b_time - s->time); |
5843 if(s->pp_time <=s->pb_time || s->pp_time <= s->pp_time - s->pb_time || s->pp_time<=0){ | 5842 if(s->pp_time <=s->pb_time || s->pp_time <= s->pp_time - s->pb_time || s->pp_time<=0){ |
5844 // printf("messed up order, maybe after seeking? skipping current b frame\n"); | 5843 // printf("messed up order, maybe after seeking? skipping current b frame\n"); |
5845 return FRAME_SKIPPED; | 5844 return FRAME_SKIPPED; |
5846 } | 5845 } |
5852 s->pb_field_time= ( ROUNDED_DIV(s->time, s->t_frame) | 5851 s->pb_field_time= ( ROUNDED_DIV(s->time, s->t_frame) |
5853 - ROUNDED_DIV(s->last_non_b_time - s->pp_time, s->t_frame))*2; | 5852 - ROUNDED_DIV(s->last_non_b_time - s->pp_time, s->t_frame))*2; |
5854 } | 5853 } |
5855 //av_log(s->avctx, AV_LOG_DEBUG, "last nonb %Ld last_base %d time %Ld pp %d pb %d t %d ppf %d pbf %d\n", s->last_non_b_time, s->last_time_base, s->time, s->pp_time, s->pb_time, s->t_frame, s->pp_field_time, s->pb_field_time); | 5854 //av_log(s->avctx, AV_LOG_DEBUG, "last nonb %Ld last_base %d time %Ld pp %d pb %d t %d ppf %d pbf %d\n", s->last_non_b_time, s->last_time_base, s->time, s->pp_time, s->pb_time, s->t_frame, s->pp_field_time, s->pb_field_time); |
5856 | 5855 |
5857 s->current_picture_ptr->pts= s->time*(int64_t)AV_TIME_BASE / s->time_increment_resolution; | 5856 s->current_picture_ptr->pts= (s->time + s->avctx->time_base.num/2) / s->avctx->time_base.num; |
5858 if(s->avctx->debug&FF_DEBUG_PTS) | 5857 if(s->avctx->debug&FF_DEBUG_PTS) |
5859 av_log(s->avctx, AV_LOG_DEBUG, "MPEG4 PTS: %f\n", s->current_picture_ptr->pts/(float)AV_TIME_BASE); | 5858 av_log(s->avctx, AV_LOG_DEBUG, "MPEG4 PTS: %f\n", s->current_picture_ptr->pts); |
5860 | 5859 |
5861 check_marker(gb, "before vop_coded"); | 5860 check_marker(gb, "before vop_coded"); |
5862 | 5861 |
5863 /* vop coded */ | 5862 /* vop coded */ |
5864 if (get_bits1(gb) != 1){ | 5863 if (get_bits1(gb) != 1){ |
5865 if(s->avctx->debug&FF_DEBUG_PICT_INFO) | 5864 if(s->avctx->debug&FF_DEBUG_PICT_INFO) |
5866 av_log(s->avctx, AV_LOG_ERROR, "vop not coded\n"); | 5865 av_log(s->avctx, AV_LOG_ERROR, "vop not coded\n"); |
5867 return FRAME_SKIPPED; | 5866 return FRAME_SKIPPED; |
5868 } | 5867 } |
5869 //printf("time %d %d %d || %Ld %Ld %Ld\n", s->time_increment_bits, s->time_increment_resolution, s->time_base, | 5868 //printf("time %d %d %d || %Ld %Ld %Ld\n", s->time_increment_bits, s->avctx->time_base.den, s->time_base, |
5870 //s->time, s->last_non_b_time, s->last_non_b_time - s->pp_time); | 5869 //s->time, s->last_non_b_time, s->last_non_b_time - s->pp_time); |
5871 if (s->shape != BIN_ONLY_SHAPE && ( s->pict_type == P_TYPE | 5870 if (s->shape != BIN_ONLY_SHAPE && ( s->pict_type == P_TYPE |
5872 || (s->pict_type == S_TYPE && s->vol_sprite_usage==GMC_SPRITE))) { | 5871 || (s->pict_type == S_TYPE && s->vol_sprite_usage==GMC_SPRITE))) { |
5873 /* rounding type for motion estimation */ | 5872 /* rounding type for motion estimation */ |
5874 s->no_rounding = get_bits1(gb); | 5873 s->no_rounding = get_bits1(gb); |