mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
avfilter/vf_hflip : move context func init in ff_hflip_init
This commit is contained in:
parent
88e2dc7d04
commit
46f534bdee
@ -33,6 +33,7 @@ typedef struct FlipContext {
|
|||||||
void (*flip_line[4])(const uint8_t *src, uint8_t *dst, int w);
|
void (*flip_line[4])(const uint8_t *src, uint8_t *dst, int w);
|
||||||
} FlipContext;
|
} FlipContext;
|
||||||
|
|
||||||
|
int ff_hflip_init(FlipContext *s, int step[4], int nb_planes);
|
||||||
void ff_hflip_init_x86(FlipContext *s, int step[4], int nb_planes);
|
void ff_hflip_init_x86(FlipContext *s, int step[4], int nb_planes);
|
||||||
|
|
||||||
#endif /* AVFILTER_HFLIP_H */
|
#endif /* AVFILTER_HFLIP_H */
|
||||||
|
@ -131,7 +131,7 @@ static int config_props(AVFilterLink *inlink)
|
|||||||
const AVPixFmtDescriptor *pix_desc = av_pix_fmt_desc_get(inlink->format);
|
const AVPixFmtDescriptor *pix_desc = av_pix_fmt_desc_get(inlink->format);
|
||||||
const int hsub = pix_desc->log2_chroma_w;
|
const int hsub = pix_desc->log2_chroma_w;
|
||||||
const int vsub = pix_desc->log2_chroma_h;
|
const int vsub = pix_desc->log2_chroma_h;
|
||||||
int nb_planes, i;
|
int nb_planes;
|
||||||
|
|
||||||
av_image_fill_max_pixsteps(s->max_step, NULL, pix_desc);
|
av_image_fill_max_pixsteps(s->max_step, NULL, pix_desc);
|
||||||
s->planewidth[0] = s->planewidth[3] = inlink->w;
|
s->planewidth[0] = s->planewidth[3] = inlink->w;
|
||||||
@ -141,8 +141,15 @@ static int config_props(AVFilterLink *inlink)
|
|||||||
|
|
||||||
nb_planes = av_pix_fmt_count_planes(inlink->format);
|
nb_planes = av_pix_fmt_count_planes(inlink->format);
|
||||||
|
|
||||||
|
return ff_hflip_init(s, s->max_step, nb_planes);
|
||||||
|
}
|
||||||
|
|
||||||
|
int ff_hflip_init(FlipContext *s, int step[4], int nb_planes)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
for (i = 0; i < nb_planes; i++) {
|
for (i = 0; i < nb_planes; i++) {
|
||||||
switch (s->max_step[i]) {
|
switch (step[i]) {
|
||||||
case 1: s->flip_line[i] = hflip_byte_c; break;
|
case 1: s->flip_line[i] = hflip_byte_c; break;
|
||||||
case 2: s->flip_line[i] = hflip_short_c; break;
|
case 2: s->flip_line[i] = hflip_short_c; break;
|
||||||
case 3: s->flip_line[i] = hflip_b24_c; break;
|
case 3: s->flip_line[i] = hflip_b24_c; break;
|
||||||
@ -153,9 +160,8 @@ static int config_props(AVFilterLink *inlink)
|
|||||||
return AVERROR_BUG;
|
return AVERROR_BUG;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ARCH_X86)
|
if (ARCH_X86)
|
||||||
ff_hflip_init_x86(s, s->max_step, nb_planes);
|
ff_hflip_init_x86(s, step, nb_planes);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user