[FFmpeg-devel] [PATCH] mjpegdec: Support 4x1, 2x1, 2x1 notation for 4:2:2 chroma subsampling

Mark Thompson sw at jkqxz.net
Tue Jun 19 02:34:14 EEST 2018


On 18/06/18 21:19, Derek Buitenhuis wrote:
> Just one of the many, many ways to store this stuff in the header.
> 
> Signed-off-by: Derek Buitenhuis <derek.buitenhuis at gmail.com>
> ---
> Related reading, but not exactly the same type:
>     * https://github.com/libjpeg-turbo/libjpeg-turbo/issues/92
>     * https://github.com/libjpeg-turbo/libjpeg-turbo/commit/8ce2c9119a995ef6280f8bba375aac7effb9b571
> ---
>  libavcodec/mjpegdec.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c
> index d1dca84d36..e5888ed548 100644
> --- a/libavcodec/mjpegdec.c
> +++ b/libavcodec/mjpegdec.c
> @@ -568,6 +568,7 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s)
>          }
>          break;
>      case 0x21111100:
> +    case 0x41212100:
>          if (s->component_id[0] == 'Q' && s->component_id[1] == 'F' && s->component_id[2] == 'A') {
>              if (s->bits <= 8) s->avctx->pix_fmt = AV_PIX_FMT_GBRP;
>              else
> 

LGTM.

Thanks,

- Mark


(Yay for another case where the Intel VAAPI driver falls over:

$ ./ffmpeg_g -y -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 -i 210809515_640.jpg out.png
ffmpeg version N-91327-gfa79910871 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 7 (Debian 7.3.0-12)
  configuration: --enable-debug --disable-optimizations --assert-level=2 --samples=/home/mrt/video/ffmpeg/fate/ --enable-vaapi --enable-vdpau --enable-opencl --enable-libdrm --enable-amf --enable-libmfx --enable-gpl --enable-libx264 --enable-libx265 --enable-libvpx --enable-libaom
  libavutil      56. 18.102 / 56. 18.102
  libavcodec     58. 20.102 / 58. 20.102
  libavformat    58. 17.100 / 58. 17.100
  libavdevice    58.  4.101 / 58.  4.101
  libavfilter     7. 25.100 /  7. 25.100
  libswscale      5.  2.100 /  5.  2.100
  libswresample   3.  2.100 /  3.  2.100
  libpostproc    55.  2.100 / 55.  2.100
Input #0, image2, from '210809515_640.jpg':
  Duration: 00:00:00.04, start: 0.000000, bitrate: 12128 kb/s
    Stream #0:0: Video: mjpeg, yuvj422p(pc, bt470bg/unknown/unknown), 640x480 [SAR 75:75 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (mjpeg (native) -> png (native))
Press [q] to stop, [?] for help
ffmpeg_g: gen8_mfd.c:2470: gen8_mfd_jpeg_pic_state: Assertion `0' failed.
Aborted

...  I guess that's still marginally better than the similar <https://github.com/intel/intel-vaapi-driver/issues/363>, where it indicates success and returns garbage.)


More information about the ffmpeg-devel mailing list