提交 58f24adc 编写于 作者: C Clément Bœsch

Merge commit '5b4d7ac7'

* commit '5b4d7ac7':
  examples/encode_video: use the AVFrame API for allocating the frame
Merged-by: NClément Bœsch <u@pkh.me>
......@@ -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;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册