I have a few queries regarding the hardware accelerated MPEG2 encoder that comes with the community edition of the Media Server Studio.
1. Does the SDK support hardware accelerated MPEG2 encoding with High profile?
2. Is it possible to encode video with resolutions greater than 1920x1080 (and with frame rates greater than 30)? I observed that the encoder returns "Insufficient IO buffers" when I tried to encode UHD-60fps content with the hardware accelerated MPEG2 encoder. I did not see the same issue with the software version of the encoder.
3. I see that the "closed_gop" flag in the "group_of_pictures_header" of the MPEG2 encoder bitstream is always set to 0 irrespective of whether we configure the encoder GOP structure to be closed or open (using the GopOptFlag). But, I see that the encoded bitstream with GopOptFlag set to MFX_GOP_CLOSED has an IPBB.. closed structure, whereas the stream with GopOptFlag set to 0 has an IBB..P open structure. Should I expect the "closed_gop" flag to be set to 1 if we configure the encoder with GopOptFlag=MFX_GOP_CLOSED?
4. The "MFXVideoENCODE_Query" call does not correct the incorrect "out" structure, if the codec is set to MPEG2. Although, it modifies the incorrect parameters internally (which we can observe using MFXVideoENCODE_GetVideoParam). I have observed that the SDK correct parameters like profile/level in the output structure with AVC/H.264 encoder. So, should I expect the MFXVideoENCODE_Query API to behave this way for the MPEG2 encoder as well?
- SDK version : MSS R6 (Linux – Community edition)
- OS : Centos 7.1
- Kernel version : 3.10.0-22.214.171.124163.MSSr4.el7.centos.x86_64
- Processor : Intel(R) Core(TM) i7-4770R
The Linux SDK release notes are a great reference for codec coverage, maximum resolutions, etc.
1: MPEG2 does not support high profile, only simple and main. (If high profile is selected output is encoded in main profile w/o feedback, as you've described)
2. Max resolution supported for MPEG2 is 1920x1088. However, frame rate can go much higher than 30 FPS.
3. With MFX_GOP_CLOSED I see closed_gop=1 in Windows, closed_gop=0 in Linux. Filing as a potential bug.
4. I can replicate the behavior you've seen for MPEG-2 query. Following up with the dev team.
Thanks for this report.
Thanks for resolving our queries in such a sort time. We will look forward to hear more details from your side regarding queries #3 and #4, when they get resolved.