How to add pagination to a post loop in a custom BuddyPress tab

This may not be the proper way but it works in BP profile pages

    ...

    $paged = ( isset( $_GET['vp'] ) ) ? $_GET['vp'] : 1;

    $args = array(
        'post_type'         => array( 'video' ),
        'author'            => bp_displayed_user_id(),
        'paged'             => $paged,
        'posts_per_page'    => get_option( 'posts_per_page' )
        );

    $author_videos = new WP_Query( $args );

    if ( $author_videos->have_posts() ) : while ( $author_videos->have_posts() ) : $author_videos->the_post();
        get_template_part( 'loop', 'video' );
        endwhile; ?>
        </div>

        <div class="entry-content"><br>
            <?php echo videos_profile_pagination( $wp_query ); ?>
        </div>

        <?php  wp_reset_query(); 
        endif; ?>
            </div>
        </div>
    </div>
    </div>  
 <?php }

// pagination for profile video loop page
function videos_profile_pagination( $wp_query ) {

    $videos_profile_page_links = paginate_links( array(
        'base' => esc_url( add_query_arg( 'vp', '%#%' ) ),
        'format' => '',
        'total' => ceil( (int) $wp_query->found_posts / (int) get_query_var('posts_per_page') ),
        'current' => (int) get_query_var('paged'),
    ) );

    return apply_filters( 'videos_profile_pagination', $videos_profile_page_links );

}