summaryrefslogtreecommitdiff
path: root/libavcodec/mjpeg.c
diff options
context:
space:
mode:
authorArpi <arpi@thot.banki.hu>2002-02-09 01:23:41 +0000
committerArpi <arpi@thot.banki.hu>2002-02-09 01:23:41 +0000
commit80e103d04cf938fc1f479347d0ab2f8c6e688b61 (patch)
tree816361aa1acfdd0c1c7f718269d8641b8c13490a /libavcodec/mjpeg.c
parentfa778d53ad88c8fd2327fd744abe8df057f13191 (diff)
PATCH by Rik Snel <rsnel@cube.dyndns.org>
this patch enhances the jpeg header writer. It can be asked to omit quantisation and huffman tables and it can write different horizontal and vertical sampling factors. (the last thing is useless for libavcodec itself (because libavcodec only handles YUV420P at ecoder level), but the values are initialized so that operation of libavcodec is not impaired) Originally committed as revision 290 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/mjpeg.c')
-rw-r--r--libavcodec/mjpeg.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/libavcodec/mjpeg.c b/libavcodec/mjpeg.c
index 4c4df7cb87..cb86344628 100644
--- a/libavcodec/mjpeg.c
+++ b/libavcodec/mjpeg.c
@@ -259,7 +259,7 @@ void mjpeg_picture_header(MpegEncContext *s)
{
put_marker(&s->pb, SOI);
- jpeg_table_header(s);
+ if (s->mjpeg_write_tables) jpeg_table_header(s);
put_marker(&s->pb, SOF0);
@@ -271,20 +271,20 @@ void mjpeg_picture_header(MpegEncContext *s)
/* Y component */
put_bits(&s->pb, 8, 1); /* component number */
- put_bits(&s->pb, 4, 2); /* H factor */
- put_bits(&s->pb, 4, 2); /* V factor */
+ put_bits(&s->pb, 4, s->mjpeg_hsample[0]); /* H factor */
+ put_bits(&s->pb, 4, s->mjpeg_vsample[0]); /* V factor */
put_bits(&s->pb, 8, 0); /* select matrix */
/* Cb component */
put_bits(&s->pb, 8, 2); /* component number */
- put_bits(&s->pb, 4, 1); /* H factor */
- put_bits(&s->pb, 4, 1); /* V factor */
+ put_bits(&s->pb, 4, s->mjpeg_hsample[1]); /* H factor */
+ put_bits(&s->pb, 4, s->mjpeg_vsample[1]); /* V factor */
put_bits(&s->pb, 8, 0); /* select matrix */
/* Cr component */
put_bits(&s->pb, 8, 3); /* component number */
- put_bits(&s->pb, 4, 1); /* H factor */
- put_bits(&s->pb, 4, 1); /* V factor */
+ put_bits(&s->pb, 4, s->mjpeg_hsample[2]); /* H factor */
+ put_bits(&s->pb, 4, s->mjpeg_vsample[2]); /* V factor */
put_bits(&s->pb, 8, 0); /* select matrix */
/* scan header */