Bollywood film Mangal Pandey: The Rising, about the 1857 mutiny in India, has broken box office records for a Hindi film in India, reports have said.
Aamir Khan (centre) plays soldier Mangal Pandey in The Rising
The film, about an Indian rebellion against the colonial British, took £2.8m ($5m) in its first week.
The amount is "the highest ever on record" in India, Screen Daily said.
The film, one of the most expensive Hindi movies made, took about £120,000 in its first weekend in the UK.
The film is expected to gross £6.7m ($12m) in India, where it opened simultaneously on 400 screens.
It was filmed simultaneously in Hindi and English.
The movie depicts a revolt by Hindu and Muslim soldiers against the British East India Company over fears that gun cartridges were greased with animal fat forbidden by their religions.
Bollywood actress Rani Mukherjee plays a prostitute in the film
Directed by Ketan Mehta, the film centres around soldier Mangal Pandey, played by Aamir Khan, who was executed for his role in the uprising.
Some historians have disputed the film's depiction of events.
UK historian Saul David said scenes showing British East India Company rulers massacring civilians to make way for opium production and flouting a slavery ban were "nonsense".
Indian historian Rudrangshu Mukherjee expressed reservations about Pandey's role in the 1857 rebellion.
The film's makers have defended it against criticism.
Director Ketan Mehta said the film took two years to complete because a "lot of research went into the production".
Conservatives in the UK also queried the government-backed UK Film Council's decision to invest £150,000 in the film.
The UK Film Council said it supported projects on the basis of "quality, not politics".