Commit fb06b8ba authored by Michael Niedermayer's avatar Michael Niedermayer

Merge commit '0812f5a4'

* commit '0812f5a4':
  mjpegenc: write the JFIF header if the sample aspect ratio is set

Conflicts:
	libavcodec/mjpegenc.c

See: f3ce748dMerged-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parents 0d9f2f5c 0812f5a4
......@@ -159,13 +159,12 @@ static void jpeg_table_header(MpegEncContext *s)
AV_WB16(ptr, size);
}
static void jpeg_put_comments(MpegEncContext *s)
static void jpeg_put_comments(AVCodecContext *avctx, PutBitContext *p)
{
PutBitContext *p = &s->pb;
int size;
uint8_t *ptr;
if (s->avctx->sample_aspect_ratio.num /* && !lossless */)
if (avctx->sample_aspect_ratio.num > 0 && avctx->sample_aspect_ratio.den > 0)
{
/* JFIF header */
put_marker(p, APP0);
......@@ -173,14 +172,14 @@ static void jpeg_put_comments(MpegEncContext *s)
avpriv_put_string(p, "JFIF", 1); /* this puts the trailing zero-byte too */
put_bits(p, 16, 0x0102); /* v 1.02 */
put_bits(p, 8, 0); /* units type: 0 - aspect ratio */
put_bits(p, 16, s->avctx->sample_aspect_ratio.num);
put_bits(p, 16, s->avctx->sample_aspect_ratio.den);
put_bits(p, 16, avctx->sample_aspect_ratio.num);
put_bits(p, 16, avctx->sample_aspect_ratio.den);
put_bits(p, 8, 0); /* thumbnail width */
put_bits(p, 8, 0); /* thumbnail height */
}
/* comment */
if(!(s->flags & CODEC_FLAG_BITEXACT)){
if (!(avctx->flags & CODEC_FLAG_BITEXACT)) {
put_marker(p, COM);
flush_put_bits(p);
ptr = put_bits_ptr(p);
......@@ -190,9 +189,9 @@ static void jpeg_put_comments(MpegEncContext *s)
AV_WB16(ptr, size);
}
if( s->avctx->pix_fmt == AV_PIX_FMT_YUV420P
||s->avctx->pix_fmt == AV_PIX_FMT_YUV422P
||s->avctx->pix_fmt == AV_PIX_FMT_YUV444P){
if( avctx->pix_fmt == AV_PIX_FMT_YUV420P
||avctx->pix_fmt == AV_PIX_FMT_YUV422P
||avctx->pix_fmt == AV_PIX_FMT_YUV444P){
put_marker(p, COM);
flush_put_bits(p);
ptr = put_bits_ptr(p);
......@@ -213,7 +212,7 @@ void ff_mjpeg_encode_picture_header(MpegEncContext *s)
// hack for AMV mjpeg format
if(s->avctx->codec_id == AV_CODEC_ID_AMV) goto end;
jpeg_put_comments(s);
jpeg_put_comments(s->avctx, &s->pb);
jpeg_table_header(s);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment