mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
avcodec/mjpegenc: Add wrapper for ff_mjpeg_encode_picture_header()
This factors the translation from MpegEncContext out and will enable further optimizations in the next commits. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
parent
be736e4237
commit
410af1caa3
@ -74,6 +74,19 @@ static av_cold void init_uni_ac_vlc(const uint8_t huff_size_ac[256],
|
||||
}
|
||||
}
|
||||
|
||||
static void mjpeg_encode_picture_header(MpegEncContext *s)
|
||||
{
|
||||
ff_mjpeg_encode_picture_header(s->avctx, &s->pb, &s->intra_scantable,
|
||||
s->pred, s->intra_matrix, s->chroma_intra_matrix);
|
||||
}
|
||||
|
||||
void ff_mjpeg_amv_encode_picture_header(MpegEncContext *s)
|
||||
{
|
||||
/* s->huffman == HUFFMAN_TABLE_OPTIMAL can only be true for MJPEG. */
|
||||
if (!CONFIG_MJPEG_ENCODER || s->huffman != HUFFMAN_TABLE_OPTIMAL)
|
||||
mjpeg_encode_picture_header(s);
|
||||
}
|
||||
|
||||
#if CONFIG_MJPEG_ENCODER
|
||||
/**
|
||||
* Encodes and outputs the entire frame in the JPEG format.
|
||||
@ -213,8 +226,7 @@ int ff_mjpeg_encode_stuffing(MpegEncContext *s)
|
||||
s->intra_chroma_ac_vlc_length =
|
||||
s->intra_chroma_ac_vlc_last_length = m->uni_chroma_ac_vlc_len;
|
||||
|
||||
ff_mjpeg_encode_picture_header(s->avctx, &s->pb, &s->intra_scantable,
|
||||
s->pred, s->intra_matrix, s->chroma_intra_matrix);
|
||||
mjpeg_encode_picture_header(s);
|
||||
mjpeg_encode_picture_frame(s);
|
||||
}
|
||||
#endif
|
||||
|
@ -105,6 +105,7 @@ static inline void put_marker(PutBitContext *p, enum JpegMarker code)
|
||||
}
|
||||
|
||||
int ff_mjpeg_encode_init(MpegEncContext *s);
|
||||
void ff_mjpeg_amv_encode_picture_header(MpegEncContext *s);
|
||||
void ff_mjpeg_encode_mb(MpegEncContext *s, int16_t block[12][64]);
|
||||
int ff_mjpeg_encode_stuffing(MpegEncContext *s);
|
||||
|
||||
|
@ -3702,10 +3702,7 @@ static int encode_picture(MpegEncContext *s, int picture_number)
|
||||
switch(s->out_format) {
|
||||
#if CONFIG_MJPEG_ENCODER || CONFIG_AMV_ENCODER
|
||||
case FMT_MJPEG:
|
||||
/* s->huffman == HUFFMAN_TABLE_OPTIMAL can only be true for MJPEG. */
|
||||
if (!CONFIG_MJPEG_ENCODER || s->huffman != HUFFMAN_TABLE_OPTIMAL)
|
||||
ff_mjpeg_encode_picture_header(s->avctx, &s->pb, &s->intra_scantable,
|
||||
s->pred, s->intra_matrix, s->chroma_intra_matrix);
|
||||
ff_mjpeg_amv_encode_picture_header(s);
|
||||
break;
|
||||
#endif
|
||||
case FMT_SPEEDHQ:
|
||||
|
Loading…
Reference in New Issue
Block a user