FFmpeg
|
#include "libavutil/x86/asm.h"
#include "libavutil/cpu.h"
#include "libswresample/swresample_internal.h"
Include dependency graph for resample_mmx.h:
Go to the source code of this file.
Macros | |
#define | COMMON_CORE_INT16_MMX2 |
#define | COMMON_CORE_INT16_SSSE3 |
Functions | |
int | swri_resample_int16_mmx2 (struct ResampleContext *c, int16_t *dst, const int16_t *src, int *consumed, int src_size, int dst_size, int update_ctx) |
int | swri_resample_int16_ssse3 (struct ResampleContext *c, int16_t *dst, const int16_t *src, int *consumed, int src_size, int dst_size, int update_ctx) |
DECLARE_ALIGNED (16, const uint64_t, ff_resample_int16_rounder)[2] | |
Macro Definition Documentation
#define COMMON_CORE_INT16_MMX2 |
Value:
__asm__ volatile(\
"1: \n\t"\
"movq (%1, %0), %%mm1 \n\t"\
"pmaddwd (%2, %0), %%mm1 \n\t"\
"paddd %%mm1, %%mm0 \n\t"\
"add $8, %0 \n\t"\
" js 1b \n\t"\
"pshufw $0x0E, %%mm0, %%mm1 \n\t"\
"paddd %%mm1, %%mm0 \n\t"\
"psrad $15, %%mm0 \n\t"\
"packssdw %%mm0, %%mm0 \n\t"\
"movd %%mm0, (%3) \n\t"\
: "+r" (len)\
"r" (dst+dst_index)\
);
the mask is usually to keep the same permissions Filters should remove permissions on reference they give to output whenever necessary It can be automatically done by setting the rej_perms field on the output pad Here are a few guidelines corresponding to common then the filter should push the output frames on the output link immediately As an exception to the previous rule if the input frame is enough to produce several output frames then the filter needs output only at least one per link The additional frames can be left buffered in the filter
Definition: filter_design.txt:201
Definition at line 30 of file resample_mmx.h.
#define COMMON_CORE_INT16_SSSE3 |
Value:
__asm__ volatile(\
"1: \n\t"\
"movdqu (%1, %0), %%xmm1 \n\t"\
"pmaddwd (%2, %0), %%xmm1 \n\t"\
"paddd %%xmm1, %%xmm0 \n\t"\
"add $16, %0 \n\t"\
" js 1b \n\t"\
"phaddd %%xmm0, %%xmm0 \n\t"\
"phaddd %%xmm0, %%xmm0 \n\t"\
"psrad $15, %%xmm0 \n\t"\
"packssdw %%xmm0, %%xmm0 \n\t"\
"movd %%xmm0, (%3) \n\t"\
: "+r" (len)\
"r" (dst+dst_index)\
);
the mask is usually to keep the same permissions Filters should remove permissions on reference they give to output whenever necessary It can be automatically done by setting the rej_perms field on the output pad Here are a few guidelines corresponding to common then the filter should push the output frames on the output link immediately As an exception to the previous rule if the input frame is enough to produce several output frames then the filter needs output only at least one per link The additional frames can be left buffered in the filter
Definition: filter_design.txt:201
Definition at line 51 of file resample_mmx.h.
Function Documentation
DECLARE_ALIGNED | ( | 16 | , |
const uint64_t | , | ||
ff_resample_int16_rounder | |||
) |
int swri_resample_int16_mmx2 | ( | struct ResampleContext * | c, |
int16_t * | dst, | ||
const int16_t * | src, | ||
int * | consumed, | ||
int | src_size, | ||
int | dst_size, | ||
int | update_ctx | ||
) |
Referenced by multiple_resample().
int swri_resample_int16_ssse3 | ( | struct ResampleContext * | c, |
int16_t * | dst, | ||
const int16_t * | src, | ||
int * | consumed, | ||
int | src_size, | ||
int | dst_size, | ||
int | update_ctx | ||
) |
Referenced by multiple_resample().
Generated on Mon Nov 18 2024 06:52:08 for FFmpeg by 1.8.11