"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "libavcodec/h264_slice.c" between
libav-12.1.tar.gz and libav-12.2.tar.gz

About: libav provides cross-platform tools ("avconv") and libraries to convert, manipulate and stream a wide range of multimedia (audio and video) formats and protocols.

h264_slice.c  (libav-12.1):h264_slice.c  (libav-12.2)
skipping to change at line 404 skipping to change at line 404
h->cur_pic_ptr = REBASE_PICTURE(h1->cur_pic_ptr, h, h1); h->cur_pic_ptr = REBASE_PICTURE(h1->cur_pic_ptr, h, h1);
ff_h264_unref_picture(h, &h->cur_pic); ff_h264_unref_picture(h, &h->cur_pic);
if (h1->cur_pic.f->buf[0]) { if (h1->cur_pic.f->buf[0]) {
ret = ff_h264_ref_picture(h, &h->cur_pic, &h1->cur_pic); ret = ff_h264_ref_picture(h, &h->cur_pic, &h1->cur_pic);
if (ret < 0) if (ret < 0)
return ret; return ret;
} }
h->enable_er = h1->enable_er; h->enable_er = h1->enable_er;
h->workaround_bugs = h1->workaround_bugs; h->workaround_bugs = h1->workaround_bugs;
h->x264_build = h1->x264_build;
h->droppable = h1->droppable; h->droppable = h1->droppable;
// extradata/NAL handling // extradata/NAL handling
h->is_avc = h1->is_avc; h->is_avc = h1->is_avc;
h->nal_length_size = h1->nal_length_size; h->nal_length_size = h1->nal_length_size;
memcpy(&h->poc, &h1->poc, sizeof(h->poc)); memcpy(&h->poc, &h1->poc, sizeof(h->poc));
memcpy(h->short_ref, h1->short_ref, sizeof(h->short_ref)); memcpy(h->short_ref, h1->short_ref, sizeof(h->short_ref));
memcpy(h->long_ref, h1->long_ref, sizeof(h->long_ref)); memcpy(h->long_ref, h1->long_ref, sizeof(h->long_ref));
skipping to change at line 505 skipping to change at line 506
* in the next ff_mpv_frame_start(). * in the next ff_mpv_frame_start().
*/ */
h->cur_pic_ptr->reference = 0; h->cur_pic_ptr->reference = 0;
h->cur_pic_ptr->field_poc[0] = h->cur_pic_ptr->field_poc[1] = INT_MAX; h->cur_pic_ptr->field_poc[0] = h->cur_pic_ptr->field_poc[1] = INT_MAX;
h->postpone_filter = 0; h->postpone_filter = 0;
h->mb_aff_frame = h->ps.sps->mb_aff && (h->picture_structure == PICT_FRAME); h->mb_aff_frame = h->ps.sps->mb_aff && (h->picture_structure == PICT_FRAME);
if (h->sei.unregistered.x264_build >= 0)
h->x264_build = h->sei.unregistered.x264_build;
assert(h->cur_pic_ptr->long_ref == 0); assert(h->cur_pic_ptr->long_ref == 0);
return 0; return 0;
} }
static av_always_inline void backup_mb_border(const H264Context *h, H264SliceCon text *sl, static av_always_inline void backup_mb_border(const H264Context *h, H264SliceCon text *sl,
uint8_t *src_y, uint8_t *src_y,
uint8_t *src_cb, uint8_t *src_cr, uint8_t *src_cb, uint8_t *src_cr,
int linesize, int uvlinesize, int linesize, int uvlinesize,
int simple) int simple)
skipping to change at line 842 skipping to change at line 846
{ {
const SPS *sps = h->ps.sps; const SPS *sps = h->ps.sps;
int i, ret; int i, ret;
ff_set_sar(h->avctx, sps->sar); ff_set_sar(h->avctx, sps->sar);
av_pix_fmt_get_chroma_sub_sample(h->avctx->pix_fmt, av_pix_fmt_get_chroma_sub_sample(h->avctx->pix_fmt,
&h->chroma_x_shift, &h->chroma_y_shift); &h->chroma_x_shift, &h->chroma_y_shift);
if (sps->timing_info_present_flag) { if (sps->timing_info_present_flag) {
int64_t den = sps->time_scale; int64_t den = sps->time_scale;
if (h->sei.unregistered.x264_build < 44U) if (h->x264_build < 44U)
den *= 2; den *= 2;
av_reduce(&h->avctx->framerate.den, &h->avctx->framerate.num, av_reduce(&h->avctx->framerate.den, &h->avctx->framerate.num,
sps->num_units_in_tick, den, 1 << 30); sps->num_units_in_tick, den, 1 << 30);
} }
ff_h264_free_tables(h); ff_h264_free_tables(h);
h->first_field = 0; h->first_field = 0;
h->prev_interlaced_frame = 1; h->prev_interlaced_frame = 1;
 End of changes. 3 change blocks. 
1 lines changed or deleted 5 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)