Browse Source

cmdutils: move get_rotation() up in the file

Fixes compilation of fftools without libavdevice

Signed-off-by: James Almer <jamrial@gmail.com>
tags/n2.7
James Almer 10 years ago
parent
commit
858f81fde2
1 changed files with 24 additions and 24 deletions
  1. +24
    -24
      cmdutils.c

+ 24
- 24
cmdutils.c View File

@@ -2074,6 +2074,30 @@ void *grow_array(void *array, int elem_size, int *size, int new_size)
return array;
}

double get_rotation(AVStream *st)
{
AVDictionaryEntry *rotate_tag = av_dict_get(st->metadata, "rotate", NULL, 0);
uint8_t* displaymatrix = av_stream_get_side_data(st,
AV_PKT_DATA_DISPLAYMATRIX, NULL);
double theta = 0;

if (rotate_tag && *rotate_tag->value && strcmp(rotate_tag->value, "0")) {
char *tail;
theta = av_strtod(rotate_tag->value, &tail);
if (*tail)
theta = 0;
}
if (displaymatrix && !theta)
theta = av_display_rotation_get((int32_t*) displaymatrix);

theta -= 360*floor(theta/360 + 0.9/360);

if (fabs(theta - 90*round(theta/90)) > 2)
av_log_ask_for_sample(NULL, "Odd rotation angle\n");

return theta;
}

#if CONFIG_AVDEVICE
static int print_device_sources(AVInputFormat *fmt, AVDictionary *opts)
{
@@ -2231,28 +2255,4 @@ int show_sinks(void *optctx, const char *opt, const char *arg)
return ret;
}

double get_rotation(AVStream *st)
{
AVDictionaryEntry *rotate_tag = av_dict_get(st->metadata, "rotate", NULL, 0);
uint8_t* displaymatrix = av_stream_get_side_data(st,
AV_PKT_DATA_DISPLAYMATRIX, NULL);
double theta = 0;

if (rotate_tag && *rotate_tag->value && strcmp(rotate_tag->value, "0")) {
char *tail;
theta = av_strtod(rotate_tag->value, &tail);
if (*tail)
theta = 0;
}
if (displaymatrix && !theta)
theta = av_display_rotation_get((int32_t*) displaymatrix);

theta -= 360*floor(theta/360 + 0.9/360);

if (fabs(theta - 90*round(theta/90)) > 2)
av_log_ask_for_sample(NULL, "Odd rotation angle\n");

return theta;
}

#endif

Loading…
Cancel
Save