Why does the decoder need so many capture buffers?

Hi,

I test the 00_video_decode with the cmd:
./video_decode H264 --disable-rendering -o out.yuv test.264
test.264 (9.7 MB)

and the min_dec_capture_buffers is 18 after
ret = dec->getMinimumCapturePlaneBuffers(min_dec_capture_buffers);
so I wonder why does the decoder need so many capture buffers? How is it calculated? Is it based on B frame number or DPB?
I want to reduce memory,can you give me some advice?
Thanks

Hi,
It should be specific to the h264 stream. Could you check what buffer number is for sample_outdoor_car_1080p_10fps.h264?

Hi DaneLLL,

The buffer number is 9 for sample_outdoor_car_1080p_10fps.h264.

Hi,
Please check the stream though JM decoder: Karsten Suehring

test.h264 has the information in SPS:

@432   SPS: log2_max_frame_num_minus4                          0001011 ( 10) 
@439   SPS: pic_order_cnt_type                                       1 (  0) 
@440   SPS: log2_max_pic_order_cnt_lsb_minus4                    00101 (  4) 
@445   SPS: num_ref_frames                                         010 (  1) 

SPS in sample_outdoor_car_1080p_10fps.h264 is

@32    SPS: log2_max_frame_num_minus4                                1 (  0) 
@33    SPS: pic_order_cnt_type                                       1 (  0) 
@34    SPS: log2_max_pic_order_cnt_lsb_minus4                      011 (  2) 
@37    SPS: num_ref_frames                                       00101 (  4)

The buffer number is decided by the codec data. It is specific to the stream.

Hi DaneLLL,

Thank you.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.