On 2014-04-15 05:16:31 +0200, Vittorio Giovara wrote:
> ---
> libavfilter/vf_showinfo.c | 24 ++++++++++++++++++++++++
> 1 file changed, 24 insertions(+)
>
> diff --git a/libavfilter/vf_showinfo.c b/libavfilter/vf_showinfo.c
> index 031d8fe..de1c5d9 100644
> --- a/libavfilter/vf_showinfo.c
> +++ b/libavfilter/vf_showinfo.c
> @@ -25,6 +25,7 @@
> #include <inttypes.h>
>
> #include "libavutil/adler32.h"
> +#include "libavutil/display.h"
> #include "libavutil/imgutils.h"
> #include "libavutil/internal.h"
> #include "libavutil/pixdesc.h"
> @@ -68,6 +69,26 @@ static void dump_stereo3d(AVFilterContext *ctx,
> AVFrameSideData *sd)
> av_log(ctx, AV_LOG_INFO, " (inverted)");
> }
>
> +static void dump_transformation(AVFilterContext *ctx, AVFrameSideData *sd)
> +{
> + int rotation, hflip, vflip;
> +
> + rotation = av_display_rotation_angle(sd->data);
> + if (rotation)
> + av_log(ctx, AV_LOG_INFO, "rotation of %d degrees ", rotation);
is there a reason for the trailing space? Same applies for h/v flip
> + hflip = av_display_hflip(sd->data);
> + if (hflip)
> + av_log(ctx, AV_LOG_INFO, "horizontal flip ");
> +
> + vflip = av_display_vflip(sd->data);
> + if (vflip)
> + av_log(ctx, AV_LOG_INFO, "vertical flip ");
> +
> + if (!rotation && !hflip && !vflip)
> + av_log(ctx, AV_LOG_INFO, "unknown transformation");
> +}
> +
> static int filter_frame(AVFilterLink *inlink, AVFrame *frame)
> {
> AVFilterContext *ctx = inlink->dst;
> @@ -117,6 +138,9 @@ static int filter_frame(AVFilterLink *inlink, AVFrame
> *frame)
> case AV_FRAME_DATA_STEREO3D:
> dump_stereo3d(ctx, sd);
> break;
> + case AV_FRAME_DATA_DISPLAYMATRIX:
> + dump_transformation(ctx, sd);
> + break;
> default:
> av_log(ctx, AV_LOG_WARNING, "unknown side data type %d (%d
> bytes)",
> sd->type, sd->size);
otherwise ok
Janne
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel