Decode and Transcode Avid JFIF Video with FFmpeg

This article provides a practical guide on how to decode and transcode proprietary Avid JFIF (JPEG File Interchange Format) video streams using FFmpeg. You will learn how to identify these legacy streams, execute the correct FFmpeg commands to decode them, and transcode the media into modern, highly compatible formats like Apple ProRes or H.264.

Understanding Avid JFIF

Avid JFIF (often identified by the FourCC code AVDJ or jpeg inside a QuickTime .mov container) is an older, proprietary offline resolution format used heavily in legacy Avid Media Composer workflows. It is essentially a variation of Motion JPEG (MJPEG).

Because it is a legacy format, modern media players and non-linear editors (NLEs) often struggle to play these files directly. FFmpeg has built-in support for decoding this format via its native MJPEG decoder, allowing you to convert it into modern editing or delivery codecs.

Step 1: Verify the Input Codec

Before transcoding, verify that your file contains the Avid JFIF stream. Run ffprobe to inspect the file’s streams:

ffprobe -i input_avid.mov

Look for the video stream information in the output. You should see a line similar to:

Stream #0:0: Video: mjpeg (AVDJ / 0x4A445641), yuvj422p(pc, bt601/bt709/unknown)...

If the codec is listed as mjpeg with the AVDJ tag, FFmpeg can decode it.

Step 2: Transcode Avid JFIF to H.264 (For Viewing & Web)

To convert the Avid JFIF file into a highly compatible H.264 MP4 file for easy viewing, use the following FFmpeg command:

ffmpeg -i input_avid.mov -c:v libx264 -pix_fmt yuv420p -crf 18 -c:a aac -b:a 192k output.mp4

Command Breakdown:

Step 3: Transcode Avid JFIF to Apple ProRes (For Editing)

If you need to edit the footage in a modern NLE like Premiere Pro, DaVinci Resolve, or Final Cut Pro, transcoding to Apple ProRes is the best option to preserve quality and performance.

ffmpeg -i input_avid.mov -c:v prores_ks -profile:v 3 -vendor ap10 -pix_fmt yuv422p10le -c:a copy output.mov

Command Breakdown:

Handling Interlaced Avid JFIF Streams

Many legacy Avid JFIF files are interlaced. If your source video exhibits interlacing artifacts (horizontal “combing” lines during motion), you should deinterlace the video during the transcoding process using FFmpeg’s yadif (Yet Another Deinterlacing Filter):

ffmpeg -i input_avid.mov -vf yadif -c:v libx264 -pix_fmt yuv420p -crf 18 -c:a aac output.mp4

Adding -vf yadif tells FFmpeg to analyze and deinterlace the frames on-the-fly before encoding them to the destination codec.