Commit ff0eb2bc authored by Mark Thompson's avatar Mark Thompson

vaapi_encode_mjpeg: Use CBS to store parameters and write headers

Also adds greyscale, 4:2:2, 4:4:4 and RGB support.
parent 525de200
...@@ -2974,7 +2974,7 @@ mjpeg_cuvid_decoder_deps="cuvid" ...@@ -2974,7 +2974,7 @@ mjpeg_cuvid_decoder_deps="cuvid"
mjpeg_qsv_encoder_deps="libmfx" mjpeg_qsv_encoder_deps="libmfx"
mjpeg_qsv_encoder_select="qsvenc" mjpeg_qsv_encoder_select="qsvenc"
mjpeg_vaapi_encoder_deps="VAEncPictureParameterBufferJPEG" mjpeg_vaapi_encoder_deps="VAEncPictureParameterBufferJPEG"
mjpeg_vaapi_encoder_select="vaapi_encode jpegtables" mjpeg_vaapi_encoder_select="cbs_jpeg jpegtables vaapi_encode"
mpeg1_cuvid_decoder_deps="cuvid" mpeg1_cuvid_decoder_deps="cuvid"
mpeg1_v4l2m2m_decoder_deps="v4l2_m2m mpeg1_v4l2_m2m" mpeg1_v4l2m2m_decoder_deps="v4l2_m2m mpeg1_v4l2_m2m"
mpeg2_crystalhd_decoder_select="crystalhd" mpeg2_crystalhd_decoder_select="crystalhd"
......
...@@ -2662,8 +2662,21 @@ Include access unit delimiters in the stream (not included by default). ...@@ -2662,8 +2662,21 @@ Include access unit delimiters in the stream (not included by default).
@end table @end table
@item mjpeg_vaapi @item mjpeg_vaapi
Always encodes using the standard quantisation and huffman tables - Only baseline DCT encoding is supported. The encoder always uses the standard
@option{global_quality} scales the standard quantisation table (range 1-100). quantisation and huffman tables - @option{global_quality} scales the standard
quantisation table (range 1-100).
For YUV, 4:2:0, 4:2:2 and 4:4:4 subsampling modes are supported. RGB is also
supported, and will create an RGB JPEG.
@table @option
@item jfif
Include JFIF header in each frame (not included by default).
@item huffman
Include standard huffman tables (on by default). Turning this off will save
a few hundred bytes in each output frame, but may lose compatibility with some
JPEG decoders which don't fully handle MJPEG.
@end table
@item mpeg2_vaapi @item mpeg2_vaapi
@option{profile} and @option{level} set the value of @emph{profile_and_level_indication}. @option{profile} and @option{level} set the value of @emph{profile_and_level_indication}.
......
This diff is collapsed.
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