Set x264_build so that checks are simpler.

Originally committed as revision 21681 to svn://svn.ffmpeg.org/ffmpeg/trunk
release/0.6
Michael Niedermayer 15 years ago
parent 3a06e8647f
commit 055a6aa76a
  1. 3
      libavcodec/h264.c
  2. 4
      libavcodec/h264_direct.c

@ -873,6 +873,7 @@ av_cold int ff_h264_decode_init(AVCodecContext *avctx){
h->thread_context[0] = h;
h->outputed_poc = INT_MIN;
h->prev_poc_msb= 1<<16;
h->x264_build = -1;
ff_h264_reset_sei(h);
if(avctx->codec_id == CODEC_ID_H264){
if(avctx->ticks_per_frame == 1){
@ -1782,7 +1783,7 @@ static int decode_slice_header(H264Context *h, H264Context *h0){
if(h->sps.timing_info_present_flag){
int64_t den= h->sps.time_scale;
if(h->x264_build > 0 && h->x264_build < 44)
if(h->x264_build < 44U)
den *= 2;
av_reduce(&s->avctx->time_base.num, &s->avctx->time_base.den,
h->sps.num_units_in_tick, den, 1<<30);

@ -286,7 +286,7 @@ single_col:
if(!IS_INTRA(mb_type_col[0]) && !h->ref_list[1][0].long_ref
&& ( (l1ref0[0] == 0 && FFABS(l1mv0[0][0]) <= 1 && FFABS(l1mv0[0][1]) <= 1)
|| (l1ref0[0] < 0 && l1ref1[0] == 0 && FFABS(l1mv1[0][0]) <= 1 && FFABS(l1mv1[0][1]) <= 1
&& (h->x264_build>33 || !h->x264_build)))){
&& h->x264_build>33U))){
a=b=0;
if(ref[0] > 0)
a= pack16to32(mv[0][0],mv[0][1]);
@ -315,7 +315,7 @@ single_col:
/* col_zero_flag */
if(!IS_INTRA(mb_type_col[0]) && !h->ref_list[1][0].long_ref && ( l1ref0[x8 + y8*b8_stride] == 0
|| (l1ref0[x8 + y8*b8_stride] < 0 && l1ref1[x8 + y8*b8_stride] == 0
&& (h->x264_build>33 || !h->x264_build)))){
&& h->x264_build>33U))){
const int16_t (*l1mv)[2]= l1ref0[x8 + y8*b8_stride] == 0 ? l1mv0 : l1mv1;
if(IS_SUB_8X8(sub_mb_type)){
const int16_t *mv_col = l1mv[x8*3 + y8*3*b4_stride];

Loading…
Cancel
Save