Had exactly same problem on HTC One (camera takes pictures OK but shows fixed image on display; video works perfectly normally). HTC Support suggested the following, which fixed the problem for me... I think it may be Step 5 which perhaps others haven't tried before, and which maybe makes the difference.
As a first step please try to wipe the application data of the camera. In order to do this please follow these steps.
>>>>>>
Step 1: From the home screen, tap the Applications icon.
Step 2: Scroll to and tap Settings.
Step 3: Scroll to and tap Apps.
Step 4: Scroll to and tap the required application.
Step 5: Scroll to and tap Clear data.
Step 6: Tap OK.
Step 7: The application data has been cleared.
Follow this try to perform a Soft Reset, for this please hold the power button for approximately 15 seconds until the device switches off.
<<<<<
As I say, that made my camera display work perfectly OK again.
But HTC went on to say the following (in case the above fix didn't work for you) - this is a much more severe process.
>>>>>
Should this step not resolve the issue for you please back up all your data to your computer. If your phone is linked to a google account all your contacts should be saved already. However, please double check under the contacts/ people section in your google account. The google account will not automatically save your media files. The easiest solution for this is if you use HTC Sync Manager.
Once you have backed up all the data on your device please perform a Factory Data Reset. This will delete all the data on your device and reset it to the default settings. However, it resolves software issues in most cases. To perform a Factory Data Reset please follow these steps.
Step 1: Before continuing please be aware that this will delete all media and data and reset all settings from the handset memory. Make sure to back up any music, photos etc. before continuing.
From the home screen, tap the Applications icon.
Step 2: Scroll to and tap Settings.
Step 3: Scroll to and tap Backup & reset.
Step 4: Tap Reset phone.
Step 5: If required, scroll to and tap Erase all data. Tap OK.
Note: This will erase the 32/64GB built-in memory.
Step 6: Tap OK.
Step 7: The handset will be restored to factory settings.
<<<<<