Lines Matching refs:frame

71     x264_frame_t *frame;  in x264_frame_new()  local
99 CHECKED_MALLOCZERO( frame, sizeof(x264_frame_t) ); in x264_frame_new()
111 frame->i_plane = 2; in x264_frame_new()
114 frame->i_width[i] = i_width >> i; in x264_frame_new()
115 frame->i_lines[i] = i_lines >> (i && i_csp == X264_CSP_NV12); in x264_frame_new()
116 frame->i_stride[i] = i_stride; in x264_frame_new()
122 frame->i_plane = 3; in x264_frame_new()
125 frame->i_width[i] = i_width; in x264_frame_new()
126 frame->i_lines[i] = i_lines; in x264_frame_new()
127 frame->i_stride[i] = i_stride; in x264_frame_new()
133 frame->i_csp = i_csp; in x264_frame_new()
134 frame->i_width_lowres = frame->i_width[0]/2; in x264_frame_new()
135 frame->i_lines_lowres = frame->i_lines[0]/2; in x264_frame_new()
136 frame->i_stride_lowres = align_stride( frame->i_width_lowres + 2*PADH, align, disalign<<1 ); in x264_frame_new()
141 PREALLOC( frame->i_row_satds[i][j], i_lines/16 * sizeof(int) ); in x264_frame_new()
143 frame->i_poc = -1; in x264_frame_new()
144 frame->i_type = X264_TYPE_AUTO; in x264_frame_new()
145 frame->i_qpplus1 = X264_QP_AUTO; in x264_frame_new()
146 frame->i_pts = -1; in x264_frame_new()
147 frame->i_frame = -1; in x264_frame_new()
148 frame->i_frame_num = -1; in x264_frame_new()
149 frame->i_lines_completed = -1; in x264_frame_new()
150 frame->b_fdec = b_fdec; in x264_frame_new()
151 frame->i_pic_struct = PIC_STRUCT_AUTO; in x264_frame_new()
152 frame->i_field_cnt = -1; in x264_frame_new()
153 frame->i_duration = in x264_frame_new()
154 frame->i_cpb_duration = in x264_frame_new()
155 frame->i_dpb_output_delay = in x264_frame_new()
156 frame->i_cpb_delay = 0; in x264_frame_new()
157 frame->i_coded_fields_lookahead = in x264_frame_new()
158 frame->i_cpb_delay_lookahead = -1; in x264_frame_new()
160 frame->orig = frame; in x264_frame_new()
165 int chroma_plane_size = (frame->i_stride[1] * (frame->i_lines[1] + 2*chroma_padv)); in x264_frame_new()
166 PREALLOC( frame->buffer[1], chroma_plane_size * sizeof(pixel) ); in x264_frame_new()
168 PREALLOC( frame->buffer_fld[1], chroma_plane_size * sizeof(pixel) ); in x264_frame_new()
176 …int luma_plane_size = align_plane_size( frame->i_stride[p] * (frame->i_lines[p] + 2*i_padv), disal… in x264_frame_new()
180 PREALLOC( frame->buffer[p], 4*luma_plane_size * sizeof(pixel) ); in x264_frame_new()
182 PREALLOC( frame->buffer_fld[p], 4*luma_plane_size * sizeof(pixel) ); in x264_frame_new()
186 PREALLOC( frame->buffer[p], luma_plane_size * sizeof(pixel) ); in x264_frame_new()
188 PREALLOC( frame->buffer_fld[p], luma_plane_size * sizeof(pixel) ); in x264_frame_new()
192 frame->b_duplicate = 0; in x264_frame_new()
197 PREALLOC( frame->mb_type.t_uint8_t, i_mb_count * sizeof(int8_t) ); in x264_frame_new()
198 PREALLOC( frame->mb_partition, i_mb_count * sizeof(uint8_t) ); in x264_frame_new()
199 PREALLOC( frame->mv[0], 2*16 * i_mb_count * sizeof(int16_t) ); in x264_frame_new()
200 PREALLOC( frame->mv16x16.t_uint8_t, 2*(i_mb_count+1) * sizeof(int16_t) ); in x264_frame_new()
201 PREALLOC( frame->ref[0], 4 * i_mb_count * sizeof(int8_t) ); in x264_frame_new()
204 PREALLOC( frame->mv[1], 2*16 * i_mb_count * sizeof(int16_t) ); in x264_frame_new()
205 PREALLOC( frame->ref[1], 4 * i_mb_count * sizeof(int8_t) ); in x264_frame_new()
209 frame->mv[1] = NULL; in x264_frame_new()
210 frame->ref[1] = NULL; in x264_frame_new()
213 PREALLOC( frame->i_row_bits.t_uint8_t, i_lines/16 * sizeof(int) ); in x264_frame_new()
214 PREALLOC( frame->f_row_qp.t_uint8_t, i_lines/16 * sizeof(float) ); in x264_frame_new()
215 PREALLOC( frame->f_row_qscale.t_uint8_t, i_lines/16 * sizeof(float) ); in x264_frame_new()
217 …PREALLOC( frame->buffer[3], frame->i_stride[0] * (frame->i_lines[0] + 2*i_padv) * sizeof(uint16_t)… in x264_frame_new()
219 PREALLOC( frame->field, i_mb_count * sizeof(uint8_t) ); in x264_frame_new()
221 PREALLOC( frame->effective_qp, i_mb_count * sizeof(uint8_t) ); in x264_frame_new()
227 …int luma_plane_size = align_plane_size( frame->i_stride_lowres * (frame->i_lines[0]/2 + 2*PADV), d… in x264_frame_new()
230 PREALLOC( frame->buffer_lowres[0], 4 * luma_plane_size * sizeof(pixel) ); in x264_frame_new()
235 PREALLOC( frame->lowres_mvs[j][i], 2*h->mb.i_mb_count*sizeof(int16_t) ); in x264_frame_new()
236 PREALLOC( frame->lowres_mv_costs[j][i], h->mb.i_mb_count*sizeof(int) ); in x264_frame_new()
239 PREALLOC( frame->i_propagate_cost.t_uint8_t, (i_mb_count+7) * sizeof(uint16_t) ); in x264_frame_new()
242 PREALLOC( frame->lowres_costs[j][i], (i_mb_count+3) * sizeof(uint16_t) ); in x264_frame_new()
248 PREALLOC( frame->f_qp_offset.t_uint8_t, h->mb.i_mb_count * sizeof(float) ); in x264_frame_new()
249 PREALLOC( frame->f_qp_offset_aq.t_uint8_t, h->mb.i_mb_count * sizeof(float) ); in x264_frame_new()
252 … PREALLOC( frame->i_inv_qscale_factor.t_uint8_t, (h->mb.i_mb_count+3) * sizeof(uint16_t) ); in x264_frame_new()
256 PREALLOC_END( frame->base ); in x264_frame_new()
261 frame->plane[1] = frame->buffer[1] + frame->i_stride[1] * chroma_padv + PADH; in x264_frame_new()
263 frame->plane_fld[1] = frame->buffer_fld[1] + frame->i_stride[1] * chroma_padv + PADH; in x264_frame_new()
268 …int luma_plane_size = align_plane_size( frame->i_stride[p] * (frame->i_lines[p] + 2*i_padv), disal… in x264_frame_new()
273frame->filtered[p][i] = frame->buffer[p] + i*luma_plane_size + frame->i_stride[p] * i_padv + PADH; in x264_frame_new()
274frame->filtered_fld[p][i] = frame->buffer_fld[p] + i*luma_plane_size + frame->i_stride[p] * i_padv… in x264_frame_new()
276 frame->plane[p] = frame->filtered[p][0]; in x264_frame_new()
277 frame->plane_fld[p] = frame->filtered_fld[p][0]; in x264_frame_new()
281frame->filtered[p][0] = frame->plane[p] = frame->buffer[p] + frame->i_stride[p] * i_padv + PADH; in x264_frame_new()
282frame->filtered_fld[p][0] = frame->plane_fld[p] = frame->buffer_fld[p] + frame->i_stride[p] * i_pa… in x264_frame_new()
288 M32( frame->mv16x16.t_int16_t_array[0] ) = 0; in x264_frame_new()
289 frame->mv16x16.t_int16_t_array++; in x264_frame_new()
292 frame->integral = (uint16_t*)frame->buffer[3] + frame->i_stride[0] * i_padv + PADH; in x264_frame_new()
298 …int luma_plane_size = align_plane_size( frame->i_stride_lowres * (frame->i_lines[0]/2 + 2*PADV), d… in x264_frame_new()
302frame->lowres[i] = frame->buffer_lowres[0] + (frame->i_stride_lowres * PADV + PADH) + i * luma_pla… in x264_frame_new()
306 memset( frame->lowres_mvs[j][i], 0, 2*h->mb.i_mb_count*sizeof(int16_t) ); in x264_frame_new()
308 frame->i_intra_cost = frame->lowres_costs[0][0]; in x264_frame_new()
309 memset( frame->i_intra_cost, -1, (i_mb_count+3) * sizeof(uint16_t) ); in x264_frame_new()
313 … memset( frame->i_inv_qscale_factor.t_uint16_t, 0, (h->mb.i_mb_count+3) * sizeof(uint16_t) ); in x264_frame_new()
317 if( x264_pthread_mutex_init( &frame->mutex, NULL ) ) in x264_frame_new()
319 if( x264_pthread_cond_init( &frame->cv, NULL ) ) in x264_frame_new()
323 frame->opencl.ocl = h->opencl.ocl; in x264_frame_new()
326 return frame; in x264_frame_new()
329 x264_free( frame ); in x264_frame_new()
333 void x264_frame_delete( x264_frame_t *frame ) in x264_frame_delete() argument
337 if( !frame->b_duplicate ) in x264_frame_delete()
339 x264_free( frame->base ); in x264_frame_delete()
341 if( frame->param && frame->param->param_free ) in x264_frame_delete()
342 frame->param->param_free( frame->param ); in x264_frame_delete()
343 if( frame->mb_info_free ) in x264_frame_delete()
344 frame->mb_info_free( frame->mb_info ); in x264_frame_delete()
345 if( frame->extra_sei.sei_free ) in x264_frame_delete()
349 for( i = 0; i < frame->extra_sei.num_payloads; i++ ) in x264_frame_delete()
350 frame->extra_sei.sei_free( frame->extra_sei.payloads[i].payload ); in x264_frame_delete()
351 frame->extra_sei.sei_free( frame->extra_sei.payloads ); in x264_frame_delete()
353 x264_pthread_mutex_destroy( &frame->mutex ); in x264_frame_delete()
354 x264_pthread_cond_destroy( &frame->cv ); in x264_frame_delete()
356 x264_opencl_frame_delete( frame ); in x264_frame_delete()
359 x264_free( frame ); in x264_frame_delete()
561 void x264_frame_expand_border( x264_t *h, x264_frame_t *frame, int mb_y ) in x264_frame_expand_border() argument
571 for( i = 0; i < frame->i_plane; i++ ) in x264_frame_expand_border()
575 int stride = frame->i_stride[i]; in x264_frame_expand_border()
590 pix = frame->plane_fld[i] + (starty*stride >> v_shift); in x264_frame_expand_border()
597 pix = frame->plane[i] + (starty*stride >> v_shift); in x264_frame_expand_border()
602 pix = frame->plane[i] + (starty*stride >> v_shift); in x264_frame_expand_border()
608 void x264_frame_expand_border_filtered( x264_t *h, x264_frame_t *frame, int mb_y, int b_end ) in x264_frame_expand_border_filtered() argument
624 int stride = frame->i_stride[p]; in x264_frame_expand_border_filtered()
629 pix = frame->filtered_fld[p][i] + (16*mb_y - 16) * stride - 4; in x264_frame_expand_border_filtered()
634 pix = frame->filtered[p][i] + (16*mb_y - 8) * stride - 4; in x264_frame_expand_border_filtered()
639 void x264_frame_expand_border_lowres( x264_frame_t *frame ) in x264_frame_expand_border_lowres() argument
644 …plane_expand_border( frame->lowres[i], frame->i_stride_lowres, frame->i_width_lowres, frame->i_lin… in x264_frame_expand_border_lowres()
647 void x264_frame_expand_border_chroma( x264_t *h, x264_frame_t *frame, int plane ) in x264_frame_expand_border_chroma() argument
650 …plane_expand_border( frame->plane[plane], frame->i_stride[plane], 16*h->mb.i_mb_width, 16*h->mb.i_… in x264_frame_expand_border_chroma()
654 void x264_frame_expand_border_mod16( x264_t *h, x264_frame_t *frame ) in x264_frame_expand_border_mod16() argument
658 for( i = 0; i < frame->i_plane; i++ ) in x264_frame_expand_border_mod16()
672 pixel_memset( &frame->plane[i][y*frame->i_stride[i] + i_width], in x264_frame_expand_border_mod16()
673 &frame->plane[i][y*frame->i_stride[i] + i_width - 1-h_shift], in x264_frame_expand_border_mod16()
680 memcpy( &frame->plane[i][y*frame->i_stride[i]], in x264_frame_expand_border_mod16()
681 &frame->plane[i][(i_height-(~y&PARAM_INTERLACED)-1)*frame->i_stride[i]], in x264_frame_expand_border_mod16()
705 void x264_frame_cond_broadcast( x264_frame_t *frame, int i_lines_completed ) in x264_frame_cond_broadcast() argument
707 x264_pthread_mutex_lock( &frame->mutex ); in x264_frame_cond_broadcast()
708 frame->i_lines_completed = i_lines_completed; in x264_frame_cond_broadcast()
709 x264_pthread_cond_broadcast( &frame->cv ); in x264_frame_cond_broadcast()
710 x264_pthread_mutex_unlock( &frame->mutex ); in x264_frame_cond_broadcast()
713 void x264_frame_cond_wait( x264_frame_t *frame, int i_lines_completed ) in x264_frame_cond_wait() argument
715 x264_pthread_mutex_lock( &frame->mutex ); in x264_frame_cond_wait()
716 while( frame->i_lines_completed < i_lines_completed ) in x264_frame_cond_wait()
717 x264_pthread_cond_wait( &frame->cv, &frame->mutex ); in x264_frame_cond_wait()
718 x264_pthread_mutex_unlock( &frame->mutex ); in x264_frame_cond_wait()
738 int x264_frame_new_slice( x264_t *h, x264_frame_t *frame ) in x264_frame_new_slice() argument
744 slice_count = x264_pthread_fetch_and_add( &frame->i_slice_count, 1, &frame->mutex ); in x264_frame_new_slice()
746 slice_count = frame->i_slice_count++; in x264_frame_new_slice()
755 void x264_frame_push( x264_frame_t **list, x264_frame_t *frame ) in x264_frame_push() argument
759 list[i] = frame; in x264_frame_push()
764 x264_frame_t *frame; in x264_frame_pop() local
768 frame = list[i]; in x264_frame_pop()
770 return frame; in x264_frame_pop()
773 void x264_frame_unshift( x264_frame_t **list, x264_frame_t *frame ) in x264_frame_unshift() argument
779 list[0] = frame; in x264_frame_unshift()
784 x264_frame_t *frame = list[0]; in x264_frame_shift() local
788 assert(frame); in x264_frame_shift()
789 return frame; in x264_frame_shift()
792 void x264_frame_push_unused( x264_t *h, x264_frame_t *frame ) in x264_frame_push_unused() argument
794 assert( frame->i_reference_count > 0 ); in x264_frame_push_unused()
795 frame->i_reference_count--; in x264_frame_push_unused()
796 if( frame->i_reference_count == 0 ) in x264_frame_push_unused()
797 x264_frame_push( h->frames.unused[frame->b_fdec], frame ); in x264_frame_push_unused()
802 x264_frame_t *frame; in x264_frame_pop_unused() local
804 frame = x264_frame_pop( h->frames.unused[b_fdec] ); in x264_frame_pop_unused()
806 frame = x264_frame_new( h, b_fdec ); in x264_frame_pop_unused()
807 if( !frame ) in x264_frame_pop_unused()
809 frame->b_last_minigop_bframe = 0; in x264_frame_pop_unused()
810 frame->i_reference_count = 1; in x264_frame_pop_unused()
811 frame->b_intra_calculated = 0; in x264_frame_pop_unused()
812 frame->b_scenecut = 1; in x264_frame_pop_unused()
813 frame->b_keyframe = 0; in x264_frame_pop_unused()
814 frame->b_corrupt = 0; in x264_frame_pop_unused()
815 frame->i_slice_count = h->param.b_sliced_threads ? h->param.i_threads : 1; in x264_frame_pop_unused()
817 memset( frame->weight, 0, sizeof(frame->weight) ); in x264_frame_pop_unused()
818 memset( frame->f_weighted_cost_delta, 0, sizeof(frame->f_weighted_cost_delta) ); in x264_frame_pop_unused()
820 return frame; in x264_frame_pop_unused()
823 void x264_frame_push_blank_unused( x264_t *h, x264_frame_t *frame ) in x264_frame_push_blank_unused() argument
825 assert( frame->i_reference_count > 0 ); in x264_frame_push_blank_unused()
826 frame->i_reference_count--; in x264_frame_push_blank_unused()
827 if( frame->i_reference_count == 0 ) in x264_frame_push_blank_unused()
828 x264_frame_push( h->frames.blank_unused, frame ); in x264_frame_push_blank_unused()
833 x264_frame_t *frame; in x264_frame_pop_blank_unused() local
835 frame = x264_frame_pop( h->frames.blank_unused ); in x264_frame_pop_blank_unused()
837 frame = x264_malloc( sizeof(x264_frame_t) ); in x264_frame_pop_blank_unused()
838 if( !frame ) in x264_frame_pop_blank_unused()
840 frame->b_duplicate = 1; in x264_frame_pop_blank_unused()
841 frame->i_reference_count = 1; in x264_frame_pop_blank_unused()
842 return frame; in x264_frame_pop_blank_unused()
897 void x264_sync_frame_list_push( x264_sync_frame_list_t *slist, x264_frame_t *frame ) in x264_sync_frame_list_push() argument
902 slist->list[ slist->i_size++ ] = frame; in x264_sync_frame_list_push()
909 x264_frame_t *frame; in x264_sync_frame_list_pop() local
913 frame = slist->list[ --slist->i_size ]; in x264_sync_frame_list_pop()
917 return frame; in x264_sync_frame_list_pop()