Mercurial > libavcodec.hg
comparison h264.c @ 2935:b564bb15e63c libavcodec
check MPV_frame_start() return value
author | michael |
---|---|
date | Wed, 09 Nov 2005 11:29:29 +0000 |
parents | 16d67170715c |
children | e63bbb945ebd |
comparison
equal
deleted
inserted
replaced
2934:6ade4702eb97 | 2935:b564bb15e63c |
---|---|
3087 } | 3087 } |
3088 | 3088 |
3089 return 0; | 3089 return 0; |
3090 } | 3090 } |
3091 | 3091 |
3092 static void frame_start(H264Context *h){ | 3092 static int frame_start(H264Context *h){ |
3093 MpegEncContext * const s = &h->s; | 3093 MpegEncContext * const s = &h->s; |
3094 int i; | 3094 int i; |
3095 | 3095 |
3096 MPV_frame_start(s, s->avctx); | 3096 if(MPV_frame_start(s, s->avctx) < 0) |
3097 return -1; | |
3097 ff_er_frame_start(s); | 3098 ff_er_frame_start(s); |
3098 | 3099 |
3099 assert(s->linesize && s->uvlinesize); | 3100 assert(s->linesize && s->uvlinesize); |
3100 | 3101 |
3101 for(i=0; i<16; i++){ | 3102 for(i=0; i<16; i++){ |
3113 * FIXME: redo bipred weight to not require extra buffer? */ | 3114 * FIXME: redo bipred weight to not require extra buffer? */ |
3114 if(!s->obmc_scratchpad) | 3115 if(!s->obmc_scratchpad) |
3115 s->obmc_scratchpad = av_malloc(16*s->linesize + 2*8*s->uvlinesize); | 3116 s->obmc_scratchpad = av_malloc(16*s->linesize + 2*8*s->uvlinesize); |
3116 | 3117 |
3117 // s->decode= (s->flags&CODEC_FLAG_PSNR) || !s->encoding || s->current_picture.reference /*|| h->contains_intra*/ || 1; | 3118 // s->decode= (s->flags&CODEC_FLAG_PSNR) || !s->encoding || s->current_picture.reference /*|| h->contains_intra*/ || 1; |
3119 return 0; | |
3118 } | 3120 } |
3119 | 3121 |
3120 static inline void backup_mb_border(H264Context *h, uint8_t *src_y, uint8_t *src_cb, uint8_t *src_cr, int linesize, int uvlinesize){ | 3122 static inline void backup_mb_border(H264Context *h, uint8_t *src_y, uint8_t *src_cb, uint8_t *src_cr, int linesize, int uvlinesize){ |
3121 MpegEncContext * const s = &h->s; | 3123 MpegEncContext * const s = &h->s; |
3122 int i; | 3124 int i; |
4288 s->avctx->time_base= (AVRational){h->sps.num_units_in_tick, h->sps.time_scale}; | 4290 s->avctx->time_base= (AVRational){h->sps.num_units_in_tick, h->sps.time_scale}; |
4289 } | 4291 } |
4290 } | 4292 } |
4291 | 4293 |
4292 if(h->slice_num == 0){ | 4294 if(h->slice_num == 0){ |
4293 frame_start(h); | 4295 if(frame_start(h) < 0) |
4296 return -1; | |
4294 } | 4297 } |
4295 | 4298 |
4296 s->current_picture_ptr->frame_num= //FIXME frame_num cleanup | 4299 s->current_picture_ptr->frame_num= //FIXME frame_num cleanup |
4297 h->frame_num= get_bits(&s->gb, h->sps.log2_max_frame_num); | 4300 h->frame_num= get_bits(&s->gb, h->sps.log2_max_frame_num); |
4298 | 4301 |