summaryrefslogtreecommitdiff
path: root/libavfilter/avcodec.c
diff options
context:
space:
mode:
authorStefano Sabatini <stefasab@gmail.com>2012-06-01 11:05:44 +0200
committerStefano Sabatini <stefasab@gmail.com>2012-06-05 18:39:47 +0200
commit0da9bce5a317a8a5ce4f8ed72c460ff929bf5c8e (patch)
tree8c737c0c67ab4cda3bbdb0793342655d4316df7a /libavfilter/avcodec.c
parentc527027c27d58e1f885e3a2649477bed89f830f6 (diff)
lavfi: move avfilter_copy_frame_props() definition from buffer.c to avcodec.c
The new location is more suited, as it is where the lavfi/lavc glue is defined.
Diffstat (limited to 'libavfilter/avcodec.c')
-rw-r--r--libavfilter/avcodec.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/libavfilter/avcodec.c b/libavfilter/avcodec.c
index 0d87808e6c..6d3aa59a80 100644
--- a/libavfilter/avcodec.c
+++ b/libavfilter/avcodec.c
@@ -26,6 +26,33 @@
#include "avcodec.h"
#include "libavutil/opt.h"
+int avfilter_copy_frame_props(AVFilterBufferRef *dst, const AVFrame *src)
+{
+ dst->pts = src->pts;
+ dst->pos = av_frame_get_pkt_pos(src);
+ dst->format = src->format;
+
+ switch (dst->type) {
+ case AVMEDIA_TYPE_VIDEO:
+ dst->video->w = src->width;
+ dst->video->h = src->height;
+ dst->video->sample_aspect_ratio = src->sample_aspect_ratio;
+ dst->video->interlaced = src->interlaced_frame;
+ dst->video->top_field_first = src->top_field_first;
+ dst->video->key_frame = src->key_frame;
+ dst->video->pict_type = src->pict_type;
+ break;
+ case AVMEDIA_TYPE_AUDIO:
+ dst->audio->sample_rate = src->sample_rate;
+ dst->audio->channel_layout = src->channel_layout;
+ break;
+ default:
+ return AVERROR(EINVAL);
+ }
+
+ return 0;
+}
+
AVFilterBufferRef *avfilter_get_video_buffer_ref_from_frame(const AVFrame *frame,
int perms)
{