summaryrefslogtreecommitdiff
path: root/libavcodec/mpeg12enc.c
diff options
context:
space:
mode:
authorMartin Fiedler <martin.fiedler@gmx.net>2009-09-20 14:08:44 +0000
committerCarl Eugen Hoyos <cehoyos@rainbow.studorg.tuwien.ac.at>2009-09-20 14:08:44 +0000
commit4410adf12e0fbb41122c4ddb581fe075897525ef (patch)
tree08b4d41460798d2572aa7a6fc293caf4d3904aa6 /libavcodec/mpeg12enc.c
parentfbc030045c0877c30772e879f088e58b06ec8e7e (diff)
Allow encoding frames with more than 2800 lines.
Patch by Martin Fiedler, martin fiedler gmx net Originally committed as revision 19927 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/mpeg12enc.c')
-rw-r--r--libavcodec/mpeg12enc.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavcodec/mpeg12enc.c b/libavcodec/mpeg12enc.c
index 013b395d17..eacb5bbd9b 100644
--- a/libavcodec/mpeg12enc.c
+++ b/libavcodec/mpeg12enc.c
@@ -327,7 +327,12 @@ static av_always_inline void put_qscale(MpegEncContext *s)
}
void ff_mpeg1_encode_slice_header(MpegEncContext *s){
+ if (s->height > 2800) {
+ put_header(s, SLICE_MIN_START_CODE + (s->mb_y & 127));
+ put_bits(&s->pb, 3, s->mb_y >> 7); /* slice_vertical_position_extension */
+ } else {
put_header(s, SLICE_MIN_START_CODE + s->mb_y);
+ }
put_qscale(s);
put_bits(&s->pb, 1, 0); /* slice extra information */
}