MCPcopy Create free account
hub / github.com/FFmpeg/FFmpeg / ff_vaapi_alloc_slice

Function ff_vaapi_alloc_slice

libavcodec/vaapi.c:147–176  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

145}
146
147VASliceParameterBufferBase *ff_vaapi_alloc_slice(struct vaapi_context *vactx, const uint8_t *buffer, uint32_t size)
148{
149 uint8_t *slice_params;
150 VASliceParameterBufferBase *slice_param;
151
152 if (!vactx->slice_data)
153 vactx->slice_data = buffer;
154 if (vactx->slice_data + vactx->slice_data_size != buffer) {
155 if (commit_slices(vactx) < 0)
156 return NULL;
157 vactx->slice_data = buffer;
158 }
159
160 slice_params =
161 av_fast_realloc(vactx->slice_params,
162 &vactx->slice_params_alloc,
163 (vactx->slice_count + 1) * vactx->slice_param_size);
164 if (!slice_params)
165 return NULL;
166 vactx->slice_params = slice_params;
167
168 slice_param = (VASliceParameterBufferBase *)(slice_params + vactx->slice_count * vactx->slice_param_size);
169 slice_param->slice_data_size = size;
170 slice_param->slice_data_offset = vactx->slice_data_size;
171 slice_param->slice_data_flag = VA_SLICE_DATA_FLAG_ALL;
172
173 vactx->slice_count++;
174 vactx->slice_data_size += size;
175 return slice_param;
176}
177
178int ff_vaapi_common_end_frame(MpegEncContext *s)
179{

Callers 4

vaapi_mpeg2_decode_sliceFunction · 0.85
decode_sliceFunction · 0.85
vaapi_mpeg4_decode_sliceFunction · 0.85
vaapi_vc1_decode_sliceFunction · 0.85

Calls 2

commit_slicesFunction · 0.85
av_fast_reallocFunction · 0.85

Tested by

no test coverage detected