Lines Matching refs:dst

59 static void h264_copy_picture_params(H264Picture *dst, const H264Picture *src)
61 dst->qscale_table = src->qscale_table;
62 dst->mb_type = src->mb_type;
63 dst->pps = src->pps;
66 dst->motion_val[i] = src->motion_val[i];
67 dst->ref_index[i] = src->ref_index[i];
71 dst->field_poc[i] = src->field_poc[i];
73 memcpy(dst->ref_poc, src->ref_poc, sizeof(src->ref_poc));
74 memcpy(dst->ref_count, src->ref_count, sizeof(src->ref_count));
76 dst->poc = src->poc;
77 dst->frame_num = src->frame_num;
78 dst->mmco_reset = src->mmco_reset;
79 dst->long_ref = src->long_ref;
80 dst->mbaff = src->mbaff;
81 dst->field_picture = src->field_picture;
82 dst->reference = src->reference;
83 dst->recovered = src->recovered;
84 dst->invalid_gap = src->invalid_gap;
85 dst->sei_recovery_frame_cnt = src->sei_recovery_frame_cnt;
86 dst->mb_width = src->mb_width;
87 dst->mb_height = src->mb_height;
88 dst->mb_stride = src->mb_stride;
89 dst->needs_fg = src->needs_fg;
92 int ff_h264_ref_picture(H264Context *h, H264Picture *dst, H264Picture *src)
96 av_assert0(!dst->f->buf[0]);
100 dst->tf.f = dst->f;
101 ret = ff_thread_ref_frame(&dst->tf, &src->tf);
106 ret = av_frame_ref(dst->f_grain, src->f_grain);
111 dst->qscale_table_buf = av_buffer_ref(src->qscale_table_buf);
112 dst->mb_type_buf = av_buffer_ref(src->mb_type_buf);
113 dst->pps_buf = av_buffer_ref(src->pps_buf);
114 if (!dst->qscale_table_buf || !dst->mb_type_buf || !dst->pps_buf) {
120 dst->motion_val_buf[i] = av_buffer_ref(src->motion_val_buf[i]);
121 dst->ref_index_buf[i] = av_buffer_ref(src->ref_index_buf[i]);
122 if (!dst->motion_val_buf[i] || !dst->ref_index_buf[i]) {
129 dst->hwaccel_priv_buf = av_buffer_ref(src->hwaccel_priv_buf);
130 if (!dst->hwaccel_priv_buf) {
134 dst->hwaccel_picture_private = dst->hwaccel_priv_buf->data;
137 h264_copy_picture_params(dst, src);
141 ff_h264_unref_picture(h, dst);
145 int ff_h264_replace_picture(H264Context *h, H264Picture *dst, const H264Picture *src)
150 ff_h264_unref_picture(h, dst);
156 dst->tf.f = dst->f;
157 ff_thread_release_ext_buffer(h->avctx, &dst->tf);
158 ret = ff_thread_ref_frame(&dst->tf, &src->tf);
163 ff_thread_release_buffer(h->avctx, dst->f_grain);
164 ret = av_frame_ref(dst->f_grain, src->f_grain);
169 ret = av_buffer_replace(&dst->qscale_table_buf, src->qscale_table_buf);
170 ret |= av_buffer_replace(&dst->mb_type_buf, src->mb_type_buf);
171 ret |= av_buffer_replace(&dst->pps_buf, src->pps_buf);
176 ret = av_buffer_replace(&dst->motion_val_buf[i], src->motion_val_buf[i]);
177 ret |= av_buffer_replace(&dst->ref_index_buf[i], src->ref_index_buf[i]);
182 ret = av_buffer_replace(&dst->hwaccel_priv_buf, src->hwaccel_priv_buf);
186 dst->hwaccel_picture_private = src->hwaccel_picture_private;
188 h264_copy_picture_params(dst, src);
192 ff_h264_unref_picture(h, dst);
196 void ff_h264_set_erpic(ERPicture *dst, H264Picture *src)
201 memset(dst, 0, sizeof(*dst));
206 dst->f = src->f;
207 dst->tf = &src->tf;
210 dst->motion_val[i] = src->motion_val[i];
211 dst->ref_index[i] = src->ref_index[i];
214 dst->mb_type = src->mb_type;
215 dst->field_picture = src->field_picture;