Skip to content
Snippets Groups Projects

deinterlace: add SSE2 replacement for removed MMX/MMXEXT

Open Lyndon Brown requested to merge jnqnfe/vlc:simd_purge into master
3 unresolved threads

This MR was originally purposed for purging all MMX/MMXEXT code from the codebase, including a conversion of MMX/MMXEXT in deinterlace to SSE2. Due to the android build issue with the latter discussed below holding everything up, most of the work was broken up into separate MRs, including a simple purge of MMX/MMXEXT from deinterlace in !424 (merged).

This MR now simply contains an SSE2 replacement for the purged deinterlace MMX/MMXEXT.

Edited by Lyndon Brown

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
166 p_out = p_dst->p[i_plane].p_pixels;
167 p_out_end = p_out + p_dst->p[i_plane].i_pitch
168 * p_dst->p[i_plane].i_visible_lines;
169
170 /* skip first line for bottom field */
171 if( i_field == 1 )
172 p_out += p_dst->p[i_plane].i_pitch;
173
174 int wm16 = w % 16; /* remainder */
175 int w16 = w - wm16; /* part of width that is divisible by 16 */
176 for( ; p_out < p_out_end ; p_out += 2*p_dst->p[i_plane].i_pitch )
177 {
178 uint8_t *po = p_out;
179 int x = 0;
180
181 __asm__ volatile (
  • 175 int w16 = w - wm16; /* part of width that is divisible by 16 */
    176 for( ; p_out < p_out_end ; p_out += 2*p_dst->p[i_plane].i_pitch )
    177 {
    178 uint8_t *po = p_out;
    179 int x = 0;
    180
    181 __asm__ volatile (
    182 "movd %0, %%xmm1\n"
    183 "movd %1, %%xmm2\n"
    184 "pshufd $0, %%xmm2, %%xmm2\n" /* duplicate 32-bits across reg */
    185 :: "m" (i_strength), "m" (remove_high_u32)
    186 : "xmm1", "xmm2"
    187 );
    188 for( ; x < w16; x += 16 )
    189 {
    190 __asm__ volatile (
  • Thomas Guillem mentioned in issue #28668

    mentioned in issue #28668

  • Please register or sign in to reply
    Loading