Discussion:
[PATCH] (non)interlaced huffyuv
Loren Merritt
2004-09-16 08:13:05 UTC
Permalink
Currently, the decision about whether to encode huffyuv as interlaced
is based on a hardcoded threshold (height > 288).
This patch changes it to an option (-ilme).

Since the hard threshold was also in the decoder, the resulting files
are backwards compatible if and only if you use the same interlacing
option as would've happened before.
The interlacing flag should be compatible with Huffyuv 2.2.0, but
I haven't tested that.


benchmarks (where -ilme has the same results as before the patch):

$> ffmpeg -vcodec huffyuv -pred 2 -ilme -i in.avi hfyu2i.avi
frame= 1430 q=0.0 Lsize= 285460kB time=59.6 bitrate=39208.1kbits/s

$> ffmpeg -vcodec huffyuv -pred 2 -i in.avi hfyu2p.avi
frame= 1430 q=0.0 Lsize= 273500kB time=59.6 bitrate=37565.3kbits/s

$> ffmpeg -vcodec huffyuv -pred 2 -ilme -pass 1 -i in.avi -y hfyu2i.p2.avi
$> ffmpeg -vcodec huffyuv -pred 2 -ilme -pass 2 -i in.avi -y hfyu2i.p2.avi
frame= 1430 q=0.0 Lsize= 187563kB time=59.6 bitrate=25762.0kbits/s

$> ffmpeg -vcodec huffyuv -pred 2 -pass 1 -i in.avi -y hfyu2p.p2.avi
$> ffmpeg -vcodec huffyuv -pred 2 -pass 2 -i in.avi -y hfyu2p.p2.avi
frame= 1430 q=0.0 Lsize= 163403kB time=59.6 bitrate=22443.5kbits/s


--Loren Merritt
Michael Niedermayer
2004-09-16 16:10:45 UTC
Permalink
Hi
Post by Loren Merritt
Currently, the decision about whether to encode huffyuv as interlaced
is based on a hardcoded threshold (height > 288).
This patch changes it to an option (-ilme).
Since the hard threshold was also in the decoder, the resulting files
are backwards compatible if and only if you use the same interlacing
option as would've happened before.
The interlacing flag should be compatible with Huffyuv 2.2.0, but
I haven't tested that.
u forgot the update the regression test checksums

[...]
--
Michael
level[i]= get_vlc(); i+=get_vlc(); (violates patent EP0266049)
median(mv[y-1][x], mv[y][x-1], mv[y+1][x+1]); (violates patent #5,905,535)
buf[i]= qp - buf[i-1]; (violates patent #?)
for more examples, see http://mplayerhq.hu/~michael/patent.html
stop it, see http://petition.eurolinux.org & http://petition.ffii.org/eubsa/en


-------------------------------------------------------
This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170
Project Admins to receive an Apple iPod Mini FREE for your judgement on
who ports your project to Linux PPC the best. Sponsored by IBM.
Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php
Loren Merritt
2004-09-16 18:21:33 UTC
Permalink
Post by Michael Niedermayer
Post by Loren Merritt
Currently, the decision about whether to encode huffyuv as interlaced
is based on a hardcoded threshold (height > 288).
This patch changes it to an option (-ilme).
Since the hard threshold was also in the decoder, the resulting files
are backwards compatible if and only if you use the same interlacing
option as would've happened before.
The interlacing flag should be compatible with Huffyuv 2.2.0, but
I haven't tested that.
u forgot the update the regression test checksums
done

--Loren Merritt
Michael Niedermayer
2004-09-17 10:58:12 UTC
Permalink
Hi
Post by Michael Niedermayer
Post by Loren Merritt
Currently, the decision about whether to encode huffyuv as interlaced
is based on a hardcoded threshold (height > 288).
This patch changes it to an option (-ilme).
Since the hard threshold was also in the decoder, the resulting files
are backwards compatible if and only if you use the same interlacing
option as would've happened before.
The interlacing flag should be compatible with Huffyuv 2.2.0, but
I haven't tested that.
u forgot the update the regression test checksums
done
applied

[...]
--
Michael
level[i]= get_vlc(); i+=get_vlc(); (violates patent EP0266049)
median(mv[y-1][x], mv[y][x-1], mv[y+1][x+1]); (violates patent #5,905,535)
buf[i]= qp - buf[i-1]; (violates patent #?)
for more examples, see http://mplayerhq.hu/~michael/patent.html
stop it, see http://petition.eurolinux.org & http://petition.ffii.org/eubsa/en


-------------------------------------------------------
This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170
Project Admins to receive an Apple iPod Mini FREE for your judgement on
who ports your project to Linux PPC the best. Sponsored by IBM.
Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php
Loading...