Você deve tentar
openssl enc -aes-256-cbc -d -salt -in "$input_filename" | pv -W >> "$output_filename"
De Manual :
-W, --wait:
Wait until the first byte has been transferred before showing any progress information or calculating any ETAs. Useful if the program you are piping to or from requires extra information before it starts, eg piping data into gpg(1) or mcrypt(1) which require a passphrase before data can be processed.
qual é exatamente o seu caso. Se você precisar ver a barra de progresso, pelo motivo claramente explicado por Weijun Zhou em um comentário abaixo, você pode inverter a ordem dos comandos no pipe:
pv -W "$input_filename" | openssl enc -aes-256-cbc -d -salt -out "$output_filename"