mirror of https://git.ffmpeg.org/ffmpeg.git
Merge commit '5b4d7ac7ae5d821cfa6ab89f8eab4d31851ef32c'
* commit '5b4d7ac7ae5d821cfa6ab89f8eab4d31851ef32c': examples/encode_video: use the AVFrame API for allocating the frame Merged-by: Clément Bœsch <u@pkh.me>
This commit is contained in:
commit
58f24adc05
|
@ -112,12 +112,9 @@ int main(int argc, char **argv)
|
|||
frame->width = c->width;
|
||||
frame->height = c->height;
|
||||
|
||||
/* the image can be allocated by any means and av_image_alloc() is
|
||||
* just the most convenient way if av_malloc() is to be used */
|
||||
ret = av_image_alloc(frame->data, frame->linesize, c->width, c->height,
|
||||
c->pix_fmt, 32);
|
||||
ret = av_frame_get_buffer(frame, 32);
|
||||
if (ret < 0) {
|
||||
fprintf(stderr, "Could not allocate raw picture buffer\n");
|
||||
fprintf(stderr, "Could not allocate the video frame data\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -128,6 +125,12 @@ int main(int argc, char **argv)
|
|||
pkt.size = 0;
|
||||
|
||||
fflush(stdout);
|
||||
|
||||
/* make sure the frame data is writable */
|
||||
ret = av_frame_make_writable(frame);
|
||||
if (ret < 0)
|
||||
exit(1);
|
||||
|
||||
/* prepare a dummy image */
|
||||
/* Y */
|
||||
for (y = 0; y < c->height; y++) {
|
||||
|
@ -182,7 +185,6 @@ int main(int argc, char **argv)
|
|||
fclose(f);
|
||||
|
||||
avcodec_free_context(&c);
|
||||
av_freep(&frame->data[0]);
|
||||
av_frame_free(&frame);
|
||||
|
||||
return 0;
|
||||
|
|
Loading…
Reference in New Issue