In the first practical article about AVIVO we shall review one of the new features, offered by AVIVO - a special utility for transcoding various video formats using hardware acceleration. It's one of the most interesting features of the AVIVO technology, hardware support for encoding being introduced into consumer chips for the first time. In this review we shall analyze a beta version of the transcode utility, its performance characteristics as well as encode quality. Our plans for the nearest future include performance and playback/post-processing quality comparison of various video formats, from MPEG2 to H.264/AVC. It will be especially interesting to see H.264 decoding, as Cyberlink decoder, enjoying hardware support on X1000 series video cards, is already available in our lab and it really works, CPU load reduced. But today we shall speak of encoding only.
By the way, ATI prepared a New Year's gift to all owners of RADEON X1000 series video cards. Not long ago they released another Catalyst 5.12 driver with support for dual-core systems. And now, before the end of this year, they decided to release a special version - Catalyst 5.13, which possesses improved MPEG2 support and offers firmware H.264 decoding. We shall review these features a tad later. Catalyst 5.13 is planned to be released already on December 21st or 22nd.
ATI AVIVO Video Converter
So, as you may have guessed from the introductory article about AVIVO, all the new ATI RADEON X1000 video chips support firmware video transcoding. The only requirement is to install proper software and the latest drivers. Separate video cards and future integrated video cores with AVIVO support offer video encoding and transcoding with partial hardware support for the installed video chips. Even such a partial hardware support is a large step forward, all the previous utilities for video transcoding using only a CPU.
When X1000 chips were launched on the market, transcoding software was not yet ready. Even now we have only a beta version of AvivoXCode (AVIVO Video Converter), which is not yet publicly available. AvivoXCode works only on computers with certain video cards installed. All chips in the series are supported, from X1300 to X1800 XT. The current beta supports transcoding into the following profiles and output formats: MPEG1, MPEG2, Video CD, Super Video CD, DVD, MPEG4 (DivX compatible), WMV9, Portable Media Center, H.264 (AVI), MPEG4 (for Sony PSP) and H.264 (MP4, for Apple iPod). AVIVO Video Converter is a stand-alone application, which uses a transcoding engine from ATI Multimedia Center. The source video may be in any format with proper DirectShow filter installed in the system.
As you can see on the screenshot, the current version of AvivoXCode has very few settings. It has a plain interface, you can choose an input file, a target folder, a format for transcoding, and a bitrate slider. There are no other video quality settings but the bitrate, even though convenient settings for resolution, encoding features for various formats, and audio quality are mandatory for such utilities, at least in the advanced mode. I hope ATI will add these features in the final version of this utility.
Bitrate control is heavily limited - differently for different formats. AVIVO Video Converter offers a strange choice of bitrate options. It's quite clear that formats/profiles allow different bitrate ranges. But they also depend on the format and/or bitrate of a source file, which is quite surprising. By the way, steps are different for each profile as well. For example, this utility offered the following bitrates (Kbit/sec) for the first test video file: MPEG1 (2256-4512 at 564 steps), MPEG2 (2208-4412 at 551 steps), MPEG4 (1128-2820 at 423 steps), WMV9 (1128-2820 at 423 steps), H.264 (possible values: 128, 2096, 4064, 6032, 8000), MPEG4 for PSP (128-768 at 160 steps), H.264 for iPod (128-768 at 160 steps). The choice is not wide, I should say, that's why we used the values close to 2000 Kbit/s for MPEG4, H.264 and WMV9, and 4000 Kbit/s for MPEG2. Sometimes we had to rerun the tests with modified values, as the chosen bitrate would drop to a much lower level in the output file.
It's also interesting that the output resolution is changed automatically for some formats. For example, a source WMV HD file with the resolution of 1920x1080 in transcoded into a 640x368 MPEG4 file, if it's converted into MPEG2 - it's resized to 720x480, in H.264/PSP format it's shrunken to 320x192. The last resolution can be explained by the fixed resolution in a PSP (though it's not 320x192), there is no point in using higher resolutions. But such a limitation for MPEG4 is surprising. Let's consider that all these cons are just bugs, which are quite natural in an early beta - it's still far from a release.
ATI (together with the majority of reviewers) compares performance of its solution to NERO Recode, which also allows to transcode video into MPEG4/ASP and H.264. But we shall use VirtualDubMod 1.5.10 for all MPEG4 modifications (plus the most popular codecs for necessary formats). In case of MPEG2, we'll use popular transcoders from Cinema Craft and PEGASYS:
To make our encoder tests as complete as possible, we used two source files, 640x352 both (due to MPEG4 limitations of the ATI transcoder). The first one is in Huffyuv lossless format, the second one is the same file, transcoded into high-bitrate MPEG2, in order to weaken possible influence of a relatively slow HDD. We measured how much time it took all the above mentioned utilities and AVIVO Video Converter to convert the source files into various output formats (MPEG2, MPEG4, WMV9, H.264). We always kept MPEG2 bitrates maximum close to 4 Mbit/s, in case of other formats - close to 2 Mbit/s.
We publish MPEG2 results only for the first test file in Huffyuv format, as we cannot think of a reason to transcode MPEG2 into MPEG2. Even though AvivoXCode is a tad faster than its nearest competitor - Cinema Craft Encoder, the difference is very small, only TMPEGEnc is noticeably slower...
Here are the first striking results! While none of the contenders was noticeably faster in transcoding Huffyuv into MPEG4, in case of MPEG2 -> MPEG4 conversion AvivoXCode is definitely ahead of the other utilities in its performance, it became more than three times as fast when we changed the source format! This gain cannot be explained solely by the slow HDD for the Huffyuv file (nearly 500 MB versus 58 MB for MPEG2). There must be a different reason, I guess, as the other encoders got faster only by 25-35% versus 320%. How strange, let's proceed...
The situation with H.264 is nearly the same. We can see that the ATI utility encodes video into this format a tad slower compared to MPEG4. Thus, it probably uses some H.264 features, but not all of them. Even default settings for x264 do not enable some important features that have a great effect on the resulting quality. But high-quality compression with this codec takes 10 times as much time and it just must have an effect on the resulting quality. We shall review it later on. And now let's get back to performance, now the ATI utility will have only one competitor, as the format is WMV9.
Note the greatest difference in conversion times. WMEncoder is an obvious outsider, even H.264/AVC encoding is faster than the unhurried operation of this application. We are again witnessing a miraculous gain, when we change the source file in Huffyuv format to the one in MPEG2 format.
The ATI transcoder demonstrates astonishingly even results for all formats, only H.264 differs a little in encoding time. We have an impression that the program uses the same algorithm for all formats. But they have a lot of peculiarities that can increase quality or reduce bitrates... But as we are not even allowed to change quality settings in the ATI utility, my guess is as good as another's.
AVIVO Video Converter almost always keeps CPU load to maximum during transcoding to any format, with small surges. It's quite interesting. Let's also have a look at CPU and video chip temperatures during a transcoding process, as indirect parameters of their operation (we'd like to thank the author of RivaTuner for this convenient monitoring utility, if it only had a CPU usage plug-in...):
We can see that temperature of the video chip does not change at all during encoding, while even usual WMV HD decoding clearly uses a video chip together with a CPU. It seems that the current beta version of AvivoXCode does not use any video chip's features, all the work is done by a CPU. Perhaps, ATI will release a version of this utility supporting specific hardware features of X1000 chips later. Of course, we shall review changes in its operation in our future articles.
As AVIVO Video Converter demonstrated surprisingly high performance for software transcoding, we should also have a look at video quality - it's too weird when the other codecs had been developed for a long time, while ATI off-handedly gets much better results. Let's try to understand how it gets such high transcoding performance by briefly analyzing the output video quality.
Let's see the results of encoding the first source video file of the highest quality in a lossless format. This page contains only 2x zoomed fragments of the output frames. To get a full frame, click on a fragment.
The source video file in Huffyuv format, the first test frame
The fragments show that AVIVO Video Converter copes rather well with high-quality video. We noticed only little problems - low details (blurring) in small letters in the bottom right corner and in the ® sign in the bottom left corner. This effect is especially prominent in WMV9 format, encoded by AvivoXCode. Let's have a look at another fragment.
The source video file in Huffyuv format, the second test frame
This frame turned out much more difficult for AvivoXCode. Such a detail as semitransparent "SKG" (watch the source video) just appearing in a frame was detected only by high-bitrate MPEG2, the other formats simply smoothed the image, merging the letters to the background, taking the letters as unnecessary details. On the whole, frames encoded by AVIVO Video Converter demonstrate noticeable blockiness and low details in some objects.
We are even more interested in the quality of the same transcoded file, which was initially in MPEG2 format with a high bitrate (6000 Kbit/s). Performance results of AVIVO Video Converter are the most astounding there, transcode speed has grown by more than three times versus Huffyuv. We didn't see a similar effect in the results of the other encoders, their gains were much lower, about several dozens of percents. Perhaps the secret of AvivoXCode performance is in quality in this case?
The source video file in MPEG2 format, the first test frame
It's the same frame as in Huffyuv file, the same frame fragment. We can see that all the formats encoded by ATI transcoder demonstrate the same problems - small details are more blurred than in the other software codecs (except WMEncoder). On the whole, ATI transcoder demonstrates similar results here as with the previous video file, though it's surprisingly fast in transcoding from MPEG2. Let's have a look at another frame, just to make sure that we have evaluated the image quality correctly...
The source video file in MPEG2 format, the second test frame
The second frame, which is more realistic, demonstrates slightly worse transcode quality. All the formats of the ATI transcoder offer the same problems again (the strange similarity of all fragments confirms our suspicions about the same encode algorithm for all formats) - disappearance of many small details and noticeable blockiness, especially in the MPEG4 fragment. But it can compete with Windows Media Encoder in quality - this program also demonstrates low results, it blurs every detail possible. So both transcoders are far from the XviD and x264 quality.
We also found another quality flaw - incorrect transcoding of a DivX file (1280x720), so called DivX HD. This error appeared in three different DirectShow filters for DivX 5 decoding (DivX 5.2, DivX 6, and ffdshow), it had nothing to do with the output format in AVIVO Video Converter. As a result, we got the following unattractive image:
AVIVO Video Converter beta is the first ATI's step to create a video transcoder. As for now, it managed to demonstrate high-performance software video encoding. This beta is not distributed and supported officially, so all the quality flaws are quite understandable at the early stage. The main objective was to demonstrate the utility, the work is in progress. We'll look forward to the release and hope that all the problems will be fixed and that the developers will add the promised hardware support for video encoding. On my part, I can promise that we'll proceed with our AVIVO Video Converter reviews as this promising video encoding tool develops - its astounding speed lets us hope for the best. We shall not forget about all the other aspects of AVIVO technologies either.
In brief, we noticed no miracles. We saw only a beginning of an interesting utility, just a tiny piece of it. AVIVO Video Converter beta is buggy so far. It suffers from the lack of flexible settings and high quality modes. But it demonstrates very high software encode performance in the majority of cases. Unfortunately, low quality of the output video chills our enthusiasm. We'll look forward to new versions of this utility, to get "hardware-assisted video compression and transcode" with detailed settings that we were promised. So that anyone could choose a reasonable compromise between performance and quality.
We don't know yet when ATI is going to release a final version of the converter and when hardware support for the graphics processors is going to be implemented. Limitations of the current beta render the product unfit for real use due to minimal settings, the lack of support for multi-pass encoding, and the reduced quality compared to the other products. AVIVO Video Converter has a positive side - its phenomenal transcode performance. Perhaps, it can be used even now, when every minute counts.
And don't forget that absolutely all features of this utility (and AVIVO technologies on the whole) are (or will be) supported by all graphics chips of the new ATI series, from low-end X1300 to high-end X1800 XT, which is very important to buyers of video cards of different price levels and PC-based media centers. If everything promised is implemented, I'm sure ATI Radeon X1000 series will get another advantage against its competitors.
Alexei Berillo aka SomeBody Else (firstname.lastname@example.org)
January 6, 2006
Write a comment below. No registration needed!