Lines Matching defs:cx_frame

282 static void coded_frame_add(void *list, struct FrameListData *cx_frame)
288 *p = cx_frame;
289 cx_frame->next = NULL;
292 static av_cold void free_coded_frame(struct FrameListData *cx_frame)
294 av_freep(&cx_frame->buf);
295 av_freep(&cx_frame);
1051 * Write information from @a cx_frame to @a pkt
1055 static int storeframe(AVCodecContext *avctx, struct FrameListData *cx_frame,
1060 int ret = ff_get_encode_buffer(avctx, pkt, cx_frame->sz, 0);
1063 "Error getting output packet of size %"SIZE_SPECIFIER".\n", cx_frame->sz);
1066 memcpy(pkt->data, cx_frame->buf, pkt->size);
1067 pkt->pts = pkt->dts = cx_frame->pts;
1069 if (!!(cx_frame->flags & AOM_FRAME_IS_KEY)) {
1073 } else if (cx_frame->flags & AOM_FRAME_IS_INTRAONLY) {
1079 ff_side_data_set_encoder_stats(pkt, 0, cx_frame->sse + 1,
1080 cx_frame->have_sse ? 3 : 0, pict_type);
1082 if (cx_frame->have_sse) {
1085 avctx->error[i] += cx_frame->sse[i + 1];
1087 cx_frame->have_sse = 0;
1125 struct FrameListData *cx_frame = ctx->coded_frame_list;
1127 size = storeframe(avctx, cx_frame, pkt_out);
1130 ctx->coded_frame_list = cx_frame->next;
1131 free_coded_frame(cx_frame);
1140 struct FrameListData cx_frame;
1145 cx_pktcpy(ctx, &cx_frame, pkt);
1146 size = storeframe(avctx, &cx_frame, pkt_out);
1150 struct FrameListData *cx_frame =
1153 if (!cx_frame) {
1158 cx_pktcpy(ctx, cx_frame, pkt);
1159 cx_frame->buf = av_malloc(cx_frame->sz);
1161 if (!cx_frame->buf) {
1164 cx_frame->sz);
1165 av_freep(&cx_frame);
1168 memcpy(cx_frame->buf, pkt->data.frame.buf, pkt->data.frame.sz);
1169 coded_frame_add(&ctx->coded_frame_list, cx_frame);