Shell script to copy video files to another folder
Function

The command

is_video_file $extension = 1


just passes the arguments $extension , = and 1 to the function is_video_file.

To check if the return value of is_video_file is 1, do the following:

is_video_file "$extension"

if [ $? = 1 ]; then ...


However, making a function return 1 usually indicates an error; the return value 0 indicates success.

If you swap 1 and 0 in the definition of is_video_file, you can use

if is_video_file "$extension"; then ...


Further problems


Every time you do not know the value of a variable with certainty, you should surround it with double quotes.

Most of your variables are unquoted, while the strings are quoted. The latter is unnecessary.

For example, you wrote

[ $ext = "m4v" ]


which might fail if $ext contains unanticipated characters.

The commands

[ "$ext" = "m4v" ]


and

[ "$ext" = m4v ]


will both work fine.


Suggestions


There is not need to restore the IFS and the end of the script. Modifying the IFS will only affect the script itself.
Setting IFS=$'\n' gives a false sense of security. It's still necessary to quote all variables if their values are unknown.