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

Function encode_write

doc/examples/vaapi_encode.c:71–101  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

69}
70
71static int encode_write(AVCodecContext *avctx, AVFrame *frame, FILE *fout)
72{
73 int ret = 0;
74 AVPacket *enc_pkt;
75
76 if (!(enc_pkt = av_packet_alloc()))
77 return AVERROR(ENOMEM);
78
79 if ((ret = avcodec_send_frame(avctx, frame)) < 0) {
80 fprintf(stderr, "Error code: %s\n", av_err2str(ret));
81 goto end;
82 }
83 while (1) {
84 ret = avcodec_receive_packet(avctx, enc_pkt);
85 if (ret)
86 break;
87
88 enc_pkt->stream_index = 0;
89 ret = fwrite(enc_pkt->data, enc_pkt->size, 1, fout);
90 av_packet_unref(enc_pkt);
91 if (!ret) {
92 ret = AVERROR(errno);
93 break;
94 }
95 }
96
97end:
98 av_packet_free(&enc_pkt);
99 ret = ((ret == AVERROR(EAGAIN)) ? 0 : -1);
100 return ret;
101}
102
103int main(int argc, char *argv[])
104{

Callers 1

mainFunction · 0.70

Calls 5

av_packet_allocFunction · 0.85
avcodec_send_frameFunction · 0.85
avcodec_receive_packetFunction · 0.85
av_packet_unrefFunction · 0.85
av_packet_freeFunction · 0.85

Tested by

no test coverage detected