View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000060 | JVT JM H.264/AVC reference software | encoder | public | 2007-06-20 14:40 | 2010-04-20 16:55 |
Reporter | Karsten Suehring | Assigned To | |||
Priority | none | Severity | minor | Reproducibility | sometimes |
Status | confirmed | Resolution | open | ||
Platform | any | ||||
Product Version | JM 16.1 | ||||
Summary | 0000060: Tips for low memory situations | ||||
Description | Alexis [Edited by Karsten, updated Apr 2010]: For large image formats the JM encoder might require a substantial amount of memory. If your system has more than 2 GB RAM make sure to use a 64-bit OS to allow programs to grow beyond the 2 GB / process memory limit on 32-bit systems. UPDATE: It seems that the actual memory limit on 32-bit Windows is 1GB. If you are trying to encode interlace content in particular the current JM would try to allocate memory for both frame and field representations which could be quite enormous. Things can get worse if you use too many reference frames. However, there are many ways to reduce the memory requirements of the encoder: a) When encoding 8-bit content, set #define IMGTYPE to 0. This will allow the encoder to use byte instead of short for pixel data. b) reduce the number of references you may be using c) increase the virtual memory size on your system. d) avoid using ChromaMCBuffer. Although this can speed up encoding, it is done at a cost in memory. e) possibly avoid using RDPictureDecision encoding since that also requires more memory (this time for quality improvements) Obviously one could make a lot of improvements in the JM in terms of memory handling/allocation. It really depends on our time though when such could be done [Note: This has been improved since the original report]. Furthermore, it is suggested to also set the following #defines to 0: #define ENABLE_FIELD_CTX 0 //!< Enables field context types for CABAC. #define ENABLE_HIGH444_CTX 0 //!< Enables High 4:4:4 context types for CABAC. The above, will not only save memory, but will also speed up the code considerably if CABAC is used for entropy coding. However, field coding (picture level and macroblock level) and 444 will not be supported. | ||||
Tags | No tags attached. | ||||
Date Modified | Username | Field | Change |
---|---|---|---|
2007-06-20 14:40 | Karsten Suehring | New Issue | |
2007-06-20 14:40 | Karsten Suehring | Status | new => confirmed |
2009-09-15 18:32 | Karsten Suehring | Product Version | JM 12.2 => JM 16.1 |
2009-09-15 18:32 | Karsten Suehring | Description Updated | |
2010-04-20 16:55 | Karsten Suehring | Description Updated |