> Is it possible to transcode a high-bit-rate MPEG1 stream to a lower one > without trying to completely uncompress it and recompress it? > Yes, if it is "I-frame-only" MPEG1, which is essentially JPEG: no "inter" / predictive / P or B frames; each frame is independent of the others. In that case you can do the following, which BTW can also be done with JPEG images: Do the Huffman decoding for each (macro)block, which gives you up to 64 (I)DCT coefficients. Multiply each by the "quantization factor" to get the original coefficients, with some resolution lost on the lower bits. The original coefficients were divided by the quantization factor, which is where the the lossiness of JPEG comes from (if the quantization factor were 1, it would be lossless except for rounding errors due to the DCT being done in floating point). Now quantize the data by dividing by a larger quantization factor than the original one, and Huffman encode the resulting coefficients, as well as the new quantization factor. Because you are dividing by a larger number, the resulting numbers are smaller than the input values, so they encode in fewer bits. More important, more of the coefficients become zero (0), and JPEG/MPEG handle those nicely by encoding each non-zero value as: <# of zeros before this> | <this value>. (It's more complex than this, and different in JPEG vs. MPEG, but that's sort of how it works). The problem is: it is the inter (P and B) frames that give MPEG superior compression to (M)JPEG, and to correctly (I believe) transcode the P or B frames you have to do full de/re-compression. I believe the general stats are that B frames are usually 2/3 of the frames but only take up 15-20% of the total bits. However, the approach would work for transcoding JPEG or MPEG, so it may be of interest to somebody out there ... The Independent JPEG Group code might even have support for something like this. Peter Kaczowka Ucentric Systems LLC Brian Ristuccia wrote: > On Thu, Jan 11, 2001 at 09:19:47AM -0800, Jon Pennington wrote: > > Is it possible to transcode a high-bit-rate MPEG1 stream to a lower one > > without trying to completely uncompress it and recompress it? > > > > Don't know. > > > Secondly, are the VCD (NTSC and PAL) standards so tight that you /must/ > > use a specific bitrate for a `legal' VCD image? > > > > Standalone VCD players will barf on streams with a bitrate that is too high. > Since they are equipped with only a 1x CDROM drive, they just can't read the > data fast enough to play it. > > Almost every DVD player that also play VCD's can play VCD disks with much > higher bitrates, usually at least double the standard bitrate. But there's > no guarantees. > > -- > Brian Ristuccia > brian@xxxxxxxxxxxxx > bristucc@xxxxxxxxxx > > _______________________________________________ > Video4linux-list mailing list > Video4linux-list@xxxxxxxxxx > https://listman.redhat.com/mailman/listinfo/video4linux-list