| FFmpeg
    | 
#include "libavutil/imgutils.h"#include "libavutil/motion_vector.h"#include "libavutil/opt.h"#include "libavutil/video_enc_params.h"#include "avfilter.h"#include "qp_table.h"#include "internal.h"#include "video.h"Go to the source code of this file.
| Data Structures | |
| struct | CodecViewContext | 
| Macros | |
| #define | MV_P_FOR (1<<0) | 
| #define | MV_B_FOR (1<<1) | 
| #define | MV_B_BACK (1<<2) | 
| #define | MV_TYPE_FOR (1<<0) | 
| #define | MV_TYPE_BACK (1<<1) | 
| #define | FRAME_TYPE_I (1<<0) | 
| #define | FRAME_TYPE_P (1<<1) | 
| #define | FRAME_TYPE_B (1<<2) | 
| #define | OFFSET(x) offsetof(CodecViewContext, x) | 
| #define | FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM | 
| #define | CONST(name, help, val, unit) { name, help, 0, AV_OPT_TYPE_CONST, {.i64=val}, 0, 0, FLAGS, unit } | 
| Functions | |
| AVFILTER_DEFINE_CLASS (codecview) | |
| static int | clip_line (int *sx, int *sy, int *ex, int *ey, int maxx) | 
| static void | draw_line (uint8_t *buf, int sx, int sy, int ex, int ey, int w, int h, ptrdiff_t stride, int color) | 
| Draw a line from (ex, ey) -> (sx, sy).  More... | |
| static void | draw_arrow (uint8_t *buf, int sx, int sy, int ex, int ey, int w, int h, ptrdiff_t stride, int color, int tail, int direction) | 
| Draw an arrow from (ex, ey) -> (sx, sy).  More... | |
| static void | draw_block_rectangle (uint8_t *buf, int sx, int sy, int w, int h, ptrdiff_t stride, int color) | 
| static int | filter_frame (AVFilterLink *inlink, AVFrame *frame) | 
| static int | config_input (AVFilterLink *inlink) | 
| Variables | |
| static const AVOption | codecview_options [] | 
| static const AVFilterPad | codecview_inputs [] | 
| const AVFilter | ff_vf_codecview | 
Codec debug viewer filter.
All the MV drawing code from Michael Niedermayer is extracted from libavcodec/mpegvideo.c.
TODO: segmentation
Definition in file vf_codecview.c.
| #define MV_P_FOR (1<<0) | 
Definition at line 41 of file vf_codecview.c.
| #define MV_B_FOR (1<<1) | 
Definition at line 42 of file vf_codecview.c.
| #define MV_B_BACK (1<<2) | 
Definition at line 43 of file vf_codecview.c.
| #define MV_TYPE_FOR (1<<0) | 
Definition at line 44 of file vf_codecview.c.
| #define MV_TYPE_BACK (1<<1) | 
Definition at line 45 of file vf_codecview.c.
| #define FRAME_TYPE_I (1<<0) | 
Definition at line 46 of file vf_codecview.c.
| #define FRAME_TYPE_P (1<<1) | 
Definition at line 47 of file vf_codecview.c.
| #define FRAME_TYPE_B (1<<2) | 
Definition at line 48 of file vf_codecview.c.
| #define OFFSET | ( | x | ) | offsetof(CodecViewContext, x) | 
Definition at line 60 of file vf_codecview.c.
| #define FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM | 
Definition at line 61 of file vf_codecview.c.
| #define CONST | ( | name, | |
| help, | |||
| val, | |||
| unit | |||
| ) | { name, help, 0, AV_OPT_TYPE_CONST, {.i64=val}, 0, 0, FLAGS, unit } | 
Definition at line 62 of file vf_codecview.c.
| AVFILTER_DEFINE_CLASS | ( | codecview | ) | 
Definition at line 85 of file vf_codecview.c.
Referenced by draw_line().
| 
 | static | 
Draw a line from (ex, ey) -> (sx, sy).
| w | width of the image | 
| h | height of the image | 
| stride | stride/linesize of the image | 
| color | color of the arrow | 
Definition at line 113 of file vf_codecview.c.
Referenced by draw_arrow().
| 
 | static | 
Draw an arrow from (ex, ey) -> (sx, sy).
| w | width of the image | 
| h | height of the image | 
| stride | stride/linesize of the image | 
| color | color of the arrow | 
Definition at line 171 of file vf_codecview.c.
Referenced by filter_frame().
| 
 | static | 
Definition at line 209 of file vf_codecview.c.
Referenced by filter_frame().
| 
 | static | 
Definition at line 224 of file vf_codecview.c.
| 
 | static | 
Definition at line 317 of file vf_codecview.c.
| 
 | static | 
Definition at line 64 of file vf_codecview.c.
| 
 | static | 
Definition at line 328 of file vf_codecview.c.
| const AVFilter ff_vf_codecview | 
Definition at line 338 of file vf_codecview.c.
 1.8.17
 1.8.17