Signed-off-by: Anton Khirnov <anton@khirnov.net>
| ... | ... |
@@ -922,6 +922,8 @@ int get_filtered_video_frame(AVFilterContext *ctx, AVFrame *frame, |
| 922 | 922 |
memcpy(frame->linesize, picref->linesize, sizeof(frame->linesize)); |
| 923 | 923 |
frame->interlaced_frame = picref->video->interlaced; |
| 924 | 924 |
frame->top_field_first = picref->video->top_field_first; |
| 925 |
+ frame->key_frame = picref->video->key_frame; |
|
| 926 |
+ frame->pict_type = picref->video->pict_type; |
|
| 925 | 927 |
|
| 926 | 928 |
return 1; |
| 927 | 929 |
} |
| ... | ... |
@@ -13,6 +13,9 @@ libavutil: 2011-04-18 |
| 13 | 13 |
|
| 14 | 14 |
API changes, most recent first: |
| 15 | 15 |
|
| 16 |
+2011-04-xx - xxxxxx - lavfi 2.3.0 - avfilter.h |
|
| 17 |
+ Add pict_type and key_frame fields to AVFilterBufferRefVideo. |
|
| 18 |
+ |
|
| 16 | 19 |
2011-04-xx - xxxxxx - lavfi 2.2.0 - vsrc_buffer |
| 17 | 20 |
Add sample_aspect_ratio fields to vsrc_buffer arguments |
| 18 | 21 |
|
| ... | ... |
@@ -26,7 +26,7 @@ |
| 26 | 26 |
#include "libavutil/samplefmt.h" |
| 27 | 27 |
|
| 28 | 28 |
#define LIBAVFILTER_VERSION_MAJOR 2 |
| 29 |
-#define LIBAVFILTER_VERSION_MINOR 2 |
|
| 29 |
+#define LIBAVFILTER_VERSION_MINOR 3 |
|
| 30 | 30 |
#define LIBAVFILTER_VERSION_MICRO 0 |
| 31 | 31 |
|
| 32 | 32 |
#define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \ |
| ... | ... |
@@ -115,6 +115,8 @@ typedef struct AVFilterBufferRefVideoProps {
|
| 115 | 115 |
AVRational pixel_aspect; ///< pixel aspect ratio |
| 116 | 116 |
int interlaced; ///< is frame interlaced |
| 117 | 117 |
int top_field_first; ///< field order |
| 118 |
+ int pict_type; ///< Picture type of the frame |
|
| 119 |
+ int key_frame; ///< 1 -> keyframe, 0-> not |
|
| 118 | 120 |
} AVFilterBufferRefVideoProps; |
| 119 | 121 |
|
| 120 | 122 |
/** |
| ... | ... |
@@ -54,6 +54,8 @@ int av_vsrc_buffer_add_frame(AVFilterContext *buffer_filter, AVFrame *frame, |
| 54 | 54 |
memcpy(c->frame.linesize, frame->linesize, sizeof(frame->linesize)); |
| 55 | 55 |
c->frame.interlaced_frame= frame->interlaced_frame; |
| 56 | 56 |
c->frame.top_field_first = frame->top_field_first; |
| 57 |
+ c->frame.key_frame = frame->key_frame; |
|
| 58 |
+ c->frame.pict_type = frame->pict_type; |
|
| 57 | 59 |
c->pts = pts; |
| 58 | 60 |
c->pixel_aspect = pixel_aspect; |
| 59 | 61 |
c->has_frame = 1; |
| ... | ... |
@@ -133,6 +135,8 @@ static int request_frame(AVFilterLink *link) |
| 133 | 133 |
picref->video->pixel_aspect = c->pixel_aspect; |
| 134 | 134 |
picref->video->interlaced = c->frame.interlaced_frame; |
| 135 | 135 |
picref->video->top_field_first = c->frame.top_field_first; |
| 136 |
+ picref->video->key_frame = c->frame.key_frame; |
|
| 137 |
+ picref->video->pict_type = c->frame.pict_type; |
|
| 136 | 138 |
avfilter_start_frame(link, avfilter_ref_buffer(picref, ~0)); |
| 137 | 139 |
avfilter_draw_slice(link, 0, link->h, 1); |
| 138 | 140 |
avfilter_end_frame(link); |