-
- Downloads
v4l2_codec2 encoder: Store C2 linear buffer inside bitstream.
Currently an FD is stored inside the BitstreamBuffer object. This CL moves the C2 linear block buffer directly inside the BitstreamBuffer. This makes management of output buffers in the encoder simpler as we don't need to manually keep output buffers alive. This is also required by subsequent CLs that introduce functionality to prepend H.264 SPS and PPS NAL units to IDR frames in the video stream. Since both the decoder and encoder make use of the BitstreamBuffer class and both have different requirements some changes needed to be made. The decoder uses a 'C2ConstLinearBlock' as bitstream buffers are used as input and do not need to be modified. The encoder uses a 'std::shared_ptr<C2LinearBlock>' as the encoded output stream will be written to a bitstream buffer object. To accommodate these requirements the BitstreamBuffer object is split up into a 'BitstreamBuffer' and 'ConstBitstreamBuffer' object. BUG: 161495502 Test: arc.VideoEncodeAccel.h264_192p_i420_vm Change-Id: Icfd0a84ef09cf283510763c51f92fe83bc7166c2
Showing
- components/V4L2DecodeComponent.cpp 2 additions, 3 deletionscomponents/V4L2DecodeComponent.cpp
- components/V4L2Decoder.cpp 2 additions, 2 deletionscomponents/V4L2Decoder.cpp
- components/V4L2EncodeComponent.cpp 4 additions, 12 deletionscomponents/V4L2EncodeComponent.cpp
- components/V4L2Encoder.cpp 1 addition, 1 deletioncomponents/V4L2Encoder.cpp
- components/include/v4l2_codec2/components/BitstreamBuffer.h 19 additions, 7 deletionscomponents/include/v4l2_codec2/components/BitstreamBuffer.h
- components/include/v4l2_codec2/components/V4L2Decoder.h 3 additions, 3 deletionscomponents/include/v4l2_codec2/components/V4L2Decoder.h
- components/include/v4l2_codec2/components/V4L2EncodeComponent.h 0 additions, 3 deletions...ents/include/v4l2_codec2/components/V4L2EncodeComponent.h
- components/include/v4l2_codec2/components/VideoDecoder.h 1 addition, 1 deletioncomponents/include/v4l2_codec2/components/VideoDecoder.h
Loading
Please register or sign in to comment