Recovery teams have found two big parts of AirAsia Flight 8501, which crashed into the sea last weekend with 162 people on board, Indonesia's top search official said.

Bambang Soelistyo, head of the search and rescue agency, told reporters on Saturday that the huge relief operation came across the objects in the Java Sea off the island of Borneo late on Friday night.

"With the discovery of an oil spill and two big parts of the aircraft, I can assure you these are the parts of the AirAsia plane we have been looking for," Soelistyo told reporters in the capital Jakarta.

He said the larger of the objects was around 10 metres by five metres.

"As I speak we are lowering an ROV [remotely operated underwater vehicle] underwater to get an actual picture of the objects detected on the sea floor. All are at the depth of 30 metres," Soelistyo said.

He added, however, that a strong current was making it difficult to operate the ROV.

Rough weather in recent days has hampered the search for bodies and the fuselage of the Airbus A320-200, which disappeared from radar and crashed into the sea during a storm.

So far 30 bodies have been recovered in the search, which had been narrowed on Friday to an area of 1,575 square nautical miles - a tenth of the size of Thursday's search - with 29 ships and 17 aircraft engaged in the operation.

Finding the plane's black boxes is crucial to determining the cause of the crash.

'Unauthorised route'

Meanwhile, Indonesia's Transport Ministry said Flight 8501 was flying on an unauthorised schedule when it crashed, adding it had now frozen the airline's permission to fly the route.

"It violated the route permit given, the schedule given, that's the problem," Djoko Murjatmodjo, the director general of air transport, told AFP news agency on Saturday.

"AirAsia's permit for the route has been frozen because it violated the route permit given." He said the permit would remain frozen until investigations were completed.