Custom Query (1442 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (13 - 15 of 1442)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Ticket Resolution Summary Owner Reporter
#16 fixed Return value of encoder and decoder mwi
Description

The encoder and decoder binaries should return the value "0" on success and different values in the case of errors.

In addition the encoder return value (0 or 1 on success) currently depends on #define QC_CONFIG, the decoder return value does not.

A patch is provided with this ticket.

#17 fixed MS VS2010 Solution ksuehring tn
Description

Could you add a visual studio 2010 solution and projects to TMuC?

#18 fixed Minor memory leak in both encoder and decoder in TMuC 0.5 fbossen li@…
Description

When QC_MDDT is defined, the following variables allocated in source\Lib\TLibCommon\TComRom.cpp are not freed in the decoder. Some of them are not freed in the encoder.

UInt *scanOrder4x4[9]; UInt *scanOrder4x4X[9]; UInt *scanOrder4x4Y[9]; UInt *scanOrder8x8[9]; UInt *scanOrder8x8X[9]; UInt *scanOrder8x8Y[9]; UInt *scanStats4x4[9]; UInt *scanStats8x8[9];

UInt *scanOrder16x16[NUM_SCANS_16x16]; UInt *scanOrder16x16X[NUM_SCANS_16x16]; UInt *scanOrder16x16Y[NUM_SCANS_16x16]; UInt *scanStats16x16[NUM_SCANS_16x16];

UInt *scanOrder32x32[NUM_SCANS_32x32]; UInt *scanOrder32x32X[NUM_SCANS_32x32]; UInt *scanOrder32x32Y[NUM_SCANS_32x32]; UInt *scanStats32x32[NUM_SCANS_32x32];

UInt *scanOrder64x64[NUM_SCANS_64x64]; UInt *scanOrder64x64X[NUM_SCANS_64x64]; UInt *scanOrder64x64Y[NUM_SCANS_64x64]; UInt *scanStats64x64[NUM_SCANS_64x64];

In TMuC 0.5 encoder, some of these variables are released in Void TAppEncTop::encode(). I think we'd better release them in Void destroyROM() (TComRom.cpp). Otherwise, we have to keep duplicate code in both encoder and decoder. To fix this problem, maybe we can put the following code at the end of Void destroyROM() and remove the related code in Void TAppEncTop::encode().

#if QC_MDDT ADAPTIVE_SCAN

int ipredmode; for(ipredmode=0; ipredmode<9; ipredmode++) {

delete scanOrder4x4[ipredmode]; delete scanOrder4x4X[ipredmode]; delete scanOrder4x4Y[ipredmode]; delete scanOrder8x8[ipredmode]; delete scanOrder8x8X[ipredmode]; delete scanOrder8x8Y[ipredmode]; delete scanStats4x4[ipredmode]; delete scanStats8x8[ipredmode];

}

16x16 for (int z=0; z < NUM_SCANS_16x16; z++) {

delete scanOrder16x16[z]; delete scanOrder16x16X[z]; delete scanOrder16x16Y[z]; delete scanStats16x16[z];

} 32x32 for (int z=0; z < NUM_SCANS_32x32; z++) {

delete scanOrder32x32[z]; delete scanOrder32x32X[z]; delete scanOrder32x32Y[z]; delete scanStats32x32[z];

} 64x64 for (int z=0; z < NUM_SCANS_64x64; z++) {

delete scanOrder64x64[z]; delete scanOrder64x64X[z]; delete scanOrder64x64Y[z]; delete scanStats64x64[z];

}

#endif

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Note: See TracQuery for help on using queries.